|
26 | 26 | otp_version: "26.1" |
27 | 27 |
|
28 | 28 | jobs: |
| 29 | + e2e-build: |
| 30 | + uses: ./.github/workflows/astarte-e2e-build-workflow.yaml |
| 31 | + astarte-build: |
| 32 | + uses: ./.github/workflows/astarte-build-workflow.yaml |
| 33 | + |
29 | 34 | end-to-end-test: |
| 35 | + needs: [e2e-build, astarte-build] |
30 | 36 | name: End-to-end Test |
31 | 37 | runs-on: ubuntu-22.04 |
32 | 38 | steps: |
33 | 39 | - uses: actions/checkout@v2 |
34 | 40 | - name: Initialize docker compose files |
35 | 41 | run: docker run -v $(pwd)/compose:/compose astarte/docker-compose-initializer |
36 | | - - name: Setup Docker Buildx |
37 | | - uses: docker/setup-buildx-action@v3 |
38 | | - - name: Build Astarte containers |
39 | | - uses: docker/bake-action@v6 |
| 42 | + - uses: erlef/setup-beam@v1.15 |
40 | 43 | with: |
41 | | - files: docker-compose.yml |
42 | | - set: | |
43 | | - *.cache-from=type=gha |
44 | | - *.cache-to=type=gha,mode=max |
| 44 | + otp-version: ${{ env.otp_version }} |
| 45 | + elixir-version: ${{ env.elixir_version }} |
45 | 46 | - name: Start all Astarte services |
46 | 47 | run: docker compose up -d |
47 | 48 | - name: Wait for Astarte to come up |
|
71 | 72 | run: | |
72 | 73 | JWT=$(./astartectl utils gen-jwt appengine channels pairing realm-management -k test_private.pem) |
73 | 74 | echo "E2E_JWT=$JWT" >> $GITHUB_ENV |
74 | | - - name: Cache Astarte E2E deps |
75 | | - uses: actions/cache@v4 |
76 | | - with: |
77 | | - path: tools/astarte_e2e/deps |
78 | | - key: e2e-deps-${{ env.otp_version }}-${{ env.elixir_version }}-${{ hashFiles(format('{0}{1}{2}', github.workspace, '/tools/astarte_e2e', '/mix.lock')) }} |
79 | | - - name: Cache Astarte E2E build |
80 | | - uses: actions/cache@v4 |
81 | | - with: |
82 | | - path: tools/astarte_e2e/_build |
83 | | - key: e2e-build-${{ env.otp_version }}-${{ env.elixir_version }} |
84 | | - - uses: erlef/setup-beam@v1.15 |
85 | | - with: |
86 | | - otp-version: ${{ env.otp_version }} |
87 | | - elixir-version: ${{ env.elixir_version }} |
88 | | - - name: Build Astarte E2E |
89 | | - working-directory: tools/astarte_e2e |
90 | | - run: | |
91 | | - mix deps.get |
92 | | - mix compile --warnings-as-errors --force |
| 75 | +
|
93 | 76 | - name: Run Astarte E2E |
94 | 77 | working-directory: tools/astarte_e2e |
95 | 78 | env: |
|
101 | 84 | E2E_CHECK_REPETITIONS: 5 |
102 | 85 | E2E_MAILER_TO_ADDRESS: mail@example.com |
103 | 86 | E2E_MAIL_SUBJECT: "Subj: Astarte Notification" |
104 | | - run: mix run --no-halt |
| 87 | + run: | |
| 88 | + mix deps.get |
| 89 | + mix run --no-halt |
105 | 90 | - name: Check Docker |
106 | 91 | if: ${{ failure() }} |
107 | 92 | run: docker compose logs |
|
0 commit comments