Skip to content

Build aptos-node-v1.23.3 #51

Build aptos-node-v1.23.3

Build aptos-node-v1.23.3 #51

Workflow file for this run

name: Docker
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
APTOS_GIT_REF: aptos-node-v1.23.3
concurrency: docker
jobs:
prep:
runs-on: ubuntu-latest
outputs:
aptos_git_sha: $${{ steps.resolve.outputs.aptos_git_sha }}
steps:
- name: Checkout aptos-core
uses: actions/checkout@v4
with:
repository: aptos-labs/aptos-core
ref: ${{ env.APTOS_GIT_REF }}
- name: Resolve aptos-core commit SHA
id: resolve
run: |
sha=$(git rev-list -n1 HEAD)
echo "aptos_git_sha=$sha" | tee -a "$GITHUB_OUTPUT"
build_push:
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
include:
- runner: X64
platform: linux/amd64
- runner: ARM64
platform: linux/arm64
needs: prep
env:
APTOS_GIT_REF: ${{ needs.prep.outputs.aptos_git_sha }}
PLATFORM: ${{ matrix.platform }}
runs-on:
- self-hosted
- ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Log into the Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Bake and populate builder-base and runtime-base cache
if: github.event_name == 'push'
uses: docker/bake-action@v5
with:
targets: cache-builder-base,cache-runtime-base
- name: Bake and populate binaries cache
uses: docker/bake-action@v5
with:
targets: cache-binaries
- name: Bake images
uses: docker/bake-action@v5
with:
targets: aptos-node,aptos
push: ${{ github.event_name == 'push' }}
manifest:
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
target: [aptos-node, aptos]
needs: [prep, build_push]
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- name: Log into the Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create manifest
run: |
docker buildx imagetools create -t ghcr.io/shinamicorp/${{ matrix.target }}:${{ env.APTOS_GIT_REF }} \
ghcr.io/shinamicorp/${{ matrix.target }}:${{ needs.prep.outputs.aptos_git_sha }}-linux-amd64 \
ghcr.io/shinamicorp/${{ matrix.target }}:${{ needs.prep.outputs.aptos_git_sha }}-linux-arm64 \