⚙️ .github: use docker's actions

master
neingeist 2 years ago
parent 0edcbe5966
commit 385b84a14d

@ -4,7 +4,6 @@ on: [push, workflow_dispatch]
env:
ENDPOINT: "neingeist/docker-mod-openssh-server-tweaks"
BRANCH: "master"
jobs:
build:
@ -12,24 +11,35 @@ jobs:
permissions:
packages: write
steps:
- uses: actions/checkout@v3
- name: Checkout
uses: actions/checkout@v3
- name: Build image
run: |
docker build --no-cache -t ${{ github.sha }} .
- name: Tag image
if: ${{ github.ref == format('refs/heads/{0}', env.BRANCH) && env.ENDPOINT != 'user/endpoint' }}
run: |
docker tag ${{ github.sha }} ${ENDPOINT}
docker tag ${{ github.sha }} ${ENDPOINT}:${{ github.sha }}
docker tag ${{ github.sha }} ghcr.io/${ENDPOINT}
docker tag ${{ github.sha }} ghcr.io/${ENDPOINT}:${{ github.sha }}
- name: Login to GitHub Container Registry
if: ${{ github.ref == format('refs/heads/{0}', env.BRANCH) && env.ENDPOINT != 'user/endpoint' }}
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Push tags to GitHub Container Registry
if: ${{ github.ref == format('refs/heads/{0}', env.BRANCH) && env.ENDPOINT != 'user/endpoint' }}
run: |
docker push ghcr.io/${ENDPOINT}:${{ github.sha }}
docker push ghcr.io/${ENDPOINT}
-
name: Docker - Meta
id: meta
uses: docker/metadata-action@v4
with:
images: ghcr.io/${{ env.ENDPOINT }}
tags: |
type=sha,prefix=,format=short,enable=true
type=ref,event=branch
# set latest tag for default branch
type=raw,value=latest,enable={{is_default_branch}}
-
name: Docker - Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Docker - Login to GitHub Container Registry
if: github.ref_type == 'branch'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Docker - Build and push
uses: docker/build-push-action@v3
with:
push: ${{ github.ref_type == 'branch' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

Loading…
Cancel
Save