Skip to content

Feature Release

Feature Release #39

name: build-latest-release
on:
workflow_dispatch: {}
schedule:
- cron: "0 2 * * 2"
release:
types: [created]
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Set latest release tag
if: github.event_name != 'release'
run: |
echo "RELEASE_TAG=$(curl https://api.github.com/repos/crinis/sourcebans-docker/releases/latest -s | jq -r ".tag_name")" >> $GITHUB_ENV
- name: Set current release tag
if: github.event_name == 'release'
run: |
echo "RELEASE_TAG=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ env.RELEASE_TAG }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/sourcebans:${{ env.RELEASE_TAG }}, ${{ secrets.DOCKERHUB_USERNAME }}/sourcebans:latest, ${{ secrets.DOCKERHUB_USERNAME }}/sourcebans:${{ github.run_id }}
platforms: linux/amd64, linux/arm64