Skip to content

Fixes

Fixes #276

Workflow file for this run

name: Build docker image
on:
push:
branches:
- master
tags:
- '*'
pull_request:
env:
VINYL80: '8.0.0'
VINYL60: '6.0.16'
jobs:
setup:
runs-on: ubuntu-latest
outputs:
vinyl-versions: ${{ steps.set-matrix.outputs.vinyl-versions }}
steps:
- id: set-matrix
run: |
cat << 'EOF' > versions.json
[
{"key": "vinyl80", "version": "${{ env.VINYL80 }}", "workdir": "8", "latest": "latest", "latest_major": "latest-major"},
{"key": "vinyl60", "version": "${{ env.VINYL60 }}", "workdir": "6", "latest": "", "latest_major": ""}
]
EOF
echo "vinyl-versions=$(cat versions.json | jq -c .)" >> $GITHUB_OUTPUT
build:
needs: setup
strategy:
matrix:
vinyl: ${{ fromJson(needs.setup.outputs.vinyl-versions) }}
arch:
- amd64
- arm64
include:
- arch: amd64
runner: ubuntu-24.04
- arch: arm64
runner: ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v6
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: build and push
env:
VINYL_VER: ${{ matrix.vinyl.version }}
ARCH: ${{ matrix.arch }}
working-directory: ${{ matrix.vinyl.workdir }}
run: |
make
make test
make push
push:
runs-on: ubuntu-latest
needs:
- setup
- build
strategy:
matrix:
vinyl: ${{ fromJson(needs.setup.outputs.vinyl-versions) }}
steps:
- uses: actions/checkout@v6
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- uses: ./.github/actions
with:
version: ${{ matrix.vinyl.version }}
workdir: ${{ matrix.vinyl.workdir }}
latest: ${{ matrix.vinyl.latest }}
latest_major: ${{ matrix.vinyl.latest_major }}