Skip to content

chore: change ubuntu-20 runner to self hosted runner #53

chore: change ubuntu-20 runner to self hosted runner

chore: change ubuntu-20 runner to self hosted runner #53

Workflow file for this run

name: Build and Release Yaci Devkit Docker Image
on:
push:
tags:
- 'v*'
jobs:
build-push-amd:
runs-on: X64
timeout-minutes: 1440
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
FORCE_COLOR: 1
steps:
- uses: earthly/actions-setup@v1
with:
version: v0.8.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- uses: actions/checkout@v4
- name: Docker Login
run: docker login --username "$DOCKERHUB_USERNAME" --password "$DOCKERHUB_TOKEN"
- name: Get Tag from version file
run: |
TAG=$(grep "tag=" config/version | cut -d'=' -f2)
echo "TAG=${TAG}" >> $GITHUB_ENV
- name: Run build
run: earthly --push +build --tag ${{ env.TAG }}-amd64 --platform linux/amd64
build-push-arm:
runs-on: ARM64
timeout-minutes: 1440
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
FORCE_COLOR: 1
steps:
- uses: earthly/actions-setup@v1
with:
version: v0.8.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- uses: actions/checkout@v4
- name: Docker Login
run: docker login --username "$DOCKERHUB_USERNAME" --password "$DOCKERHUB_TOKEN"
- name: Get Tag from version file
run: |
TAG=$(grep "tag=" config/version | cut -d'=' -f2)
echo "TAG=${TAG}" >> $GITHUB_ENV
- name: Run build
run: earthly --push +build --tag ${{ env.TAG }}-arm64 --platform linux/arm64
create-manifests:
runs-on: [ self-hosted ]
needs: [ build-push-amd, build-push-arm ]
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
FORCE_COLOR: 1
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Docker Login
run: docker login --username "$DOCKERHUB_USERNAME" --password "$DOCKERHUB_TOKEN"
- name: Get Tag from version file
run: |
TAG=$(grep "tag=" config/version | cut -d'=' -f2)
echo "TAG=${TAG}" >> $GITHUB_ENV
- name: Create SHA manifest and push for yaci-cli
run: |
docker manifest create \
bloxbean/yaci-cli:${{ env.TAG }} \
--amend bloxbean/yaci-cli:${{ env.TAG }}-amd64 \
--amend bloxbean/yaci-cli:${{ env.TAG }}-arm64
docker manifest push bloxbean/yaci-cli:${{ env.TAG }}
- name: Create SHA manifest and push for yaci-viewer
run: |
docker manifest create \
bloxbean/yaci-viewer:${{ env.TAG }} \
--amend bloxbean/yaci-viewer:${{ env.TAG }}-amd64 \
--amend bloxbean/yaci-viewer:${{ env.TAG }}-arm64
docker manifest push bloxbean/yaci-viewer:${{ env.TAG }}
release-docker-zip:
runs-on: ubuntu-latest
needs: [ create-manifests ]
steps:
- uses: earthly/actions-setup@v1
with:
version: v0.8.0
- uses: actions/checkout@v4
- name: Get Tag from version file
run: |
TAG=$(grep "tag=" config/version | cut -d'=' -f2)
echo "TAG=${TAG}" >> $GITHUB_ENV
- name: Run build
run: earthly +zip --tag ${{ env.TAG }}
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
build/yaci-devkit-${{env.TAG}}.zip
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}