Files
fail2ban-ui/.gitea/workflows/build-harbor.yml

66 lines
2.4 KiB
YAML

name: Build and Push to Harbor when new commit to main-branch
on:
push:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: linux_amd64
steps:
- uses: actions/checkout@v4
- name: Login to Swissmakers Registry
if: ${{ secrets.HARBOR_REGISTRY && secrets.HARBOR_USERNAME && secrets.HARBOR_PASSWORD }}
env:
REGISTRY: ${{ secrets.HARBOR_REGISTRY }}
ROBOT_USER: ${{ secrets.HARBOR_USERNAME }}
ROBOT_PASS: ${{ secrets.HARBOR_PASSWORD }}
run: |
mkdir -p "$HOME/.config/containers"
echo "$ROBOT_PASS" | podman login --username "$ROBOT_USER" --password-stdin "$REGISTRY"
- name: Build & tag for Swissmakers Registry
env:
REG: ${{ secrets.HARBOR_REGISTRY }}
PROJ: ${{ secrets.HARBOR_PROJECT }}
run: |
podman build -t $REG/$PROJ/fail2ban-ui:${{ github.sha }} .
podman tag $REG/$PROJ/fail2ban-ui:${{ github.sha }} $REG/$PROJ/fail2ban-ui:latest
- name: Push to Swissmakers Registry
env:
REG: ${{ secrets.HARBOR_REGISTRY }}
PROJ: ${{ secrets.HARBOR_PROJECT }}
run: |
podman push $REG/$PROJ/fail2ban-ui:${{ github.sha }}
podman push $REG/$PROJ/fail2ban-ui:latest
- name: Login to Docker Hub
if: ${{ secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN }}
env:
DH_USER: ${{ secrets.DOCKERHUB_USERNAME }}
DH_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
echo "$DH_TOKEN" | podman login docker.io --username "$DH_USER" --password-stdin
- name: Re-tag the build image for Docker Hub
if: ${{ secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN }}
env:
REG: ${{ secrets.HARBOR_REGISTRY }}
PROJ: ${{ secrets.HARBOR_PROJECT }}
DH_NS: ${{ secrets.DOCKERHUB_USERNAME }}
DH_REPO: fail2ban-ui
run: |
podman tag $REG/$PROJ/fail2ban-ui:${{ github.sha }} docker.io/$DH_NS/$DH_REPO:${{ github.sha }}
podman tag $REG/$PROJ/fail2ban-ui:${{ github.sha }} docker.io/$DH_NS/$DH_REPO:latest
- name: Push to Docker Hub
if: ${{ secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN }}
env:
DH_NS: ${{ secrets.DOCKERHUB_USERNAME }}
DH_REPO: fail2ban-ui
run: |
podman push docker.io/$DH_NS/$DH_REPO:${{ github.sha }}
podman push docker.io/$DH_NS/$DH_REPO:latest