11name : CI
2+
23on :
34 push :
4- branches : [main]
5- tags : ["*"]
5+ branches : [ "master" ]
66 pull_request :
7+ branches : [ "master" ]
8+
9+ env :
10+ GRPC_TEST_SERVER_HOST : " localhost"
11+ GRPC_TEST_SERVER_PORT : 8001
12+
713jobs :
814 test :
915 name : Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
1016 runs-on : ${{ matrix.os }}
11- continue-on-error : ${{ matrix.experimental }}
1217 strategy :
1318 fail-fast : false
1419 matrix :
1520 version :
16- - ' 1.6'
17- - ' 1' # automatically expands to the latest stable 1.x release of Julia
21+ - ' 1.10'
22+ - ' 1.12'
23+ - ' nightly'
1824 os :
1925 - ubuntu-latest
2026 arch :
2127 - x64
22- - x86
23- experimental : [false]
24- include :
25- # allow failures on nightlies
26- - os : ubuntu-latest
27- arch : x64
28- version : nightly
29- experimental : true
30- - os : ubuntu-latest
31- arch : x86
32- version : nightly
33- experimental : true
34- # test macOS and Windows with latest Julia only
35- - os : macOS-latest
36- arch : x64
37- version : 1
38- experimental : true
39- - os : windows-latest
40- arch : x64
41- version : 1
42- experimental : false
43- - os : windows-latest
44- arch : x86
45- version : 1
46- experimental : false
4728 steps :
48- - uses : actions/checkout@v2
49- - name : setup protoc
50- uses : arduino/setup-protoc@v1
51- with :
52- version : ' 3.x'
53- - run : protoc --version
54- - uses : julia-actions/setup-julia@v1
55- with :
56- version : ${{ matrix.version }}
57- arch : ${{ matrix.arch }}
58- - uses : actions/cache@v1
59- env :
60- cache-name : cache-artifacts
61- with :
62- path : ~/.julia/artifacts
63- key : ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
64- restore-keys : |
65- ${{ runner.os }}-test-${{ env.cache-name }}-
66- ${{ runner.os }}-test-
67- ${{ runner.os }}-
68- - uses : julia-actions/julia-buildpkg@v1
69- - uses : julia-actions/julia-runtest@v1
70- - uses : julia-actions/julia-processcoverage@v1
71- - uses : codecov/codecov-action@v1
72- with :
73- file : lcov.info
29+ - uses : actions/checkout@v5
30+ - name : Install uv
31+ uses : astral-sh/setup-uv@v6
32+ - name : Install Python
33+ run : uv python install
34+ working-directory : test/python
35+ - name : Run Python gRPC Test Server
36+ run : uv run grpc_test_server.py test &
37+ working-directory : test/python
38+ - uses : julia-actions/setup-julia@v1
39+ with :
40+ version : ${{ matrix.version }}
41+ arch : ${{ matrix.arch }}
42+ - uses : actions/cache@v4
43+ env :
44+ cache-name : cache-artifacts
45+ with :
46+ path : ~/.julia/artifacts
47+ key : ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
48+ restore-keys : |
49+ ${{ runner.os }}-test-${{ env.cache-name }}-
50+ ${{ runner.os }}-test-
51+ ${{ runner.os }}-
52+ - uses : julia-actions/julia-buildpkg@v1
53+ - uses : julia-actions/julia-runtest@v1
54+ - name : Stop Python gRPC Test Serer
55+ run : killall uv
56+ - uses : julia-actions/julia-processcoverage@v1
57+ - uses : codecov/codecov-action@v5
58+ with :
59+ token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments