mirror of
https://github.com/daeuniverse/dae.git
synced 2025-01-05 21:11:55 +07:00
64 lines
1.7 KiB
YAML
64 lines
1.7 KiB
YAML
name: Docker
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- fix*
|
|
- feat*
|
|
paths:
|
|
- "**/*.go"
|
|
- "**/*.c"
|
|
- "**/*.h"
|
|
- "go.mod"
|
|
- "go.sum"
|
|
- ".github/workflows/*.yml"
|
|
release:
|
|
types: [ prereleased ]
|
|
|
|
jobs:
|
|
docker:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Checkout codebase
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Prepare
|
|
id: prep
|
|
env:
|
|
REF: ${{ github.ref }}
|
|
run: |
|
|
if [[ "$REF" == "refs/tags/v"* ]]; then
|
|
tag=$(git describe --tags $(git rev-list --tags --max-count=1))
|
|
tag=${tag:1}
|
|
else
|
|
tag=$(git log -1 --format="%cd" --date=short | sed s/-//g)
|
|
fi
|
|
echo "IMAGE=daeuniverse/dae" >> $GITHUB_OUTPUT
|
|
echo "TAG=$tag" >> $GITHUB_OUTPUT
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v2
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v2
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build production image
|
|
uses: docker/build-push-action@v4
|
|
with:
|
|
context: .
|
|
builder: ${{ steps.buildx.outputs.name }}
|
|
file: Dockerfile
|
|
platforms: linux/arm/v6,linux/arm/v7,linux/arm64,linux/amd64,linux/386
|
|
push: true
|
|
tags: |
|
|
${{ steps.prep.outputs.IMAGE }}:${{ steps.prep.outputs.TAG }}
|
|
${{ steps.prep.outputs.IMAGE }}:latest
|
|
cache-from: type=gha
|
|
cache-to: type=gha,mode=max
|