diff --git a/.github/workflows/e2e-test2.yml b/.github/workflows/e2e-test2.yml new file mode 100644 index 00000000000..5c07ddda4e0 --- /dev/null +++ b/.github/workflows/e2e-test2.yml @@ -0,0 +1,124 @@ +name: "E2e test" + +on: + pull_request: + branches: [main] + +jobs: + build: + name: parallel buck2 builds + runs-on: ubuntu-latest + timeout-minutes: 25 + strategy: + matrix: + target: + - //core/api + - //core/api-ws-server + - //core/api-trigger + - //core/api-exporter + - //apps/dashboard + - //apps/consent + - //apps/pay + - //apps/admin-panel + - //apps/map + - //apps/voucher + - //core/api-keys + - //core/notifications + - //bats/helpers/callback:run + - //bats/helpers/subscriber:run + - //bats/helpers/totp:generate + fail-fast: false + + steps: + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + root-reserve-mb: 15360 + temp-reserve-mb: 12288 + + - uses: actions/checkout@v4 + + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@v14 + + - name: Run the Magic Nix Cache + uses: DeterminateSystems/magic-nix-cache-action@v8 + + - name: Restore Buck2 cache + uses: actions/cache/restore@v3 + with: + path: | + ~/.buck2 + buck-out + .buck-cache + prebuilt + installed + target + key: buck2-cache-${{ github.sha }} + restore-keys: | + buck2-cache-${{ github.ref }} + + - name: Build ${{ matrix.target }} + run: nix develop -c buck2 build ${{ matrix.target }} + + - name: Save Buck2 cache + if: success() + uses: actions/cache/save@v3 + with: + path: | + ~/.buck2 + buck-out + .buck-cache + prebuilt + installed + target + key: buck2-cache-${{ github.sha }} + + tests: + needs: build + name: execute via bats + runs-on: ubuntu-latest + timeout-minutes: 25 + steps: + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + root-reserve-mb: 15360 + temp-reserve-mb: 12288 + + - uses: actions/checkout@v4 + + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@v14 + + - name: Run the Magic Nix Cache + uses: DeterminateSystems/magic-nix-cache-action@v8 + + - name: Restore Buck2 cache + uses: actions/cache/restore@v3 + with: + path: | + ~/.buck2 + buck-out + .buck-cache + prebuilt + installed + target + key: buck2-cache-${{ github.sha }} + restore-keys: | + buck2-cache-${{ github.ref }} + + - name: Run bats tests + run: | + nix develop -c bats --setup-suite-file bats/ci_setup_suite.bash -t bats/core/** + + - name: Rename Tilt log + if: always() + run: mv bats/.e2e-tilt.log bats/e2e-tilt.log + + - name: Upload Tilt log + if: always() + uses: actions/upload-artifact@v4 + with: + name: Tilt log + path: bats/e2e-tilt.log