From 9652a89629fe7e007a635aa2b3cd2e2063ca6a29 Mon Sep 17 00:00:00 2001 From: max furman Date: Mon, 22 Feb 2021 21:05:24 -0800 Subject: [PATCH] [action] release housekeeping - separate create_release, goreleaser, and debian to parallelize - 1.15.8 - ubuntu-20.04 --- .github/workflows/release.yml | 76 +++++++++++++++++++++++++++++++---- .goreleaser.yml | 2 +- 2 files changed, 70 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8c43aaaf..74787a99 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ on: jobs: test: name: Lint, Test, Build - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 outputs: is_prerelease: ${{ steps.is_prerelease.outputs.IS_PRERELEASE }} steps: @@ -20,7 +20,7 @@ jobs: name: Setup Go uses: actions/setup-go@v2 with: - go-version: '^1.15.6' + go-version: '^1.15.8' - name: Install Deps id: install-deps @@ -39,10 +39,38 @@ jobs: if [ $OUT -eq 0 ]; then IS_PRERELEASE=true; else IS_PRERELEASE=false; fi echo "::set-output name=IS_PRERELEASE::${IS_PRERELEASE}" - release: - name: Create Release & Upload Assets - runs-on: ubuntu-latest + create_release: + name: Create Release needs: test + runs-on: ubuntu-20.04 + outputs: + is_prerelease: ${{ steps.is_prerelease.outputs.IS_PRERELEASE }} + steps: + - + name: Is Pre-release + id: is_prerelease + run: | + set +e + echo ${{ github.ref }} | grep "\-rc.*" + OUT=$? + if [ $OUT -eq 0 ]; then IS_PRERELEASE=true; else IS_PRERELEASE=false; fi + echo "::set-output name=IS_PRERELEASE::${IS_PRERELEASE}" + - + name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: false + prerelease: ${{ steps.is_prerelease.outputs.IS_PRERELEASE }} + + goreleaser: + name: Create Release & Upload Assets + runs-on: ubuntu-20.04 + needs: create_release steps: - name: Checkout @@ -63,9 +91,43 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.PAT }} + release_deb: + name: Build & Release Debian package + runs-on: ubuntu-20.04 + needs: create_release + steps: + - + name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - + name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: '^1.15.8' + - + name: APT Install + id: aptInstall + run: sudo apt-get -y install build-essential debhelper fakeroot + - + name: Build Debian package + id: build + run: | + PATH=$PATH:/usr/local/go/bin:/home/admin/go/bin + make debian + - + name: Upload Debian Package + id: upload_deb + run: | + tag_name="${GITHUB_REF##*/}" + hub release edit $(find ./.releases -type f -printf "-a %p ") -m "" "$tag_name" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build_upload_docker: name: Build & Upload Docker Images - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 needs: test steps: - name: Checkout @@ -73,7 +135,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v2 with: - go-version: '^1.15.6' + go-version: '^1.15.8' - name: Build id: build run: | diff --git a/.goreleaser.yml b/.goreleaser.yml index e4bf1b87..880a3f4a 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -105,7 +105,7 @@ release: # in case there is an indicator for this in the tag e.g. v1.0.0-rc1 # If set to true, will mark the release as not ready for production. # Default is false. - prerelease: auto + prerelease: false # You can change the name of the release. # Default is `{{.Tag}}`