Test 32
All checks were successful
Build Docker Image / Build Python 3.12 ARM64 (push) Successful in 2m25s
Build Docker Image / Build Python 3.10 ARM64 (push) Successful in 2m30s
Build Docker Image / Build Python 3.11 ARM64 (push) Successful in 2m30s
Build Docker Image / Build Python 3.13 ARM64 (push) Successful in 1m28s
Build Docker Image / Build Python 3.10 AMD64 (push) Successful in 8m50s
Build Docker Image / Create Python 3.10 Manifest (push) Successful in 11s
Build Docker Image / Build Python 3.11 AMD64 (push) Successful in 8m51s
Build Docker Image / Create Python 3.11 Manifest (push) Successful in 11s
Build Docker Image / Build Python 3.12 AMD64 (push) Successful in 8m53s
Build Docker Image / Create Python 3.12 Manifest (push) Successful in 11s
Build Docker Image / Build Python 3.13 AMD64 (push) Successful in 8m48s
Build Docker Image / Create Python 3.13 Manifest (push) Successful in 10s

This commit is contained in:
2024-12-11 22:06:30 +02:00
parent 6ad872ec90
commit 5f5e72af93
4 changed files with 394 additions and 192 deletions

View File

@@ -1,48 +0,0 @@
name: Build AMD64
on:
workflow_call:
inputs:
python-version:
required: true
type: string
jobs:
build:
runs-on: linux_amd
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
steps:
- name: Checkout
uses: actions/checkout@v4
with:
github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
platforms: linux/amd64
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push AMD64
id: build-docker
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.python${{ inputs.python-version }}
platforms: linux/amd64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true

View File

@@ -1,53 +0,0 @@
name: Build ARM64
on:
workflow_call:
inputs:
python-version:
required: true
type: string
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
jobs:
build:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
steps:
- name: Checkout
uses: actions/checkout@v4
with:
github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
platforms: linux/arm64
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push ARM64
id: build-docker
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.python${{ inputs.python-version }}
platforms: linux/arm64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true

View File

