Delete snapshot release prior to making a new one #209
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | |
name: CI Build | |
on: | |
pull_request_target: | |
branches: | |
- main | |
types: | |
- closed | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
force_snapshot_release: | |
description: 'Update the snapshot release on github' | |
required: false | |
type: boolean | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
cache: maven | |
- name: Check if a snapshot release should be made and set environment variable | |
run: echo "MAKE_SNAPSHOT_RELEASE=${{ inputs.force_snapshot_release || (github.event.pull_request.base.ref == 'main' && github.event.action == 'closed' && github.event.pull_request.merged == true) }}" >> $GITHUB_ENV | |
# configure git | |
- name: setup git config | |
run: | | |
git config user.name ${{ github.actor }} | |
git config user.email "<>" | |
- name: Build with Maven | |
run: mvn -Pzip install | |
# delete the snapshot release (the release action does not update the body, so we have to delete the whole thing) | |
- name: Delete Snapshot Release | |
if: ${{ env.MAKE_SNAPSHOT_RELEASE == 'true' }} | |
run: gh release delete snapshot --cleanup-tag --yes | |
- name: change tag 'snapshot' to current commit | |
if: ${{ env.MAKE_SNAPSHOT_RELEASE == 'true' }} | |
run: | | |
git tag -f snapshot | |
git push -f origin --tags | |
# Read version changelog | |
- id: get-changelog | |
name: Get version changelog | |
if: ${{ env.MAKE_SNAPSHOT_RELEASE == 'true' }} | |
uses: superfaceai/release-changelog-action@v1 | |
with: | |
path-to-changelog: CHANGELOG.md | |
version: ${{ inputs.release_version }} | |
operation: read | |
- name: Make Release Body | |
if: ${{ env.MAKE_SNAPSHOT_RELEASE == 'true' }} | |
run: | | |
cat src/build/snapshot-release/release-body-header.md > target/release-body.md | |
echo "# Changes" >> target/release-body.md | |
echo "${{ steps.get-changelog.outputs.changelog }}" >> target/release-body.md | |
cat src/build/snapshot-release/release-body-footer.md >> target/release-body.md | |
# Make github release | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
if: ${{ env.MAKE_SNAPSHOT_RELEASE == 'true' }} | |
with: | |
name: Latest snapshot release | |
tag_name: snapshot | |
body_path: target/release-body.md | |
files: target/qudt-public-repo-*.zip |