Skip to content

Update PowerShell SDK Version to 1.4.6 #2

Update PowerShell SDK Version to 1.4.6

Update PowerShell SDK Version to 1.4.6 #2

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
yq -i '.packageVersion = "${{ github.event.inputs.version }}"' sdk-resources/v2024-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 Tm
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 V2024 SDK
id: buildV2024
if: steps.updateModuleVersion.outcome == 'success'
run: |
rm -rf ./Tm/v2024
java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.v2024.yaml -g powershell -o Tm/v2024 --global-property skipFormModel=false --config sdk-resources/v2024-config.yaml
node sdk-resources/postscript.js ./Tm/v2024
- name: Build V3 SDK
id: buildV3
if: steps.buildV2024.outcome == 'success'
run: |
rm -rf ./Tm/v3
java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.v3.yaml -g powershell -o Tm/v3 --global-property skipFormModel=false --config sdk-resources/v3-config.yaml
node sdk-resources/postscript.js ./Tm/v3
- name: Build Beta SDK
id: buildBeta
if: steps.buildV3.outcome == 'success'
run: |
rm -rf ./Tm/beta
java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.beta.yaml -g powershell -o Tm/beta --global-property skipFormModel=false --config sdk-resources/beta-config.yaml
node sdk-resources/postscript.js ./Tm/beta
- name: After SDK Build
id: buildSDK
if: steps.buildBeta.outcome == 'success'
shell: pwsh
run: |
$DebugPreference="Continue"
./Tm/Build.ps1
./Tm/v3/Build.ps1
./Tm/v2024/Build.ps1
./Tm/beta/Build.ps1
Import-Module -Name '.\Tm\beta\src\Tm.Beta' -Verbose
Import-Module -Name '.\Tm\v3\src\Tm.V3' -Verbose
Import-Module -Name '.\Tm\v2024\src\Tm.V2024' -Verbose
. .\Tm\Configuration.ps1
. .\Tm\Pagination.ps1
- 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: tyler-mairose-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