@@ -8,39 +8,84 @@ permissions:
88jobs :
99 formatting :
1010 name : Formatting
11- runs-on : ubuntu-latest
11+ runs-on : ${{ matrix.architecture }}
1212 strategy :
1313 matrix :
14- language : [rust, shell]
14+ architecture : [ubuntu-24.04, ubuntu-24.04-arm]
15+ language : [rust, shell, python]
1516 steps :
1617 - name : Checkout code.
1718 uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
19+ - name : Setup Nix.
20+ uses : cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
1821 - name : Check formatting.
19- run : make check-${{ matrix.language }}-formatting
22+ run : nix develop -c make check-${{ matrix.language }}-formatting
23+
2024 linting :
2125 name : Linting
22- runs-on : ubuntu-latest
26+ runs-on : ${{ matrix.architecture }}
2327 strategy :
2428 matrix :
25- language : [rust]
29+ architecture : [ubuntu-24.04, ubuntu-24.04-arm]
30+ language : [rust, shell]
2631 steps :
2732 - name : Checkout code.
2833 uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
34+ - name : Setup Nix.
35+ uses : cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
2936 - name : Check linting.
30- run : make check-${{ matrix.language }}-linting
37+ run : nix develop -c make check-${{ matrix.language }}-linting
38+
39+ scripts-permissions :
40+ name : Scripts Permissions
41+ runs-on : ${{ matrix.architecture }}
42+ strategy :
43+ matrix :
44+ architecture : [ubuntu-24.04, ubuntu-24.04-arm]
45+ steps :
46+ - name : Checkout code.
47+ uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
48+ - name : Check scripts permissions.
49+ run : make check-scripts-permissions
50+
3151 compile :
3252 name : Compile
33- runs-on : ubuntu-latest
53+ runs-on : ${{ matrix.architecture }}
54+ strategy :
55+ matrix :
56+ architecture : [ubuntu-24.04, ubuntu-24.04-arm]
3457 steps :
3558 - name : Checkout code.
3659 uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
60+ - name : Setup Nix.
61+ uses : cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
3762 - name : Compile.
38- run : make compile
63+ run : nix develop -c make compile
64+
3965 unit-test :
4066 name : Unit Test
41- runs-on : ubuntu-latest
67+ runs-on : ${{ matrix.architecture }}
68+ strategy :
69+ matrix :
70+ architecture : [ubuntu-24.04, ubuntu-24.04-arm]
4271 steps :
4372 - name : Checkout code.
4473 uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
74+ - name : Setup Nix.
75+ uses : cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
4576 - name : Unit test.
46- run : make unit-test
77+ run : nix develop -c make unit-test
78+
79+ end-to-end-test :
80+ name : End to End Test
81+ runs-on : ${{ matrix.architecture }}
82+ strategy :
83+ matrix :
84+ architecture : [ubuntu-24.04, ubuntu-24.04-arm]
85+ steps :
86+ - name : Checkout code.
87+ uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
88+ - name : Setup Nix.
89+ uses : cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
90+ - name : End to End test.
91+ run : nix develop -c make end-to-end-test
0 commit comments