diff --git a/.github/workflows/release-cli.yml b/.github/workflows/build-release-binaries.yml similarity index 97% rename from .github/workflows/release-cli.yml rename to .github/workflows/build-release-binaries.yml index 6d59dcc2..4d9b3b50 100644 --- a/.github/workflows/release-cli.yml +++ b/.github/workflows/build-release-binaries.yml @@ -1,12 +1,12 @@ -name: "Release swap and asb" +name: "Build swap and asb release binaries" on: release: types: [created] jobs: - release: - name: Release swap + build_binaries: + name: Build swap and asb binaries strategy: matrix: include: diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml new file mode 100644 index 00000000..f10e7f6b --- /dev/null +++ b/.github/workflows/create-release.yml @@ -0,0 +1,41 @@ +name: "Create release" + +on: + pull_request: + types: + - closed + +jobs: + create_release: + name: Create from merged release branch + if: github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'release/') + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Extract version from branch name + id: extract-version + shell: python + run: | + branch_name = "${{ github.event.pull_request.head.ref }}" + version = branch_name.split("/")[1] + + print(f"::set-output name=version::{version}") + + - name: Extract changelog section for release + id: changelog + uses: coditory/changelog-parser@v1 + with: + version: ${{ steps.extract-version.outputs.version }} + + - name: Create release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.BOTTY_GITHUB_TOKEN }} + with: + tag_name: ${{ steps.extract-version.outputs.version }} + release_name: ${{ steps.extract-version.outputs.version }} + draft: false + prerelease: false + body: ${{ steps.changelog.outputs.description }} + commitish: ${{ github.event.pull_request.merge_commit_sha }}