docker-ownDynDNS-netcup/.forgejo/workflows/build.yaml
sujiba 1a48e8eb3a
Some checks failed
build container image / release_tag (push) Successful in 5s
build container image / build (push) Failing after 14s
test
2024-06-28 00:29:59 +02:00

73 lines
2.2 KiB
YAML
Executable file

name: build container image
on:
push:
branches:
- main
jobs:
release_tag:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get latest release and create new release
shell: bash
run: |
# Get latest release.
latest_release=$(curl -s https://git.smail.koeln/api/v1/repos/homelab/docker-ownDynDNS-netcup/releases\?limit\=1 | jq -r '.[] | .tag_name')
# Cut release into year, month and counter.
year=$(echo $latest_release | awk -F '.' '//{print $1}')
month=$(echo $latest_release | awk -F '.' '//{print $2}')
counter=$(echo $latest_release | awk -F '.' '//{print $3}')
# increase the counter, if the release is from the same year and month
if [[ $(date +'%Y') == $year ]] && [[ $(date +'%m') == $month ]]; then
((counter++));
# else reset counter
else
counter=1;
fi
# Create
new_release=$(date +'%Y').$(date +'%m').$counter
echo "RELEASE=$new_release">> $GITHUB_ENV
echo "Release $new_release successfully set"
build:
needs: release_tag
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
env:
DOCKER_TLS_VERIFY: 1
# DOCKER_CERT_PATH: /certs/server/
uses: docker/setup-buildx-action@v3
with:
endpoint: tcp://docker:2376
- name: Build and push
uses: docker/build-push-action@v6
with:
context: ./docker-build/
file: ./docker-build/Dockerfile
platforms: linux/amd64, linux/arm64, linux/arm/v7
push: true
cleanup: true
tags: |
${{ secrets.DOCKER_USER }}/docker-owndyndns-netcup:${{ env.VERSION }}
${{ secrets.DOCKER_USER }}/docker-owndyndns-netcup:latest