Build Service Catalog Managed Applications #236
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
name: Build Service Catalog Managed Applications | |
permissions: | |
id-token: write | |
contents: read | |
on: | |
workflow_dispatch: | |
env: | |
app_version: ${{ vars.major_version_number }}.${{ vars.minor_version_number }}.${{ github.run_number }} | |
# reference | |
# conditional steps: https://www.meziantou.net/executing-github-actions-jobs-or-steps-only-when-specific-files-change.htm | |
jobs: | |
build-service-catalog-app: | |
runs-on: ubuntu-latest | |
environment: dev | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: '100' | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- run: pip install -r cli/requirements.txt | |
- name: Setup .NET 7.0 SDK | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: '7.0.x' | |
- name: Setup tools | |
run: | | |
echo "installing jq" | |
sudo apt-get update && sudo apt-get install -y jq | |
source ./scripts/cli-setup.sh | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
- name: Build Service Catalog | |
run: | | |
latest_version=$(az sig image-version list -g ${{ vars.IMAGE_RESOURCE_GROUP }} -i ${{ vars.IMAGE_NAME }} -r ${{ vars.IMAGE_GALLERY_NAME }} -o json | jq -r 'sort_by(.name | split(".") | map(tonumber))[-1].name') | |
echo "pulled latest version $latest_version" | |
vmi_reference_id="/subscriptions/${{ secrets.AZURE_SUBSCRIPTION_ID }}/resourceGroups/${{ vars.IMAGE_RESOURCE_GROUP }}/providers/Microsoft.Compute/galleries/${{ vars.IMAGE_GALLERY_NAME }}/images/${{ vars.IMAGE_NAME }}/versions/$latest_version" | |
resource_group=${{ vars.resource_group }} | |
storage_account=${{ vars.service_catalog_storage_account }} | |
scenarios=$(echo "${{ vars.service_catalog_scenarios }}") | |
for scenario in $scenarios; | |
do | |
./scripts/build-managedapp.sh -v $latest_version \ | |
--scenario $scenario \ | |
--version $latest_version \ | |
--resource-group $resource_group \ | |
--image-id $vmi_reference_id \ | |
--storage-account $storage_account | |
done |