Skip to content

Update PowerShell SDK Version to 1.2.3 #12

Update PowerShell SDK Version to 1.2.3

Update PowerShell SDK Version to 1.2.3 #12

Workflow file for this run

name: "Update Powershell SDK Version"
run-name: Update PowerShell SDK Version to ${{ github.event.inputs.version }}
on:
workflow_dispatch:
inputs:
version:
description: The version to bump to
jobs:
update_powershell_version:
name: Update PowerShell Version
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
fetch-depth: 0
token: ${{ secrets.DEVREL_SERVICE_TOKEN }}
- name: Checkout API Specs Repo
uses: actions/checkout@v3
with:
repository: sailpoint-oss/api-specs
path: api-specs
ref: main
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: "16"
- name: Run Prescript
id: prescript
run: |
node sdk-resources/prescript.js api-specs/idn
# Install yq for working with yaml files
- name: Set up yq
uses: frenck/action-setup-yq@v1
# Check input version is greater than the current tag
- name: Check valid version
run: |
function ver { printf "%03d%03d%03d%03d" $(echo "$1" | tr '.' ' '); }
LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
echo $LATEST_TAG
if [ $(ver $LATEST_TAG) -lt $(ver ${{ github.event.inputs.version}}) ]
then
echo "Input version ${{ github.event.inputs.version }} valid"
else
echo "Current tagged version $LATEST_TAG is greater than input version ${{ github.event.inputs.version }}"
exit 1
fi
## Update configuration files to new version
- name: Update config files with new version
id: updateVersion
run: |
yq -i '.packageVersion = "${{ github.event.inputs.version }}"' sdk-resources/beta-config.yaml
yq -i '.packageVersion = "${{ github.event.inputs.version }}"' sdk-resources/v3-config.yaml
## Update Build.ps1 file with new version
- name: Update Build.ps1 ModuleVersion
id: updateModuleVersion
if: steps.updateVersion.outcome == 'success'
run: |
LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
cd PSSailpoint
sed -e "s/ModuleVersion = '${LATEST_TAG:1}'/ModuleVersion = '${{ github.event.inputs.version }}'/g" Build.ps1 > Build.ps1.tmp && mv Build.ps1.tmp Build.ps1
- name: Build V3 SDK
id: buildV3
if: steps.updateModuleVersion.outcome == 'success'
run: |
rm -rf ./PSSailpoint/v3
java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.v3.yaml -g powershell -o PSSailpoint/v3 --global-property skipFormModel=false --config sdk-resources/v3-config.yaml
node sdk-resources/postscript.js ./PSSailpoint/v3
- name: Build Beta SDK
id: buildBeta
if: steps.buildV3.outcome == 'success'
run: |
rm -rf ./PSSailpoint/beta
java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.beta.yaml -g powershell -o PSSailpoint/beta --global-property skipFormModel=false --config sdk-resources/beta-config.yaml
node sdk-resources/postscript.js ./PSSailpoint/beta
- name: After SDK Build
id: buildSDK
if: steps.buildBeta.outcome == 'success'
shell: pwsh
run: |
$DebugPreference="Continue"
./PSSailpoint/Build.ps1
Import-Module -Name '.\PSSailpoint' -Verbose
- name: Commit changes and create new version tag
if: steps.buildSDK.outcome == 'success'
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Bump version to v${{ github.event.inputs.version }}
tagging_message: v${{ github.event.inputs.version }}
commit_user_name: developer-relations-sp
commit_user_email: [email protected]
- name: Create Draft Release
id: createRelease
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ github.event.inputs.version }}
release_name: v${{ github.event.inputs.version }}
draft: false
prerelease: false