|
11 | 11 | env: |
12 | 12 | SUITE_REPO: "NilFoundation/crypto3" |
13 | 13 | LIB_NAME: "blueprint" |
14 | | - CACHE_NAME: "checkout-job-cache" |
| 14 | + CACHE_NAME: "blueprint-job-cache" |
15 | 15 |
|
16 | 16 | jobs: |
17 | | - checkout: |
18 | | - runs-on: [self-hosted, tests-runner] |
19 | | - steps: |
20 | | - - name: Cleanup # TODO - move to scripts on runner |
21 | | - run: | |
22 | | - rm -rf ./* || true |
23 | | - rm -rf ./.??* || true |
24 | | -
|
25 | | - - name: Checkout suite |
26 | | - uses: actions/checkout@v3 |
27 | | - with: |
28 | | - repository: ${{ env.SUITE_REPO }} |
29 | | - submodules: recursive |
30 | | - |
31 | | - - name: Checkout source code |
32 | | - uses: actions/checkout@v3 |
33 | | - with: |
34 | | - path: ./libs/${{ env.LIB_NAME }} |
35 | | - submodules: recursive |
36 | | - |
37 | | - - name: Cmake and build |
38 | | - env: |
39 | | - CMAKE_ARGS: " |
40 | | - -DCMAKE_BUILD_TYPE=Debug |
41 | | - -DBUILD_SHARED_LIBS=FALSE |
42 | | - -DBUILD_TESTS=TRUE |
43 | | - " |
44 | | - run: | |
45 | | - mkdir build |
46 | | - cd build |
47 | | - cmake ${{ env.CMAKE_ARGS }} .. |
48 | | -
|
49 | | - - name: Archive build results |
50 | | - run: | |
51 | | - touch ${{ env.CACHE_NAME }}.tar.gz |
52 | | - tar -czf ${{ env.CACHE_NAME }}.tar.gz --exclude=${{ env.CACHE_NAME }}.tar.gz . |
53 | | -
|
54 | | - - name: Cache archived job output |
55 | | - uses: actions/upload-artifact@v3 |
56 | | - with: |
57 | | - name: ${{ env.CACHE_NAME }} |
58 | | - path: ${{ env.CACHE_NAME }}.tar.gz |
59 | | - retention-days: 1 |
60 | | - |
61 | | - |
62 | 17 | run_tests: |
63 | | - runs-on: [self-hosted] |
64 | | - needs: [checkout] |
| 18 | + runs-on: ubuntu-latest |
65 | 19 | strategy: |
66 | 20 | fail-fast: false |
67 | 21 | matrix: |
@@ -101,29 +55,52 @@ jobs: |
101 | 55 | blueprint_algebra_fields_plonk_sqrt_test, |
102 | 56 | ] # Tests to execute |
103 | 57 | steps: |
104 | | - - name: Cleanup # TODO - move to scripts on runner |
105 | | - run: | |
106 | | - rm -rf ./* || true |
107 | | - rm -rf ./.??* || true |
| 58 | + - uses: cachix/install-nix-action@v23 |
| 59 | + - uses: DeterminateSystems/magic-nix-cache-action@main |
| 60 | + - uses: DeterminateSystems/nix-installer-action@main |
108 | 61 |
|
109 | | - - name: Upload checkout job cache |
110 | | - uses: actions/download-artifact@v3 |
| 62 | + - name: Checkout suite |
| 63 | + uses: actions/checkout@v3 |
111 | 64 | with: |
112 | | - name: ${{ env.CACHE_NAME }} |
| 65 | + repository: ${{ env.SUITE_REPO }} |
| 66 | + submodules: recursive |
| 67 | + fetch-depth: 0 |
113 | 68 |
|
114 | | - - name: Extract artifacts |
| 69 | + - name: Checkout source code |
| 70 | + uses: actions/checkout@v3 |
| 71 | + with: |
| 72 | + path: ./libs/${{ env.LIB_NAME }} |
| 73 | + submodules: recursive |
| 74 | + fetch-depth: 0 |
| 75 | + |
| 76 | + - name: Configure Nix |
| 77 | + run: | |
| 78 | + mkdir -p ~/.config/nix |
| 79 | + echo "extra-experimental-features = nix-command flakes" > ~/.config/nix/nix.conf |
| 80 | +
|
| 81 | + - name: Cmake and build |
| 82 | + env: |
| 83 | + CMAKE_ARGS: " |
| 84 | + -DCMAKE_CXX_STANDARD=17 |
| 85 | + -DCMAKE_BUILD_TYPE=Debug |
| 86 | + -DBUILD_SHARED_LIBS=TRUE |
| 87 | + -DBUILD_TESTS=TRUE |
| 88 | + -DCMAKE_C_COMPILER=clang |
| 89 | + -DCMAKE_CXX_COMPILER=clang++ |
| 90 | + " |
115 | 91 | run: | |
116 | | - tar -xf ${{ env.CACHE_NAME }}.tar.gz |
117 | | - rm ${{ env.CACHE_NAME }}.tar.gz |
| 92 | + mkdir build |
| 93 | + nix develop ./libs/blueprint -c cmake -B build ${{ env.CMAKE_ARGS }} . |
118 | 94 |
|
119 | 95 | - name: Build |
120 | 96 | working-directory: ./build |
121 | | - run: cmake --build . -t ${{ matrix.target }} |
| 97 | + run: nix develop ../libs/blueprint -c cmake --build . -t ${{ matrix.target }} |
122 | 98 |
|
123 | 99 | - name: Run test |
124 | 100 | working-directory: ./build |
125 | | - run: | |
126 | | - cd libs/${{ env.LIB_NAME }}/test |
127 | | - COLOR='\033[0;33m' |
128 | | - echo -e "${COLOR}${{ matrix.target }}" |
129 | | - ./${{ matrix.target }} |
| 101 | + run: |
| 102 | + nix develop ../libs/blueprint -c bash -c " |
| 103 | + cd libs/${{ env.LIB_NAME }}/test && |
| 104 | + COLOR='\033[0;33m' && |
| 105 | + echo -e "${COLOR}${{ matrix.target }}" && |
| 106 | + ./${{ matrix.target }}" |
0 commit comments