From 2d0759c7492c6225d57c6862681b8cc7b5323451 Mon Sep 17 00:00:00 2001 From: Kotochleb Date: Wed, 22 Mar 2023 16:56:37 +0100 Subject: [PATCH] Update github action --- .github/pull_request_template.md | 3 ++ .github/workflows/bump_version.yaml | 60 +++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/bump_version.yaml diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..f84855b9 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,3 @@ +# TODO: specify bump command and remove this description + +Bump version workflow is triggered when PR is closed, it bumps version and triggers docker build that will be tagged with version number. To use it you have to specify bump type, available commands: `bump::patch`, `bump::minor` and `bump::major` (simply leave one of them in PR description and remove this description). diff --git a/.github/workflows/bump_version.yaml b/.github/workflows/bump_version.yaml new file mode 100644 index 00000000..a2bdd4cc --- /dev/null +++ b/.github/workflows/bump_version.yaml @@ -0,0 +1,60 @@ +name: Bump version +on: + workflow_dispatch: + inputs: + name: + description: "Version to bump (major, minor, patch)" + default: "patch" + required: true + pull_request: + branches: ros1 + types: [closed] + +jobs: + get-bump: + name: Get version bump + runs-on: ubuntu-latest + outputs: + bump: ${{ env.BUMP }} + steps: + - if: github.event_name == 'pull_request' && github.event.pull_request.merged == true + name: Get version bump + id: get-version-bump + uses: husarion-ci/action-get-version-bump@v0.3.0 + - if: github.event_name == 'pull_request' && github.event.pull_request.merged == true + run: echo "BUMP=${{ steps.get-version-bump.outputs.bump }}" >> $GITHUB_ENV + - if: github.event_name == 'workflow_dispatch' + run: echo "BUMP=${{ github.event.inputs.name }}" >> $GITHUB_ENV + + catkin-release: + name: Bump version + runs-on: ubuntu-latest + needs: get-bump + outputs: + new_version: ${{ steps.catkin-release.outputs.new_version }} + steps: + - + name: Checkout + uses: actions/checkout@v2 + - + name: Catkin release + id: catkin-release + uses: husarion-ci/action-catkin-release@v0.1.4 + with: + bump: ${{ needs.get-bump.outputs.bump }} + github_token: ${{ secrets.GITHUB_TOKEN }} + git_user: action-bot + git_email: action-bot@action-bot.com + + build-and-push-docker-image: + name: Create new docker image + runs-on: ubuntu-latest + needs: catkin-release + steps: + - name: trigger the endpoint + run: > + curl -X POST + -H "Accept: application/vnd.github+json" + -H "Authorization: Bearer ${{ secrets.GH_PAT }}" + https://api.github.com/repos/husarion/panther-docker/dispatches + -d '{"event_type":"ros-package-update","client_payload":{"image_version":"${{ needs.catkin-release.outputs.new_version }}"}}'