dash/.github/workflows/release_docker_hub.yml

81 lines
2.2 KiB
YAML
Raw Normal View History

name: Release to Docker Hub
on:
release:
types: [published]
jobs:
release:
name: Release to Docker Hub
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set raw tag
id: get_tag
run: |
TAG=${{ github.event.release.tag_name }}
echo "build_tag=${TAG#v}" >> $GITHUB_OUTPUT
- name: Set suffix
uses: actions/github-script@v6
id: suffix
with:
result-encoding: string
script: |
const fullTag = '${{ github.event.release.tag_name }}';
if (fullTag.includes('-')) {
const [, fullSuffix] = fullTag.split('-');
const [suffix] = fullSuffix.split('.');
return `-${suffix}`;
} else {
return '';
}
- name: Set Docker tags and labels
id: docker_meta
uses: docker/metadata-action@v4
with:
images: dashpay/dashd
tags: |
type=match,pattern=v(\d+),group=1
type=match,pattern=v(\d+.\d+),group=1
type=match,pattern=v(\d+.\d+.\d+),group=1
type=match,pattern=v(.*),group=1,suffix=
flavor: |
suffix=${{ steps.suffix.outputs.result }},onlatest=true
- name: Build and push
id: docker_build
uses: docker/build-push-action@v3
with:
2022-04-28 18:35:50 +02:00
context: ./contrib/containers/deploy
ci: build on-demand docker images for testing on devnets (#4667) * 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 daece1c50597e603f4f6027bf93240a0771eb5d3. * 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>
2022-04-04 00:24:06 +02:00
file: ./contrib/containers/deploy/Dockerfile.GitHubActions.Release
push: true
Merge #6160: feat: add sbom and provenance in release for dockerhub; use jammy; apt remove as possible 9178e8a75f7f8846ef40f8f5af53462269b2d4ac feat: add smob and provenance in release for dockerhub; use jammy; apt remove as possible (pasta) Pull request description: ## Issue being fixed or feature implemented Docker provenance refers to the origin and history of Docker images, including how they were built, modified, and by whom. An SBOM (Software Bill of Materials) is a detailed list of all components in a software application, providing transparency about libraries, dependencies, and versions used, which is crucial for security and compliance. ## What was done? Add SBOM and provenance to docker build; this may allow some level of validation that GitHub actions is actually doing what it says it is. See this for more information https://docs.docker.com/build/ci/github-actions/attestations/ ## How Has This Been Tested? Building with buildx with sbom and provenance flags locally ## Breaking Changes None ## Checklist: _Go over all the following points, and put an `x` in all the boxes that apply._ - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: UdjinM6: utACK 9178e8a75f7f8846ef40f8f5af53462269b2d4ac Tree-SHA512: 6e3f35a0b30f002e2d5d80d6dd18ee554a1c15c62c1d4cbe1185f38977f55a199998515cf5bb9a027670f068f3d56ef33faa062d8c4122a886375d00afe6bf2f
2024-08-01 16:15:50 +02:00
provenance: mode=max
sbom: true
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
build-args: |
TAG=${{ steps.get_tag.outputs.build_tag }}
GITHUB_REPOSITORY=${{ github.repository }}
ci: build on-demand docker images for testing on devnets (#4667) * 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 daece1c50597e603f4f6027bf93240a0771eb5d3. * 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>
2022-04-04 00:24:06 +02:00
cache-from: type=gha
cache-to: type=gha,mode=max
platforms: linux/amd64,linux/arm64
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}