|
11 | 11 | - 'README.md' |
12 | 12 |
|
13 | 13 | env: |
14 | | - VIPS_VERSIONS: | |
15 | | - ["8.10.6", "8.11.4", "8.12.2", "8.13.3", "8.14.5", "8.15.5", "8.16.0"] |
| 14 | + GOLANGCILINT_VERSION: "1.63.4" |
16 | 15 |
|
17 | 16 | jobs: |
18 | | - prepareTestContainer: |
19 | | - name: Prepare test containers |
20 | | - runs-on: ubuntu-latest |
21 | | - outputs: |
22 | | - versions: ${{ steps.build.outputs.versions }} |
23 | | - steps: |
24 | | - - name: Checkout |
25 | | - uses: actions/checkout@v2 |
26 | | - - name: Cache Docker layers |
27 | | - |
28 | | - continue-on-error: true |
29 | | - with: |
30 | | - key: testcontainers-${{ hashFiles('Dockerfile') }} |
31 | | - - name: Build |
32 | | - id: build |
33 | | - run: | |
34 | | - echo ${VIPS_VERSIONS} | jq -c -r ".[]" | while read version; do |
35 | | - echo "Building for VIPS $version" |
36 | | - docker build --build-arg VIPS_VERSION=$version -t h2non/bimg:ci-$version . || exit 1 |
37 | | - done |
38 | | - echo ::set-output name=versions::${VIPS_VERSIONS} |
39 | | -
|
40 | 17 | test: |
41 | 18 | name: Test |
42 | 19 | runs-on: ubuntu-latest |
43 | | - needs: [ prepareTestContainer ] |
44 | 20 | strategy: |
45 | 21 | matrix: |
46 | | - libvips: ${{ fromJSON(needs.prepareTestContainer.outputs.versions) }} |
| 22 | + container-with-vips: [ |
| 23 | + "alpine3-14.vips8-10-6", |
| 24 | + "alpine3-16.vips8-12-2", |
| 25 | + "alpine3-17.vips8-13-3", |
| 26 | + "alpine3-18.vips8-14-3", |
| 27 | + "alpine3-21.vips8-15-3" |
| 28 | + ] |
47 | 29 | fail-fast: false |
48 | 30 | steps: |
49 | 31 | - name: Checkout |
50 | 32 | uses: actions/checkout@v2 |
51 | | - - name: Cache Docker layers |
52 | | - |
| 33 | + |
| 34 | + - name: Set up Docker Buildx |
| 35 | + uses: docker/setup-buildx-action@v3 |
| 36 | + |
| 37 | + - name: Build and export to Docker |
| 38 | + uses: docker/build-push-action@v6 |
53 | 39 | with: |
54 | | - key: testcontainers-${{ hashFiles('Dockerfile') }} |
| 40 | + cache-from: type=gha |
| 41 | + cache-to: type=gha,mode=max` |
| 42 | + load: true |
| 43 | + build-args: |
| 44 | + - GOLANGCILINT_VERSION=${{ env.GOLANGCILINT_VERSION }} |
| 45 | + tags: h2non/bimg:ci-${{ matrix.container-with-vips }} |
| 46 | + |
55 | 47 | - name: Run tests |
56 | | - run: docker run --rm -v $PWD:/build h2non/bimg:ci-${{ matrix.libvips }} sh -c 'cd /build && go vet . && golangci-lint run && go test -v -race -covermode=atomic -coverprofile=coverage.out' |
| 48 | + run: | |
| 49 | + docker run --rm -v $PWD:/build h2non/bimg:ci-${{ matrix.container-with-vips }} sh -c 'cd /build && go vet . && golangci-lint run && go test -v -race -covermode=atomic -coverprofile=coverage.out' |
0 commit comments