Skip to content

Commit 41900e5

Browse files
committed
ci: add gating jobs: rubocop and a quick test for fast feedback
1 parent c902318 commit 41900e5

File tree

1 file changed

+35
-5
lines changed

1 file changed

+35
-5
lines changed

.github/workflows/ci.yml

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,30 @@ jobs:
2121
#
2222
# basic tests
2323
#
24+
rubocop:
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: actions/checkout@v4
28+
- uses: ruby/setup-ruby@v1
29+
with:
30+
ruby-version: "3.3"
31+
bundler-cache: true
32+
- run: bundle exec rake rubocop
33+
34+
basic:
35+
needs: ["rubocop"]
36+
runs-on: ubuntu-latest
37+
steps:
38+
- uses: actions/checkout@v4
39+
- uses: ruby/setup-ruby-pkgs@v1
40+
with:
41+
ruby-version: "3.3"
42+
bundler-cache: true
43+
apt-get: libsqlite3-dev
44+
- run: bundle exec rake compile test -- --enable-system-libraries
45+
2446
sqlite3:
47+
needs: ["basic"]
2548
strategy:
2649
fail-fast: false
2750
matrix:
@@ -69,6 +92,7 @@ jobs:
6992
# reported at https://github.com/sparklemotion/sqlite3-ruby/issues/354
7093
# TODO remove once https://github.com/flavorjones/mini_portile/issues/118 is fixed
7194
fedora:
95+
needs: ["basic"]
7296
runs-on: ubuntu-latest
7397
container:
7498
image: fedora:35
@@ -82,6 +106,7 @@ jobs:
82106
- run: bundle exec rake test
83107

84108
sqlcipher:
109+
needs: ["basic"]
85110
strategy:
86111
fail-fast: false
87112
matrix:
@@ -110,6 +135,7 @@ jobs:
110135
- run: bundle exec rake test
111136

112137
valgrind:
138+
needs: ["basic"]
113139
runs-on: ubuntu-latest
114140
steps:
115141
- uses: actions/checkout@v4
@@ -122,8 +148,12 @@ jobs:
122148
- run: bundle exec rake compile
123149
- run: bundle exec rake test:valgrind
124150

125-
rcd_setup:
126-
needs: ["sqlite3"]
151+
#
152+
# native gem tests
153+
#
154+
native_setup:
155+
needs: ["basic"]
156+
name: "Setup for native gem tests"
127157
runs-on: ubuntu-latest
128158
outputs:
129159
rcd_image_version: ${{steps.rcd_image_version.outputs.rcd_image_version}}
@@ -142,7 +172,7 @@ jobs:
142172
run: bundle exec ruby -e 'require "rake_compiler_dock"; puts "rcd_image_version=#{RakeCompilerDock::IMAGE_VERSION}"' >> $GITHUB_OUTPUT
143173

144174
cruby-package:
145-
needs: ["rcd_setup"]
175+
needs: ["native_setup"]
146176
runs-on: ubuntu-latest
147177
steps:
148178
- uses: actions/checkout@v4
@@ -251,7 +281,7 @@ jobs:
251281
ruby -rsqlite3 -e 'puts SQLite3::SQLITE_LOADED_VERSION'
252282
253283
cruby-native-package:
254-
needs: ["rcd_setup"]
284+
needs: ["native_setup"]
255285
strategy:
256286
fail-fast: false
257287
matrix:
@@ -272,7 +302,7 @@ jobs:
272302
path: ports/archives
273303
key: ports-archives-tarball-${{hashFiles('ext/sqlite3/extconf.rb','dependencies.yml')}}
274304
- env:
275-
DOCKER_IMAGE: "ghcr.io/rake-compiler/rake-compiler-dock-image:${{needs.rcd_setup.outputs.rcd_image_version}}-mri-${{matrix.plat}}"
305+
DOCKER_IMAGE: "ghcr.io/rake-compiler/rake-compiler-dock-image:${{needs.native_setup.outputs.rcd_image_version}}-mri-${{matrix.plat}}"
276306
run: |
277307
docker run --rm -v "$(pwd):/sqlite3" -w /sqlite3 ${DOCKER_IMAGE} \
278308
./bin/test-gem-build gems ${{matrix.plat}}

0 commit comments

Comments
 (0)