Skip to content

Docker Image CI

Docker Image CI #21

Workflow file for this run

# $version: v3-1768060982
name: Docker Image CI
on:
push:
branches: [ "main" ]
schedule:
- cron: '0 2 * * 1'
jobs:
build-and-push:
name: Build and Push
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set Image Name and Tags
id: vars
run: |
IMAGE_NAME=rexezugedisasterrecovery/githubrepositories
GIT_SHA=$(echo "${{ github.sha }}" | cut -c1-7)
UNIX_TS=$(date +%s)
if [[ "${{ github.event_name }}" == "schedule" ]]; then
TAG="auto-${UNIX_TS}"
else
TAG="${GIT_SHA}"
fi
echo "image_name=${IMAGE_NAME}" >> "$GITHUB_OUTPUT"
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
- name: Build and Push Multi-Platform Image
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ steps.vars.outputs.image_name }}:${{ steps.vars.outputs.tag }}
${{ steps.vars.outputs.image_name }}:latest