mirror of
https://github.com/cmur2/dyndnsd.git
synced 2024-11-14 16:56:14 +01:00
52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
|
|
---
|
|
name: cd
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*.*.*'
|
|
|
|
jobs:
|
|
release-dockerimage:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Extract dyndnsd version from tag name
|
|
run: |
|
|
echo "DYNDNSD_VERSION=${GITHUB_REF#refs/*/v}" >> "$GITHUB_ENV"
|
|
|
|
- name: Wait for dyndnsd ${{ env.DYNDNSD_VERSION }} gem to be available
|
|
run: |
|
|
set +e
|
|
for retry in $(seq 1 5); do
|
|
echo "Checking if dyndnsd $DYNDNSD_VERSION gem is retrievable from rubygems.org (try #$retry)..."
|
|
sudo gem install dyndnsd -v "$DYNDNSD_VERSION"
|
|
# shellcheck disable=SC2181
|
|
if [ $? -eq 0 ]; then
|
|
exit 0
|
|
fi
|
|
sleep 60
|
|
done
|
|
exit 1
|
|
|
|
# https://github.com/marketplace/actions/build-and-push-docker-images
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: cmur2
|
|
password: ${{ secrets.DOCKER_TOKEN }}
|
|
|
|
- name: Build and push Docker image for dyndnsd ${{ env.DYNDNSD_VERSION }}
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
context: docker
|
|
build-args: |
|
|
DYNDNSD_VERSION=${{ env.DYNDNSD_VERSION }}
|
|
push: true
|
|
tags: cmur2/dyndnsd:v${{ env.DYNDNSD_VERSION }}
|