All checks were successful
Build and Push Multi-Arch Docker Image / build-and-push (push) Successful in 18m51s
Signed-off-by: Peter Siegmund <developer@mars3142.org>
46 lines
1.5 KiB
YAML
46 lines
1.5 KiB
YAML
name: Build and Push Multi-Arch Docker Image
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Set Registry Domain
|
|
run: |
|
|
REGISTRY_DOMAIN=$(echo "${{ github.server_url }}" | sed 's|https://||' | sed 's|http://||')
|
|
echo "REGISTRY_DOMAIN=$REGISTRY_DOMAIN" >> $GITHUB_ENV
|
|
|
|
- name: Login to Gitea Registry
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ${{ env.REGISTRY_DOMAIN }}
|
|
username: ${{ secrets.REGISTRY_USER }}
|
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
|
|
|
- name: Extract Version
|
|
run: |
|
|
VERSION=$(grep "^version = " build.gradle | sed "s/version = '//" | sed "s/'//")
|
|
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
|
echo "MAJOR=$(echo $VERSION | cut -d. -f1)" >> $GITHUB_ENV
|
|
echo "MAJOR_MINOR=$(echo $VERSION | cut -d. -f1,2)" >> $GITHUB_ENV
|
|
|
|
- name: Build and Push Multi-Arch Image
|
|
run: |
|
|
docker buildx build \
|
|
--platform linux/amd64,linux/arm64 \
|
|
-t ${{ env.REGISTRY_DOMAIN }}/${{ github.repository }}:latest \
|
|
-t ${{ env.REGISTRY_DOMAIN }}/${{ github.repository }}:${{ env.MAJOR }} \
|
|
-t ${{ env.REGISTRY_DOMAIN }}/${{ github.repository }}:${{ env.MAJOR_MINOR }} \
|
|
-t ${{ env.REGISTRY_DOMAIN }}/${{ github.repository }}:${{ env.VERSION }} \
|
|
--push .
|