Skip to content

Merge branch 'main' into UpdateSnakeYaml #36

Merge branch 'main' into UpdateSnakeYaml

Merge branch 'main' into UpdateSnakeYaml #36

Workflow file for this run

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-13
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/main'
run: ./gradlew publish -PbuildServer
- name: Publish (Main)
if: |
github.repository_owner == 'wpilibsuite' &&
github.ref == 'refs/heads/main'
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