Skip to content

Commit

Permalink
Add GitHub Actions Workflow (wpilibsuite#603)
Browse files Browse the repository at this point in the history
* Add GitHub Actions Workflow

Remove Azure & Travis CI

Update README badge

Upload test results report

---------

Co-authored-by: Austin Shalit <austinshalit@gmail.com>
  • Loading branch information
sciencewhiz and AustinShalit authored Jun 22, 2024
1 parent 35280ce commit 95b9c92
Show file tree
Hide file tree
Showing 5 changed files with 121 additions and 139 deletions.
119 changes: 119 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
name: CI

on: [pull_request, push]

jobs:
test-docker:
strategy:
fail-fast: false
matrix:
include:
- container: wpilib/roborio-cross-ubuntu:2024-22.04
artifact-name: Linux
name: "Test - ${{ matrix.artifact-name }}"
runs-on: ubuntu-latest
container: ${{ matrix.container }}
env:
DISPLAY: ':10'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: gradle/actions/wrapper-validation@v3
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
- name: Install and start xvfb
run: |
sudo apt-get update
sudo apt-get install -y xvfb
Xvfb $DISPLAY &
- name: Check
run: ./gradlew check -PbuildServer
- name: ${{ matrix.artifact-name }} Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
files: |
build/test-results/test/TEST*.xml
- name: ${{ matrix.artifact-name }} Upload Test Results
uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ matrix.artifact-name }}TestReport
path: |
build/reports/
test-host:
strategy:
fail-fast: false
matrix:
include:
- os: windows-2022
artifact-name: Win64
architecture: x64
- os: macos-12
artifact-name: macOS
architecture: x64
name: "Test - ${{ matrix.artifact-name }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: gradle/actions/wrapper-validation@v3
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
architecture: ${{ matrix.architecture }}
- name: Check
run: ./gradlew check -PbuildServer
- name: ${{ matrix.artifact-name }} Upload Test Results
uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ matrix.artifact-name }}TestReport
path: |
build/reports/
publish:
name: Publish
needs: [test-docker, test-host]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
- name: Publish
if: |
!startsWith(github.ref, 'refs/tags/v') &&
github.ref != 'refs/heads/master'
run: ./gradlew publish -PbuildServer
- name: Publish (Master)
if: |
github.repository_owner == 'wpilibsuite' &&
github.ref == 'refs/heads/master'
run: ./gradlew publish -PbuildServer
env:
RUN_AZURE_ARTIFACTORY_RELEASE: 'TRUE'
ARTIFACTORY_PUBLISH_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PUBLISH_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
- name: Publish (Release)
if: |
github.repository_owner == 'wpilibsuite' &&
startsWith(github.ref, 'refs/tags/v')
run: ./gradlew publish -PbuildServer -PreleaseMode
env:
RUN_AZURE_ARTIFACTORY_RELEASE: 'TRUE'
ARTIFACTORY_PUBLISH_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PUBLISH_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
- uses: actions/upload-artifact@v4
with:
name: RobotBuilder
path: build/libs/RobotBuilder-all.jar
10 changes: 0 additions & 10 deletions .github/workflows/gradle-wrapper-validation.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# RobotBuilder Project
[![Build Status](https://dev.azure.com/wpilib/DesktopTools/_apis/build/status/wpilibsuite.RobotBuilder)](https://dev.azure.com/wpilib/DesktopTools/_build/latest?definitionId=13)
[![CI](https://github.com/wpilibsuite/RobotBuilder/actions/workflows/ci.yml/badge.svg)](https://github.com/wpilibsuite/RobotBuilder/actions/workflows/ci.yml)

Welcome to the WPILib project. This repository contains the RobotBuilder project. This program can be used to automatically generate Java and C++ FRC programs using the [New Command Framework](https://docs.wpilib.org/en/stable/docs/software/commandbased/index.html).

Expand Down
127 changes: 0 additions & 127 deletions azure-pipelines.yml

This file was deleted.

2 changes: 1 addition & 1 deletion src/test/java/robotbuilder/exporters/CppExportTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public void setUp() {
public void tearDown() {
System.gc();
File project = new File("build/test-resources/" + PROJECT_DIRECTORY);
TestUtils.delete(project);
//TestUtils.delete(project);
}

@Test
Expand Down

0 comments on commit 95b9c92

Please sign in to comment.