mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
1fddc53f53
* ci: build alpha action
* ci: use self-hosted runner
* ci: build faster
* ci: multicore dash build
* chore: copy build, dockerize and push
* chore: dockerize build
* chore: remove unnecessary cachedir and checkout steps
* chore: disable qemu
* chore: remove buildx steps now included in AMI
* chore: move binaries in to place for second stage copy
* fix: runner using incorrect build driver
* chore: debug builder info
* chore: more detailed debug
* chore: install qemu and buildx in actions
* fix: indentation
* fix: remove debug code
* feat: multi-arch cross-compiling dockerfile
* chore: remove unnecessary docker layers
* chore: add debug output
* chore: dump context
* fix: use event inputs tag for docker_meta
* chore: dump context again
* fix: context reference syntax
* feat: attempt to use gitian builder
* chore: ff changes from other branches
* chore: disable macOS build
* Revert "chore: ff changes from other branches"
This reverts commit daece1c505
.
* chore: restore GHA changes to fix incorrect merge
* chore: remove duplicate code
* chore: bump buildx version to latest
* chore: try to build without signing
* chore: setup tmate to find build
* chore: run tmate on failure
* fix: invalid path to binaries on copy
* chore: remove unnecessary GPG steps
* chore: replace strophy with dashpay
* fix: gha cache not providing speedup
* Update .github/workflows/release_alpha.yml
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
102 lines
2.8 KiB
YAML
102 lines
2.8 KiB
YAML
name: Build and push image
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: 'Docker tag'
|
|
required: true
|
|
|
|
jobs:
|
|
build:
|
|
name: Run Gitian build
|
|
runs-on: self-hosted
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: dash
|
|
- name: Checkout Gitian builder
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: devrandom/gitian-builder
|
|
path: gitian-builder
|
|
|
|
- name: Checkout detached sigs
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: dashpay/dash-detached-sigs
|
|
path: dash-detached-sigs
|
|
|
|
- name: Checkout gitian sigs
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: dashpay/gitian.sigs
|
|
path: gitian.sigs
|
|
|
|
- name: Docker meta
|
|
id: docker_meta
|
|
uses: docker/metadata-action@v3
|
|
with:
|
|
images: dashpay/dashd
|
|
tags: |
|
|
type=semver,pattern={{version}},value=${{ github.event.inputs.tag }}
|
|
type=raw,value=latest-dev
|
|
flavor: |
|
|
latest=false
|
|
|
|
- name: Install apt-cacher-ng
|
|
run: sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq apt-cacher-ng
|
|
|
|
- name: Get branch name
|
|
id: branch-name
|
|
uses: tj-actions/branch-names@v5
|
|
|
|
- name: Prepare Gitian
|
|
run: dash/contrib/gitian-build.py --setup "dummy" "${{ steps.branch-name.outputs.current_branch }}"
|
|
|
|
- uses: actions/cache@v3
|
|
id: ccache
|
|
with:
|
|
path: /opt/actions-runner/_work/dash/dash/gitian-builder/cache/dash-linux-0.17
|
|
key: ${{ runner.os }}-ccache-${{ github.sha }}
|
|
restore-keys: ${{ runner.os }}-ccache-
|
|
|
|
- name: Run Gitian build
|
|
run: |
|
|
export GPG_TTY=$(tty)
|
|
dash/contrib/gitian-build.py -c -b -n -D -o l \
|
|
-u https://github.com/dashpay/dash \
|
|
-j $(nproc) -m `awk '/^Mem/ {print $7}' <(free -m)` \
|
|
dummy ${{ steps.branch-name.outputs.current_branch }}
|
|
|
|
- name: Set up QEMU to run multi-arch builds
|
|
uses: docker/setup-qemu-action@v1
|
|
|
|
- name: Set up Docker BuildX
|
|
id: buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
with:
|
|
version: v0.8.0
|
|
install: true
|
|
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build and push Docker image
|
|
id: docker_build
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: ${{ github.workspace }}
|
|
file: ./dash/contrib/containers/deploy/Dockerfile.GitHubActions.Gitian
|
|
push: true
|
|
tags: ${{ steps.docker_meta.outputs.tags }}
|
|
labels: ${{ steps.docker_meta.outputs.labels }}
|
|
platforms: linux/amd64,linux/arm64
|
|
build-args: |
|
|
TAG=${{ steps.docker_meta.outputs.version }}
|
|
BRANCH=${{ steps.branch-name.outputs.current_branch }}
|