Skip to content

Rebuild against updated base image #611

Rebuild against updated base image

Rebuild against updated base image #611

Workflow file for this run

name: Build docker image
on:
push:
branches:
- master
tags:
- '*'
pull_request:
env:
PYTHON314: '3.14.0'
PYTHON313: '3.13.9'
PYTHON312: '3.12.12'
PYTHON311: '3.11.14'
PYTHON310: '3.10.19'
PYTHON39: '3.9.25'
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
jobs:
setup:
runs-on: ubuntu-latest
outputs:
python-versions: ${{ steps.set-matrix.outputs.python-versions }}
steps:
- id: set-matrix
run: |
cat << 'EOF' > versions.json
[
{"key": "python314", "version": "${{ env.PYTHON314 }}", "latest": true, "latest_major": true},
{"key": "python313", "version": "${{ env.PYTHON313 }}", "latest": false, "latest_major": false},
{"key": "python312", "version": "${{ env.PYTHON312 }}", "latest": false, "latest_major": false},
{"key": "python311", "version": "${{ env.PYTHON311 }}", "latest": false, "latest_major": false},
{"key": "python310", "version": "${{ env.PYTHON310 }}", "latest": false, "latest_major": false},
{"key": "python39", "version": "${{ env.PYTHON39 }}", "latest": false, "latest_major": false}
]
EOF
echo "python-versions=$(cat versions.json | jq -c .)" >> $GITHUB_OUTPUT
build:
needs: setup
strategy:
matrix:
python: ${{ fromJson(needs.setup.outputs.python-versions) }}
arch:
- amd64
- arm64
dev:
- ''
- '1'
user_id:
- 1000
- 501
include:
- arch: amd64
runner: ubuntu-24.04
- arch: arm64
runner: ubuntu-24.04-arm
- user_id: 501
group_id: 20
dev: 1
exclude:
- dev: ''
user_id: 501
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v5
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: build and push
env:
PYTHON_VER: ${{ matrix.python.version }}
ARCH: ${{ matrix.arch }}
PYTHON_DEV: ${{ matrix.dev }}
WODBY_USER_ID: ${{ matrix.user_id }}
WODBY_GROUP_ID: ${{ matrix.group_id }}
run: |
make
make test
make push
push:
runs-on: ubuntu-latest
needs:
- setup
- build
strategy:
matrix:
python: ${{ fromJson(needs.setup.outputs.python-versions) }}
dev:
- ''
- '1'
user_id:
- 1000
- 501
exclude:
- dev: ''
user_id: 501
steps:
- uses: actions/checkout@v5
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- uses: ./.github/actions
with:
version: ${{ matrix.python.version }}
dev: ${{ matrix.dev }}
user_id: ${{ matrix.user_id }}
latest: ${{ matrix.python.latest }}
latest_major: ${{ matrix.python.latest_major }}