@@ -12,7 +12,7 @@ permissions:
1212jobs :
1313 desktop-live :
1414 name : desktop-live (${{ matrix.tests }})
15- runs-on : ubuntu-24.04
15+ runs-on : ${{ 'blacksmith-4vcpu- ubuntu-2404' }}
1616 timeout-minutes : 30
1717 strategy :
1818 fail-fast : false
4747 - name : Setup workspace
4848 uses : ./.github/actions/setup
4949 with :
50- provider : github
50+ provider : blacksmith
5151 - name : Provision the database through migrations
5252 working-directory : packages/db
5353 run : bun run db:migrate
@@ -154,92 +154,3 @@ jobs:
154154 path : ${{ runner.temp }}/e2e/
155155 if-no-files-found : ignore
156156 retention-days : 7
157- e2e-production :
158- name : e2e (${{ matrix.name }})
159- runs-on : ubuntu-24.04
160- timeout-minutes : 25
161- strategy :
162- fail-fast : false
163- matrix :
164- include :
165- - group : project-files
166- name : project-files
167- browser : " "
168- shard : " "
169- artifact : project-files
170- task : ci:e2e-project-files
171- services :
172- postgres :
173- image : pgvector/pgvector:pg17
174- env :
175- POSTGRES_USER : postgres
176- POSTGRES_PASSWORD : postgres
177- POSTGRES_DB : sim_test
178- ports :
179- - 5432:5432
180- options : --health-cmd "pg_isready -U postgres -d sim_test" --health-interval 5s --health-timeout 5s --health-retries 10
181- redis :
182- image : ${{ matrix.group == 'project-files' && 'redis:8.2-alpine' || '' }}
183- ports :
184- - 6379:6379
185- options : --health-cmd "redis-cli ping" --health-interval 5s --health-timeout 5s --health-retries 10
186- env :
187- DATABASE_URL : postgresql://postgres:postgres@127.0.0.1:5432/sim_test
188- BETTER_AUTH_SECRET : http-e2e-ci-secret-at-least-32-characters
189- ENCRYPTION_KEY : " 0000000000000000000000000000000000000000000000000000000000000000"
190- steps :
191- - name : Checkout code
192- uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
193- - name : Setup workspace
194- uses : ./.github/actions/setup
195- with :
196- provider : github
197- - name : Provision the database through migrations
198- if : matrix.group != 'project-files'
199- working-directory : packages/db
200- run : bun run db:migrate
201- - name : Download the production build
202- uses : actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333
203- with :
204- name : next-build
205- path : ${{ runner.temp }}
206- run-id : ${{ inputs.source_run }}
207- github-token : ${{ github.token }}
208- - name : Extract the production build
209- run : |
210- tar -I zstd -xf "$RUNNER_TEMP/next-build.tar.zst" -C apps/sim
211- jq -e '[.routes[].srcRoute] | any(. == "/blog/[slug]" or . == "/library/[slug]") | not' \
212- apps/sim/.next/prerender-manifest.json > /dev/null ||
213- { echo "::error::The build prerendered posts (a hosted build) or has no prerender manifest."; exit 1; }
214- - name : Build native isolate addon for Project file rendering
215- if : matrix.group == 'project-files'
216- working-directory : apps/sim
217- env :
218- JOBS : 4
219- run : |
220- addon_dir="$(node -p 'require("node:path").dirname(require.resolve("isolated-vm/package.json", { paths: ["."] }))')"
221- cd "$addon_dir"
222- bun run install
223- - name : Run end-to-end suites
224- working-directory : apps/sim
225- env :
226- MOBILE_E2E_BROWSER : ${{ matrix.browser }}
227- MOBILE_E2E_SHARD : ${{ matrix.shard }}
228- PROJECT_FILES_E2E_APP_SERVER : start
229- run : bash ../../.github/scripts/http-e2e.sh "${{ matrix.group }}"
230- - name : Upload end-to-end reports and server logs
231- if : failure()
232- uses : actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9
233- with :
234- name : http-e2e-${{ matrix.artifact }}
235- path : ${{ runner.temp }}/e2e/
236- if-no-files-found : ignore
237- retention-days : 7
238- - name : Upload acceptance timing and coverage reports
239- if : always()
240- uses : actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9
241- with :
242- name : e2e-reports-${{ matrix.artifact }}
243- path : ${{ runner.temp }}/e2e/**/*.json
244- if-no-files-found : ignore
245- retention-days : 7
0 commit comments