Skip to content

Fully automated release #16

Fully automated release

Fully automated release #16

# this action is triggered by selecting the action in the github UI and then clicking "run workflow"
name: Fully automated release
on:
workflow_dispatch:
inputs:
promotiontype:
description: Promotion type (major, minor, patch)
required: true
default: 'patch'
type: choice
options:
- major
- minor
- patch
jobs:
archiveInput:
runs-on: ubuntu-latest
steps:
- run: echo ${{ github.event.inputs.promotiontype }} >> promotiontype.txt
- name: Archive type
uses: actions/upload-artifact@v4
with:
name: promotiontype
retention-days: 1
path: |
./promotiontype.txt
updateAndCreatePR:
env:
GOFLAGS: "-mod=mod"
GOWORK: "off"
defaults:
run:
working-directory: .
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.21
- name: Get latest SDK version
run: |
export LATEST_REMOTE_TAG_CMD="git ls-remote --tags --refs --sort='version:refname' REMOTE_REPO | grep -Eo 'v?[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$' | tail -1"
REMOTE_REPO_PATH="https://github.com/Axway/agent-sdk"
CMD=${LATEST_REMOTE_TAG_CMD/"REMOTE_REPO"/${REMOTE_REPO_PATH}}
export SDK_VERSION=$(eval $CMD)
echo "SDK_VERSION=${SDK_VERSION}" >> $GITHUB_ENV
- name: Update SDK version in go.mod
working-directory: .
run: |
echo "SDK_VERSION is ${{ env.SDK_VERSION }}"
make dep-version sdk=${{ env.SDK_VERSION }}
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v6
with:
branch: APIGOV-UpdateSDKForRelease
commit-message: 'Update to SDK ${{ env.SDK_VERSION }}'
title: 'APIGOV-UpdateSDKForRelease - Update to SDK ${{ env.SDK_VERSION }}'
delete-branch: true
reviewers: dfeldick
- name: Enable Pull Request Automerge
run: gh pr merge APIGOV-UpdateSDKForRelease --admin --merge --subject "Merge branch APIGOV-UpdateSDKForRelease"
env:
GH_TOKEN: ${{ secrets.ACTION_ACCESS_TOKEN }}