Skip to content

Merge pull request #121 from hvalev/monero-updates #38

Merge pull request #121 from hvalev/monero-updates

Merge pull request #121 from hvalev/monero-updates #38

Workflow file for this run

name: build
on:
push:
paths-ignore:
- 'README.md'
tags:
- '**'
jobs:
buildx:
runs-on: ubuntu-20.04
strategy:
matrix:
build: [ {arch: armv7, platform: linux/arm/v7}, {arch: arm64, platform: linux/arm64}, {arch: amd64, platform: linux/amd64} ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Version
id: get_version
uses: battila7/[email protected]
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Cache Docker layers
uses: actions/[email protected]
with:
path: /tmp/.buildx-cache-${{ matrix.build.arch }}
key: ${{ runner.os }}-${{ matrix.build.arch }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-${{ matrix.build.arch }}-buildx-
- name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUBUNAME }}
password: ${{ secrets.DOCKERHUBPWD }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
builder: ${{ steps.buildx.outputs.name }}
platforms: ${{ matrix.build.platform }}
push: true
tags: |
hvalev/monero-node:${{ steps.get_version.outputs.version }}-${{ matrix.build.arch }}
hvalev/monero-node:latest-${{ matrix.build.arch }}
cache-from: type=local,src=/tmp/.buildx-cache-${{ matrix.build.arch }}
cache-to: type=local,dest=/tmp/.buildx-cache-new-${{ matrix.build.arch }}
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache-${{ matrix.build.arch }}
mv /tmp/.buildx-cache-new-${{ matrix.build.arch }} /tmp/.buildx-cache-${{ matrix.build.arch }}
collate:
needs: buildx
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Version
id: get_version
uses: battila7/[email protected]
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUBUNAME }}
password: ${{ secrets.DOCKERHUBPWD }}
- name: Create and push versioned multi-architecture image manifest
env:
IMAGE_TAG: ${{ steps.get_version.outputs.version }}
run: |
docker buildx imagetools create --tag hvalev/monero-node:${{ steps.get_version.outputs.version }} \
hvalev/monero-node:${{ steps.get_version.outputs.version }}-armv7 \
hvalev/monero-node:${{ steps.get_version.outputs.version }}-arm64 \
hvalev/monero-node:${{ steps.get_version.outputs.version }}-amd64
- name: Create and push latest multi-architecture image manifest
env:
IMAGE_TAG: latest
run: |
docker buildx imagetools create --tag hvalev/monero-node:latest \
hvalev/monero-node:latest-armv7 \
hvalev/monero-node:latest-arm64 \
hvalev/monero-node:latest-amd64
- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v4
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUBUNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUBPWD }}
DOCKERHUB_REPOSITORY: hvalev/monero-node