From 7dbc04ba4389e9cc7cd0a123762f023f7936b1ea Mon Sep 17 00:00:00 2001 From: Jamil Date: Wed, 18 May 2022 19:58:08 -0700 Subject: [PATCH] Use release drafter resolved version (#630) * Use release drafter resolved version * Publish to drafted release on merges to master * see if this works * underscore -> hyphen Co-authored-by: Po Chen --- .github/workflows/ci.yml | 49 +++++++++++++++-------------- omnibus/config/projects/firezone.rb | 3 +- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f756058d5..0e4ffcc88 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,9 +5,8 @@ concurrency: ci name: CI on: - workflow_dispatch: push: - pull_request: + defaults: run: shell: bash @@ -126,9 +125,23 @@ jobs: # coveralls fails mix coveralls.github --umbrella || mix test + draft-release: + runs-on: ubuntu-20.04 + needs: + - static-analysis + - unit-test + - lint-docs + outputs: + tag_name: ${{ steps.release_drafter.outputs.tag_name }} + steps: + - uses: release-drafter/release-drafter@v5 + id: release_drafter + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + build-package-test: # Doesn't really need, but don't run this stage when iterating over docs - needs: lint-docs + needs: draft-release env: TELEMETRY_ENABLED: "false" runs-on: ${{ matrix.platform }} @@ -168,6 +181,7 @@ jobs: - name: Build env: GIT_SHA: ${{ github.sha }} + VERSION: ${{ needs.draft-release.outputs.tag_name }} run: | echo "removing lock file in case last run sucked" sudo rm -f /opt/runner/omnibus-local/cache/git_cache/opt/firezone/index.lock @@ -200,25 +214,12 @@ jobs: sudo rm -rf /tmp/firezone* rm -rf omnibus/pkg/* - draft_release: - runs-on: ubuntu-latest - needs: - - static-analysis - - unit-test - - lint-docs - - build-package-test - # Draft releases on merges to master - if: startsWith(github.ref, 'refs/heads/master') - outputs: - tag_name: ${{ steps.release_drafter.outputs.tag_name }} - steps: - - uses: release-drafter/release-drafter@v5 - id: release_drafter - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - + # Publish packages to the drafted release on merges to master so we can + # manually test them if needed. Then we can just publish the drafted release + # and we're good to go. publish: - needs: draft_release + if: startsWith(github.ref, 'refs/heads/master') + needs: build-package-test runs-on: ubuntu-20.04 strategy: matrix: @@ -254,12 +255,12 @@ jobs: path: ./ - name: Rename artifact file to tag run: | - mv ./firezone*.rpm firezone_${{ needs.draft_release.outputs.tag_name }}-${{ matrix.platform }}.rpm || true - mv ./firezone*.deb firezone_${{ needs.draft_release.outputs.tag_name }}-${{ matrix.platform }}.deb || true + mv ./firezone*.rpm firezone_${{ needs.draft-release.outputs.tag_name }}-${{ matrix.platform }}.rpm || true + mv ./firezone*.deb firezone_${{ needs.draft-release.outputs.tag_name }}-${{ matrix.platform }}.deb || true - name: Release uses: softprops/action-gh-release@v1 with: - tag_name: ${{ needs.draft_release.outputs.tag_name }} + tag_name: ${{ needs.draft-release.outputs.tag_name }} draft: true files: | ./firezone*.rpm diff --git a/omnibus/config/projects/firezone.rb b/omnibus/config/projects/firezone.rb index ac9dda866..6026fd529 100644 --- a/omnibus/config/projects/firezone.rb +++ b/omnibus/config/projects/firezone.rb @@ -33,7 +33,8 @@ install_dir "#{default_root}/#{name}" stage_path = '/opt/runner/omnibus-local/stage' ENV['CI'] && Dir.exist?(stage_path) && staging_dir(stage_path) -build_version Omnibus::BuildVersion.semver +# Use Release Drafter's resolved version +build_version ENV.fetch('VERSION', Omnibus::BuildVersion.semver) build_iteration 1 # firezone build dependencies/components