@@ -7,78 +7,422 @@ on:
- cron: '@monthly' - cron: '@monthly'
jobs: jobs:
python-3-10: build-3-10-amd64:
name: Build Python 3.10 runs-on: linux_amd
runs-on: ubuntu-latest name: Build Python 3.10 AMD64
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
outputs:
digest: ${{ steps.build-docker.outputs.digest }}
steps: steps:
- name: Build AMD64 - name: Checkout
uses: ./.gitea/workflows/build-amd64.yml uses: actions/checkout@v4
with: with:
python-version: '3.10' github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
- name: Build ARM64 uses: docker/setup-buildx-action@v3
uses: ./.gitea/workflows/build-arm64.yml
with: with:
python-version: '3.10' platforms: linux/amd64
- name: Login to DockerHub
- name: Create Manifest uses: docker/login-action@v3
uses: ./.gitea/workflows/create-manifest.yml
with: with:
python-version: '3.10' registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push AMD64
id: build-docker
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.python3.10
platforms: linux/amd64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true
python-3-11: build-3-10-arm64:
name: Build Python 3.11
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Build Python 3.10 ARM64
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
outputs:
digest: ${{ steps.build-docker.outputs.digest }}
steps: steps:
- name: Build AMD64 - name: Checkout
uses: ./.gitea/workflows/build-amd64.yml uses: actions/checkout@v4
with: with:
python-version: '3.11' github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
- name: Build ARM64 uses: docker/setup-buildx-action@v3
uses: ./.gitea/workflows/build-arm64.yml
with: with:
python-version: '3.11' platforms: linux/arm64
- name: Login to DockerHub
- name: Create Manifest uses: docker/login-action@v3
uses: ./.gitea/workflows/create-manifest.yml
with: with:
python-version: '3.11' registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push ARM64
id: build-docker
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.python3.10
platforms: linux/arm64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true
python-3-12: create-manifest-3-10:
name: Build Python 3.12 needs: [build-3-10-arm64, build-3-10-amd64]
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Create Python 3.10 Manifest
steps: steps:
- name: Build AMD64 - name: Login to Docker Registry
uses: ./.gitea/workflows/build-amd64.yml uses: docker/login-action@v3
with: with:
python-version: '3.12' registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
- name: Build ARM64 password: ${{ secrets.DOCKER_PASSWORD }}
uses: ./.gitea/workflows/build-arm64.yml - name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with: with:
python-version: '3.12' driver: docker-container
- name: Get Repository Metadata
id: meta
run: |
echo "PACKAGE=gitea.technocloud.ee/${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Create and Push Multi-arch Manifest
run: |
IMAGE_NAME=${{ steps.meta.outputs.PACKAGE }}:python3.10
docker manifest create $IMAGE_NAME \
--amend ${{ steps.meta.outputs.PACKAGE }}@${{ needs.build-3-10-arm64.outputs.digest }} \
--amend ${{ steps.meta.outputs.PACKAGE }}@${{ needs.build-3-10-amd64.outputs.digest }}
docker manifest push $IMAGE_NAME
- name: Create Manifest build-3-11-amd64:
uses: ./.gitea/workflows/create-manifest.yml runs-on: linux_amd
name: Build Python 3.11 AMD64
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
outputs:
digest: ${{ steps.build-docker.outputs.digest }}
steps:
- name: Checkout
uses: actions/checkout@v4
with: with:
python-version: '3.12' github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
platforms: linux/amd64
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push AMD64
id: build-docker
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.python3.11
platforms: linux/amd64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true
python-3-13: build-3-11-arm64:
name: Build Python 3.13
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: Build Python 3.11 ARM64
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
outputs:
digest: ${{ steps.build-docker.outputs.digest }}
steps: steps:
- name: Build AMD64 - name: Checkout
uses: ./.gitea/workflows/build-amd64.yml uses: actions/checkout@v4
with: with:
python-version: '3.13' github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
platforms: linux/arm64
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push ARM64
id: build-docker
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.python3.11
platforms: linux/arm64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true
- name: Build ARM64 create-manifest-3-11:
uses: ./.gitea/workflows/build-arm64.yml needs: [build-3-11-arm64, build-3-11-amd64]
runs-on: ubuntu-latest
name: Create Python 3.11 Manifest
steps:
- name: Login to Docker Registry
uses: docker/login-action@v3
with: with:
python-version: '3.13' registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
- name: Get Repository Metadata
id: meta
run: |
echo "PACKAGE=gitea.technocloud.ee/${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Create and Push Multi-arch Manifest
run: |
IMAGE_NAME=${{ steps.meta.outputs.PACKAGE }}:python3.11
docker manifest create $IMAGE_NAME \
--amend ${{ steps.meta.outputs.PACKAGE }}@${{ needs.build-3-11-arm64.outputs.digest }} \
--amend ${{ steps.meta.outputs.PACKAGE }}@${{ needs.build-3-11-amd64.outputs.digest }}
docker manifest push $IMAGE_NAME
- name: Create Manifest build-3-12-amd64:
uses: ./.gitea/workflows/create-manifest.yml runs-on: linux_amd
name: Build Python 3.12 AMD64
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
outputs:
digest: ${{ steps.build-docker.outputs.digest }}
steps:
- name: Checkout
uses: actions/checkout@v4
with: with:
python-version: '3.13' github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
platforms: linux/amd64
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push AMD64
id: build-docker
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.python3.12
platforms: linux/amd64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true
build-3-12-arm64:
runs-on: ubuntu-latest
name: Build Python 3.12 ARM64
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
outputs:
digest: ${{ steps.build-docker.outputs.digest }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
platforms: linux/arm64
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push ARM64
id: build-docker
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.python3.12
platforms: linux/arm64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true
create-manifest-3-12:
needs: [build-3-12-arm64, build-3-12-amd64]
runs-on: ubuntu-latest
name: Create Python 3.12 Manifest
steps:
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
- name: Get Repository Metadata
id: meta
run: |
echo "PACKAGE=gitea.technocloud.ee/${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Create and Push Multi-arch Manifest
run: |
IMAGE_NAME=${{ steps.meta.outputs.PACKAGE }}:python3.12
docker manifest create $IMAGE_NAME \
--amend ${{ steps.meta.outputs.PACKAGE }}@${{ needs.build-3-12-arm64.outputs.digest }} \
--amend ${{ steps.meta.outputs.PACKAGE }}@${{ needs.build-3-12-amd64.outputs.digest }}
docker manifest push $IMAGE_NAME
build-3-13-amd64:
runs-on: linux_amd
name: Build Python 3.13 AMD64
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
outputs:
digest: ${{ steps.build-docker.outputs.digest }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
platforms: linux/amd64
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push AMD64
id: build-docker
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.python3.13
platforms: linux/amd64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true
build-3-13-arm64:
runs-on: ubuntu-latest
name: Build Python 3.13 ARM64
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
outputs:
digest: ${{ steps.build-docker.outputs.digest }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
github-server-url: https://gitea.technocloud.ee
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
platforms: linux/arm64
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Get Meta
id: meta
run: |
echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Build and Push ARM64
id: build-docker
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.python3.13
platforms: linux/arm64
push: true
provenance: false
outputs: type=image,name=gitea.technocloud.ee/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true
create-manifest-3-13:
needs: [build-3-13-arm64, build-3-13-amd64]
runs-on: ubuntu-latest
name: Create Python 3.13 Manifest
steps:
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
- name: Get Repository Metadata
id: meta
run: |
echo "PACKAGE=gitea.technocloud.ee/${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Create and Push Multi-arch Manifest
run: |
IMAGE_NAME=${{ steps.meta.outputs.PACKAGE }}:python3.13
docker manifest create $IMAGE_NAME \
--amend ${{ steps.meta.outputs.PACKAGE }}@${{ needs.build-3-13-arm64.outputs.digest }} \
--amend ${{ steps.meta.outputs.PACKAGE }}@${{ needs.build-3-13-amd64.outputs.digest }}
docker manifest push $IMAGE_NAME

View File

@@ -1,41 +0,0 @@
name: Create Manifest
on:
workflow_call:
inputs:
python-version:
required: true
type: string
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
jobs:
create:
runs-on: ubuntu-latest
steps:
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
registry: gitea.technocloud.ee
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
- name: Get Repository Metadata
id: meta
run: |
echo "PACKAGE=gitea.technocloud.ee/${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT
- name: Create and Push Multi-arch Manifest
run: |
IMAGE_NAME=${{ steps.meta.outputs.PACKAGE }}:python${{ inputs.python-version }}
docker manifest create $IMAGE_NAME \
--amend ${{ steps.meta.outputs.PACKAGE }}@${ARM_DIGEST} \
--amend ${{ steps.meta.outputs.PACKAGE }}@${AMD_DIGEST}
docker manifest push $IMAGE_NAME