erigon-pulse/.github/workflows/release.yml
Max Revitt bf1d08c8cc
feat(release): github action, build script, and release manager (#6818)
- [x] setup infra
- [x] provide readme
- [x] setup secrets (keys) for infra
- [x] resolve todos
- [x] remove unnecessary test actions triggers
- [x] update go path (should be installed on runner properly - unlike my
self hosted quick setup)
- [x] provide docs on using checksum and signature to verify the binary
2023-03-03 10:11:28 +00:00

60 lines
1.5 KiB
YAML

name: Release
# Uncomment the following to let goreleaser automatically
# create a GitHub release when a tag is pushed.
# permissions:
# contents: write
on:
push:
branches-ignore:
- '**'
tags:
- 'v*.*.*'
# to be used by fork patch-releases ^^
- 'v*.*.*-*'
workflow_dispatch:
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: dockerhub-login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB }}
password: ${{ secrets.DOCKERHUB_KEY }}
- name: ghcr-login
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare
id: prepare
run: |
TAG=${GITHUB_REF#refs/tags/}
echo ::set-output name=tag_name::${TAG}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Run GoReleaser
run: |
make release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ steps.prepare.outputs.tag_name }}
DOCKER_USERNAME: ${{ secrets.DOCKERHUB }}
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_KEY }}
- name: Publish downloads
run:
cd cmd/release && docker build --build-arg GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} -t thorax/download:latest .
docker push thorax/download:latest