@@ -7,85 +7,83 @@ concurrency:
77 cancel-in-progress : true
88
99jobs :
10- build-windows :
10+ build :
1111 strategy :
1212 fail-fast : false
1313 matrix :
1414 include :
15- - { name: "Windows (native)", os: windows-2022, action: "test", config: "--config=ci_windows_x86", }
16- - { name: "Windows (arm)", os: windows-2022, action: "build", config: "--config=windows_arm --config=ci_windows_arm", }
15+ - { name: "Linux System Core", classifier: "linuxsystemcore", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "build" }
16+ - { name: "Linux System Core Debug", classifier: "linuxsystemcoredebug", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "build" }
17+ - { name: "Linux System Core Static", classifier: "linuxsystemcorestatic", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "build" }
18+ - { name: "Linux System Core Static Debug", classifier: "linuxsystemcorestaticdebug", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "build" }
19+ - { name: "Linux x86-64", classifier: "linuxx86-64,headers,sources", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "test" }
20+ - { name: "Linux x86-64 Debug", classifier: "linuxx86-64debug", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "test" }
21+ - { name: "Linux x86-64 Static", classifier: "linuxx86-64static", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "test" }
22+ - { name: "Linux x86-64 Static Debug", classifier: "linuxx86-64staticdebug", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "test" }
1723
18- name : " Build ${{ matrix.name }}"
19- runs-on : ${{ matrix.os }}
20- steps :
21- - uses : actions/checkout@v4
22- with : { fetch-depth: 0 }
23- - uses : actions/setup-java@v4
24- with :
25- distribution : ' temurin'
26- java-version : 21
27- architecture : x64
24+ - { name: "macOS", classifier: "osxuniversal,osxuniversaldebug,headers,sources,osxuniversalstatic,osxuniversalstaticdebug,linuxsystemcore,linuxsystemcoredebug,linuxsystemcorestatic,linuxsystemcorestaticdebug", os: macOS-15, action: "test" }
2825
29- - id : Setup_bazel_remote
30- uses : ./.github/actions/setup-bazel-remote
31- with :
32- username : ${{ secrets.BAZEL_CACHE_USERNAME }}
33- password : ${{ secrets.BAZEL_CACHE_PASSWORD }}
26+ - { name: "Windows x86-64", classifier: "windowsx86-64,windowsx86-64debug,headers,sources", os: windows-2022, action: "test" }
27+ - { name: "Windows x86-64 Static", classifier: "windowsx86-64static,windowsx86-64staticdebug", os: windows-2022, action: "test" }
3428
35- - name : bazel ${{ matrix.action }}
36- run : bazel --output_user_root=C:\\bazelroot ${{ matrix.action }} ... --config=ci ${{ matrix.config }}
37- shell : bash
29+ - { name: "Windows ARM64", classifier: "windowsarm64,windowsarm64debug", os: windows-2022, action: "build" }
30+ - { name: "Windows ARM64 Static", classifier: "windowsarm64static,windowsarm64staticdebug", os: windows-2022, action: "build" }
31+
32+ - { name: "Windows System Core", classifier: "linuxsystemcore,linuxsystemcoredebug", os: windows-2022, action: "build" }
33+ - { name: "Windows System Core Static", classifier: "linuxsystemcorestatic,linuxsystemcorestaticdebug", os: windows-2022, action: "build" }
3834
39- build-mac :
40- name : " Mac "
41- runs-on : macOS-15
35+ name : " ${{ matrix.action == 'test' && 'Test' || 'Build' }} ${{ matrix.name }} "
36+ runs-on : ${{ matrix.os }}
37+ container : ${{ matrix.container }}
4238 steps :
4339 - uses : actions/checkout@v4
4440 with : { fetch-depth: 0 }
4541
46- - uses : actions/setup-java@v4
42+ - if : matrix.os == 'windows-2022' || matrix.os == 'macOS-15'
43+ uses : actions/setup-java@v4
4744 with :
4845 distribution : ' temurin'
4946 java-version : 21
47+ architecture : x64
5048
51- - id : Setup_bazel_remote
52- uses : ./.github/actions/setup-bazel-remote
53- with :
54- username : ${{ secrets.BAZEL_CACHE_USERNAME }}
55- password : ${{ secrets.BAZEL_CACHE_PASSWORD }}
56-
57- - name : bazel test (release)
58- run : bazel test ... --config=ci -c opt --nojava_header_compilation
59- shell : bash
60-
61- build-linux :
62- strategy :
63- fail-fast : false
64- matrix :
65- include :
66- - { name: "Linux", os: ubuntu-24.04, container: "wpilib/systemcore-cross-ubuntu:2027-24.04", action: "test", config: "", }
67- name : " ${{ matrix.name }}"
68- runs-on : ${{ matrix.os }}
69- container : ${{ matrix.container }}
70- steps :
71- - uses : actions/checkout@v4
72- with : { fetch-depth: 0 }
73- - uses : bazelbuild/setup-bazelisk@v3
49+ - if : matrix.os == 'ubuntu-24.04'
50+ uses : bazelbuild/setup-bazelisk@v3
7451
7552 - id : Setup_bazel_remote
7653 uses : ./.github/actions/setup-bazel-remote
7754 with :
7855 username : ${{ secrets.BAZEL_CACHE_USERNAME }}
7956 password : ${{ secrets.BAZEL_CACHE_PASSWORD }}
8057
81- -
uses :
bazel-contrib/[email protected] 58+ - if : matrix.os == 'ubuntu-24.04'
59+ uses :
bazel-contrib/[email protected] 8260 with :
8361 bazelisk-cache : true
8462 repository-cache : true
8563 bazelisk-version : 1.x
8664
87- - name : bazel ${{ matrix.action }} (release)
88- run : bazel ${{ matrix.action }} ... --config=ci -c opt ${{ matrix.config }}
65+ - name : bazel ${{ matrix.action }}
66+ run : |
67+ if [[ "${{ matrix.os }}" == "windows-2022" ]]; then
68+ bazel --output_user_root=C:\\bazelroot ${{ matrix.action }} ... --config=ci -c opt
69+ elif [[ "${{ matrix.os }}" == "macOS-15" ]]; then
70+ bazel ${{ matrix.action }} ... --config=ci -c opt --nojava_header_compilation
71+ else
72+ bazel ${{ matrix.action }} ... --config=ci -c opt
73+ fi
74+ shell : bash
75+ env :
76+ WPI_PUBLISH_CLASSIFIER_FILTER : ${{ matrix.classifier }}
77+
78+ - name : Free Space
79+ if : always()
80+ shell : bash
81+ run : |
82+ if [[ "${{ matrix.os }}" == "windows-2022" ]]; then
83+ fsutil volume diskfree C:
84+ else
85+ df -h /
86+ fi
8987
9088 buildifier :
9189 name : " buildifier"
0 commit comments