Skip to content

Commit e7eb70c

Browse files
committed
Run devcontainer smoke tests in one single job
GitHub Actions spams the commit status with one for each job. We want to keep the number of statuses to a minimum, so we can see the main buildkite status, so we should run all the tests in a single job.
1 parent 6d3fd5b commit e7eb70c

File tree

1 file changed

+60
-12
lines changed

1 file changed

+60
-12
lines changed

.github/workflows/devcontainer-smoke-test.yml

Lines changed: 60 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@ jobs:
1212
packages: write
1313
strategy:
1414
fail-fast: false
15-
matrix:
16-
DATABASE:
17-
- sqlite3
18-
- postgresql
19-
- mysql
20-
- trilogy
2115

2216
steps:
2317
- name: Checkout (GitHub)
@@ -36,16 +30,70 @@ jobs:
3630
ruby-version: 3.3
3731
bundler-cache: true
3832

39-
- name: Generate rails app
40-
run: bundle exec railties/exe/rails new myapp --database="${{ matrix.DATABASE }}" --dev
33+
- name: Generate rails app sqlite3
34+
run: bundle exec railties/exe/rails new myapp_sqlite --database="sqlite3" --dev
4135

42-
- name: Test devcontainer
36+
- name: Test devcontainer sqlite3
4337
uses: devcontainers/[email protected]
4438
with:
45-
subFolder: myapp
39+
subFolder: myapp_sqlite
4640
imageName: ghcr.io/rails/smoke-test-devcontainer
4741
cacheFrom: ghcr.io/rails/smoke-test-devcontainer
48-
imageTag: ${{ matrix.DATABASE }}
42+
imageTag: sqlite3
4943
push: ${{ github.repository_owner == 'rails' && 'filter' || 'never' }}
5044
refFilterForPush: refs/heads/main
51-
runCmd: bin/rails g scaffold Post && bin/rails db:migrate && bin/rails test
45+
runCmd: bin/rails g scaffold Post && bin/rails db:migrate && bin/rails test
46+
47+
- name: Stop all containers
48+
run: docker ps -q | xargs docker stop
49+
50+
- name: Generate rails app postgresql
51+
run: bundle exec railties/exe/rails new myapp_postgresql --database="postgresql" --dev
52+
53+
- name: Test devcontainer postgresql
54+
uses: devcontainers/[email protected]
55+
with:
56+
subFolder: myapp_postgresql
57+
imageName: ghcr.io/rails/smoke-test-devcontainer
58+
cacheFrom: ghcr.io/rails/smoke-test-devcontainer
59+
imageTag: postgresql
60+
push: ${{ github.repository_owner == 'rails' && 'filter' || 'never' }}
61+
refFilterForPush: refs/heads/main
62+
runCmd: bin/rails g scaffold Post && bin/rails db:migrate && bin/rails test
63+
64+
- name: Stop all containers
65+
run: docker ps -q | xargs docker stop
66+
67+
- name: Generate rails app mysql
68+
run: bundle exec railties/exe/rails new myapp_mysql --database="mysql" --dev
69+
70+
- name: Test devcontainer mysql
71+
uses: devcontainers/[email protected]
72+
with:
73+
subFolder: myapp_mysql
74+
imageName: ghcr.io/rails/smoke-test-devcontainer
75+
cacheFrom: ghcr.io/rails/smoke-test-devcontainer
76+
imageTag: mysql
77+
push: ${{ github.repository_owner == 'rails' && 'filter' || 'never' }}
78+
refFilterForPush: refs/heads/main
79+
runCmd: bin/rails g scaffold Post && bin/rails db:migrate && bin/rails test
80+
81+
- name: Stop all containers
82+
run: docker ps -q | xargs docker stop
83+
84+
- name: Generate rails app trilogy
85+
run: bundle exec railties/exe/rails new myapp_trilogy --database="trilogy" --dev
86+
87+
- name: Test devcontainer trilogy
88+
uses: devcontainers/[email protected]
89+
with:
90+
subFolder: myapp_trilogy
91+
imageName: ghcr.io/rails/smoke-test-devcontainer
92+
cacheFrom: ghcr.io/rails/smoke-test-devcontainer
93+
imageTag: trilogy
94+
push: ${{ github.repository_owner == 'rails' && 'filter' || 'never' }}
95+
refFilterForPush: refs/heads/main
96+
runCmd: bin/rails g scaffold Post && bin/rails db:migrate && bin/rails test
97+
98+
- name: Stop all containers
99+
run: docker ps -q | xargs docker stop

0 commit comments

Comments
 (0)