Skip to content

test with unlock

test with unlock #9

Workflow file for this run

name: Build and Push Docker Image
on:
release:
types: [published]
jobs:
build-and-push-x64:
runs-on: [self-hosted, Linux, X64]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push X64
uses: docker/build-push-action@v6
with:
context: ./docker
file: ./docker/Dockerfile
platforms: linux/amd64
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/ngen:latest-amd64
${{ secrets.DOCKERHUB_USERNAME }}/ngen:${{ github.event.release.tag_name }}-amd64
build-and-push-arm64:
runs-on: [self-hosted, macOS, ARM64]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Unlock keychain
run: security unlock-keychain -p ${{ secrets.mac_password }}
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push ARM64
uses: docker/build-push-action@v6
with:
context: ./docker
file: ./docker/Dockerfile
platforms: linux/arm64
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/ngen:latest-arm64
${{ secrets.DOCKERHUB_USERNAME }}/ngen:${{ github.event.release.tag_name }}-arm64
create-manifest:
needs: [build-and-push-x64, build-and-push-arm64]
runs-on: ubuntu-latest
steps:
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Create and push manifest
run: |
docker manifest create ${{ secrets.DOCKERHUB_USERNAME }}/ngen:latest \
${{ secrets.DOCKERHUB_USERNAME }}/ngen:latest-amd64 \
${{ secrets.DOCKERHUB_USERNAME }}/ngen:latest-arm64
docker manifest create ${{ secrets.DOCKERHUB_USERNAME }}/ngen:${{ github.event.release.tag_name }} \
${{ secrets.DOCKERHUB_USERNAME }}/ngen:${{ github.event.release.tag_name }}-amd64 \
${{ secrets.DOCKERHUB_USERNAME }}/ngen:${{ github.event.release.tag_name }}-arm64
docker manifest push ${{ secrets.DOCKERHUB_USERNAME }}/ngen:latest
docker manifest push ${{ secrets.DOCKERHUB_USERNAME }}/ngen:${{ github.event.release.tag_name }}