mirror of
https://github.com/daeuniverse/dae.git
synced 2025-02-23 13:11:26 +07:00
chore(ci): split release into build and docker workflows
This commit is contained in:
parent
a04a6be76b
commit
178fbc54e3
@ -1,4 +1,4 @@
|
||||
name: Release
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
@ -164,48 +164,3 @@ jobs:
|
||||
file: dae-${{ steps.get_filename.outputs.ASSET_NAME }}.zip*
|
||||
overwrite: true
|
||||
tag: ${{ github.ref }}
|
||||
|
||||
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
|
63
.github/workflows/docker.yml
vendored
Normal file
63
.github/workflows/docker.yml
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
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
|
Loading…
Reference in New Issue
Block a user