archlinux/.github/workflows/publish.yaml

60 lines
1.8 KiB
YAML
Raw Normal View History

name: archlinux-latest
on: push
jobs:
archlinux-latest:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
attestations: write
id-token: write
container:
image: catthehacker/ubuntu:act-latest
env:
RUNNER_TOOL_CACHE: /toolcache
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Get Meta
id: meta
env:
HUB: ghcr.io
ORG: dockersrc
TAG: ${{ vars.DOCKER_TAG }}
run: |
echo DATE_TAG=$(date +'%y%m') >> $GITHUB_OUTPUT
echo DOCKER_HUB=$([ -n "$HUB" ] && echo $HUB || echo "ghcr.io") >> $GITHUB_OUTPUT
echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT
echo DOCKER_TAG=$([ -n "$TAG" ] && echo $TAG || echo "latest") >> $GITHUB_OUTPUT
echo DOCKER_ORG=$([ -n "$ORG" ] && echo "$ORG" || echo "dockersrc") >> $GITHUB_OUTPUT
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | sed 's|^docker-||g') >> $GITHUB_OUTPUT
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
registry: https://ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository }}:${{ steps.meta.outputs.DATE_TAG }}
ghcr.io/${{ github.repository }}:${{ steps.meta.outputs.DOCKER_TAG }}