@@ -31,158 +31,158 @@ on:
3131 - ' .github/workflows/*.yml'
3232
3333jobs :
34- lint :
35- name : Check code formatting
36- runs-on : ubuntu-latest
37- steps :
38- - uses : actions/checkout@v4
39- - uses : actions/setup-java@v4
40- with :
41- distribution : ' temurin'
42- java-version : 11
43- java-package : jdk
44- cache : ' maven'
45- - name : spotless:check
46- run : mvn --batch-mode --no-transfer-progress spotless:check
47-
48- test :
49- name : test ${{ matrix.os }} jdk${{ matrix.java }}
50- strategy :
51- matrix :
52- os : [ ubuntu-latest ]
53- java : [ 11, 17, 20 ]
54- include :
55- - os : windows-latest
56- java : 20
57- - os : macos-latest
58- java : 20
59- runs-on : ${{ matrix.os }}
60- steps :
61- - uses : actions/checkout@v4
62- - uses : actions/setup-java@v4
63- with :
64- distribution : ' temurin'
65- java-version : ${{ matrix.java }}
66- java-package : jdk
67- cache : ' maven'
68- - name : Test
69- run : mvn --batch-mode --no-transfer-progress test
70-
71- test_graalvm :
72- name : test ${{ matrix.os }} jdk${{ matrix.java }} GraalVM native-image - ${{ matrix.profiles }}
73- strategy :
74- matrix :
75- os : [ ubuntu-latest, windows-latest, macos-latest ]
76- java : [ '17', '21', '24' ]
77- profiles : ['native', 'native,native-exported']
78- runs-on : ${{ matrix.os }}
79- steps :
80- - uses : actions/checkout@v4
81- - uses : graalvm/setup-graalvm@v1
82- with :
83- java-version : ${{ matrix.java }}
84- distribution : ' graalvm-community'
85- github-token : ${{ secrets.GITHUB_TOKEN }}
86- - name : Test
87- run : mvn --batch-mode --no-transfer-progress -P ${{ matrix.profiles }} integration-test
88-
89- test_multiarch :
90- name : test ${{ matrix.arch }} ${{ matrix.distro }} jdk${{ matrix.java }}
91- strategy :
92- matrix :
93- include :
94- # ARM v7
95- - arch : armv7
96- distro : ubuntu_latest
97- java : 21
98- # ARM 64
99- - arch : aarch64
100- distro : ubuntu_latest
101- java : 21
102- - arch : aarch64
103- distro : alpine_latest
104- java : 21
105- # PPC64
106- - arch : ppc64le
107- distro : ubuntu_latest
108- java : 21
109- # RISC-V 64
110- - arch : riscv64
111- distro : ubuntu_latest
112- java : 21
113- runs-on : ubuntu-latest
114- steps :
115- - uses : actions/checkout@v4
116- - uses : uraimo/run-on-arch-action@v3
117- name : Test
118- with :
119- arch : ${{ matrix.arch }}
120- distro : ${{ matrix.distro }}
121-
122- # Not required, but speeds up builds
123- githubToken : ${{ github.token }}
124-
125- # Install some dependencies in the container. This speeds up builds if
126- # you are also using githubToken. Any dependencies installed here will
127- # be part of the container image that gets cached, so subsequent
128- # builds don't have to re-install them. The image layer is cached
129- # publicly in your project's package repository, so it is vital that
130- # no secrets are present in the container state or logs.
131- install : |
132- case "${{ matrix.distro }}" in
133- ubuntu*|jessie|stretch|buster|bullseye)
134- apt-get update -q -y
135- apt-get install -q -y maven openjdk-${{ matrix.java }}-jdk
136- ;;
137- alpine*)
138- apk update
139- apk add maven openjdk${{ matrix.java }}
140- ;;
141- esac
142-
143- # We use the Github Action user, 1001:121, so that maven can access
144- # the /work directory and create target/classes
145- dockerRunArgs : |
146- --volume "${PWD}:/work"
147- --user 1001:121
148-
149- env : |
150- SKIP_TEST_MULTIARCH: true
151-
152- run : |
153- echo "Architecture: `uname -a`"
154- mvn --version
155- cd /work && mvn -Dmaven.repo.local=/work/.m2/repository --batch-mode --no-transfer-progress test
156-
157- # This will test the build process using an external amalgamation, as well as the
158- # Java tests with that native library, as some functions will not be available (extensions).
159- # Here we use the sqlite3 package installed by homebrew on Mac, which comes
160- # with the header file and library.
161- test_external_amalgamation :
162- name : test external amalgamation
163- runs-on : macos-latest
164- steps :
165- - uses : actions/checkout@v4
166- - uses : actions/setup-java@v4
167- with :
168- distribution : ' temurin'
169- java-version : 20
170- java-package : jdk
171- cache : ' maven'
172- - run : brew install sqlite3
173- - name : Find SQLite directory
174- run : |
175- BREW_SQLITE_PREFIX=`brew --prefix sqlite3`
176- echo "SQLITE_DIR=$(dirname ${BREW_SQLITE_PREFIX})/$(readlink ${BREW_SQLITE_PREFIX})" | tee -a $GITHUB_ENV
177- - name : Make native lib
178- run : |
179- make native SQLITE_OBJ=${{ env.SQLITE_DIR }}/lib/libsqlite3.dylib SQLITE_HEADER=${{ env.SQLITE_DIR }}/include/sqlite3.h
180- - name : Test
181- run : mvn --batch-mode --no-transfer-progress test
34+ # lint:
35+ # name: Check code formatting
36+ # runs-on: ubuntu-latest
37+ # steps:
38+ # - uses: actions/checkout@v4
39+ # - uses: actions/setup-java@v4
40+ # with:
41+ # distribution: 'temurin'
42+ # java-version: 11
43+ # java-package: jdk
44+ # cache: 'maven'
45+ # - name: spotless:check
46+ # run: mvn --batch-mode --no-transfer-progress spotless:check
47+ #
48+ # test:
49+ # name: test ${{ matrix.os }} jdk${{ matrix.java }}
50+ # strategy:
51+ # matrix:
52+ # os: [ ubuntu-latest ]
53+ # java: [ 11, 17, 20 ]
54+ # include:
55+ # - os: windows-latest
56+ # java: 20
57+ # - os: macos-latest
58+ # java: 20
59+ # runs-on: ${{ matrix.os }}
60+ # steps:
61+ # - uses: actions/checkout@v4
62+ # - uses: actions/setup-java@v4
63+ # with:
64+ # distribution: 'temurin'
65+ # java-version: ${{ matrix.java }}
66+ # java-package: jdk
67+ # cache: 'maven'
68+ # - name: Test
69+ # run: mvn --batch-mode --no-transfer-progress test
70+ #
71+ # test_graalvm:
72+ # name: test ${{ matrix.os }} jdk${{ matrix.java }} GraalVM native-image - ${{ matrix.profiles }}
73+ # strategy:
74+ # matrix:
75+ # os: [ ubuntu-latest, windows-latest, macos-latest ]
76+ # java: [ '17', '21', '24' ]
77+ # profiles: ['native', 'native,native-exported']
78+ # runs-on: ${{ matrix.os }}
79+ # steps:
80+ # - uses: actions/checkout@v4
81+ # - uses: graalvm/setup-graalvm@v1
82+ # with:
83+ # java-version: ${{ matrix.java }}
84+ # distribution: 'graalvm-community'
85+ # github-token: ${{ secrets.GITHUB_TOKEN }}
86+ # - name: Test
87+ # run: mvn --batch-mode --no-transfer-progress -P ${{ matrix.profiles }} integration-test
88+ #
89+ # test_multiarch:
90+ # name: test ${{ matrix.arch }} ${{ matrix.distro }} jdk${{ matrix.java }}
91+ # strategy:
92+ # matrix:
93+ # include:
94+ # # ARM v7
95+ # - arch: armv7
96+ # distro: ubuntu_latest
97+ # java: 21
98+ # # ARM 64
99+ # - arch: aarch64
100+ # distro: ubuntu_latest
101+ # java: 21
102+ # - arch: aarch64
103+ # distro: alpine_latest
104+ # java: 21
105+ # # PPC64
106+ # - arch: ppc64le
107+ # distro: ubuntu_latest
108+ # java: 21
109+ # # RISC-V 64
110+ # - arch: riscv64
111+ # distro: ubuntu_latest
112+ # java: 21
113+ # runs-on: ubuntu-latest
114+ # steps:
115+ # - uses: actions/checkout@v4
116+ # - uses: uraimo/run-on-arch-action@v3
117+ # name: Test
118+ # with:
119+ # arch: ${{ matrix.arch }}
120+ # distro: ${{ matrix.distro }}
121+ #
122+ # # Not required, but speeds up builds
123+ # githubToken: ${{ github.token }}
124+ #
125+ # # Install some dependencies in the container. This speeds up builds if
126+ # # you are also using githubToken. Any dependencies installed here will
127+ # # be part of the container image that gets cached, so subsequent
128+ # # builds don't have to re-install them. The image layer is cached
129+ # # publicly in your project's package repository, so it is vital that
130+ # # no secrets are present in the container state or logs.
131+ # install: |
132+ # case "${{ matrix.distro }}" in
133+ # ubuntu*|jessie|stretch|buster|bullseye)
134+ # apt-get update -q -y
135+ # apt-get install -q -y maven openjdk-${{ matrix.java }}-jdk
136+ # ;;
137+ # alpine*)
138+ # apk update
139+ # apk add maven openjdk${{ matrix.java }}
140+ # ;;
141+ # esac
142+ #
143+ # # We use the Github Action user, 1001:121, so that maven can access
144+ # # the /work directory and create target/classes
145+ # dockerRunArgs: |
146+ # --volume "${PWD}:/work"
147+ # --user 1001:121
148+ #
149+ # env: |
150+ # SKIP_TEST_MULTIARCH: true
151+ #
152+ # run: |
153+ # echo "Architecture: `uname -a`"
154+ # mvn --version
155+ # cd /work && mvn -Dmaven.repo.local=/work/.m2/repository --batch-mode --no-transfer-progress test
156+ #
157+ # # This will test the build process using an external amalgamation, as well as the
158+ # # Java tests with that native library, as some functions will not be available (extensions).
159+ # # Here we use the sqlite3 package installed by homebrew on Mac, which comes
160+ # # with the header file and library.
161+ # test_external_amalgamation:
162+ # name: test external amalgamation
163+ # runs-on: macos-latest
164+ # steps:
165+ # - uses: actions/checkout@v4
166+ # - uses: actions/setup-java@v4
167+ # with:
168+ # distribution: 'temurin'
169+ # java-version: 20
170+ # java-package: jdk
171+ # cache: 'maven'
172+ # - run: brew install sqlite3
173+ # - name: Find SQLite directory
174+ # run: |
175+ # BREW_SQLITE_PREFIX=`brew --prefix sqlite3`
176+ # echo "SQLITE_DIR=$(dirname ${BREW_SQLITE_PREFIX})/$(readlink ${BREW_SQLITE_PREFIX})" | tee -a $GITHUB_ENV
177+ # - name: Make native lib
178+ # run: |
179+ # make native SQLITE_OBJ=${{ env.SQLITE_DIR }}/lib/libsqlite3.dylib SQLITE_HEADER=${{ env.SQLITE_DIR }}/include/sqlite3.h
180+ # - name: Test
181+ # run: mvn --batch-mode --no-transfer-progress test
182182
183183 release :
184184 name : Deploy
185- needs : [ lint, test, test_multiarch, test_external_amalgamation, test_graalvm ]
185+ # needs: [ lint, test, test_multiarch, test_external_amalgamation, test_graalvm ]
186186 if : github.repository_owner == 'xerial' && github.ref == 'refs/heads/master' # only perform on latest master
187187 runs-on : ubuntu-latest
188188 steps :
0 commit comments