diff --git a/.github/workflows/e2e-test2.yml b/.github/workflows/e2e-test2.yml new file mode 100644 index 00000000000..3688b9a8d15 --- /dev/null +++ b/.github/workflows/e2e-test2.yml @@ -0,0 +1,96 @@ +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 + - //apps/dashboard + - //apps/consent + - //apps/pay + - //apps/admin-panel + - //apps/map + - //apps/voucher + - //core/api-keys + - //core/notifications + fail-fast: false # Continue with other targets if one fails + + 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: Setup Buck2 cache + uses: actions/cache@v3 + with: + path: | + ~/.buck2 + buck-out + key: ${{ runner.os }}-buck2-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buck2- + + - name: Build ${{ matrix.target }} + run: nix develop -c buck2 build ${{ matrix.target }} + + 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@v3 + with: + path: | + ~/.buck2 + buck-out + key: ${{ runner.os }}-buck2-${{ github.sha }} + + - 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