Skip to content

Build Docker Image

Build Docker Image #19

Workflow file for this run

name: Build Docker Image
on:
workflow_dispatch:
schedule:
- cron: '0 2 12 * *'
jobs:
buildx:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# Docker Image 构建环境
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set Version
id: set-version
run: |
TAG=$(wget --no-check-certificate -qO- https://api.github.com/repos/mayswind/AriaNg/tags | grep 'name' | cut -d\" -f4 | head -1 )
OnlineReleaseTag=${TAG}
LocalReleaseTag=$(cat ReleaseTag | head -n1)
echo "LocalReleaseTag=$(cat ReleaseTag | head -n1)"
echo "OnlineReleaseTag=${TAG}"
if [ "${LocalReleaseTag}" != "${OnlineReleaseTag}" ]
then
echo "version=${TAG}" >> $GITHUB_OUTPUT
echo "status=success" >> $GITHUB_OUTPUT
fi
- name: Update ReleaseTag
if: steps.set-version.outputs.status == 'success'
run: |
echo ${{ steps.set-version.outputs.version }} > ./ReleaseTag
- name: Push
if: steps.set-version.outputs.status == 'success'
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git commit -am "Update ReleaseTag ${{ steps.set-version.outputs.version }}"
git push -v --progress
# Build and push
- name: Build dockerfile
if: steps.set-version.outputs.status == 'success'
uses: docker/build-push-action@v6
with:
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/386
push: true
tags: |
antman666/ariang:${{ steps.set-version.outputs.version }}
antman666/ariang:latest