FWB gha update #23
Workflow file for this run
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: "[FGT] Azure Marketplace release" | |
on: | |
push: | |
tags: | |
- "*" | |
- "!FPX-*" | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Getting all data ready for publishing | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Azure Login via Az module | |
uses: azure/login@v2 | |
with: | |
creds: ${{secrets.AZURE_CREDENTIALS}} | |
enable-AzPSSession: true | |
- name: Package and convert templates | |
uses: azure/powershell@v2 | |
with: | |
inlineScript: | | |
$buildingBlocks = @("A-Single-VM", "Active-Active-ELB-ILB","Active-Passive-ELB-ILB","Active-Passive-SDN") | |
$fgtMarketplaceVersions = @() | |
$fgtMarketplaceVersionsUI = @() | |
$fortigateVersions = Get-AzVMImage -PublisherName "fortinet" -Location eastus -Offer "fortinet_fortigate-vm_v5" -sku "fortinet_fg-vm" | |
$fgtMarketplaceVersions += $($fortigateVersions | Where-Object {$_.Version.StartsWith("6")} | Sort-Object -Unique -Property Version | Select-Object -Last 2).Version | |
$fgtMarketplaceVersions += $($fortigateVersions | Where-Object {$_.Version.StartsWith("7")} | Sort-Object -Unique -Property Version | Select-Object -Last 2).Version | |
$fgtMarketplaceVersions += "latest" | |
$fgtMarketplaceVersions | ForEach-Object { $fgtMarketplaceVersionsUI += [pscustomobject]@{label=$_;value=$_} } | |
foreach ($buildingBlock in $buildingBlocks) { | |
$dest = "./releases/${buildingBlock}/" | |
[void](New-Item -Path "${dest}" -Type Directory) | |
$content = Get-Content -Raw -Path "./FortiGate/${buildingBlock}/azuredeploy.json" | ConvertFrom-Json | |
$content.parameters.fortiGateImageVersion.allowedValues = $fgtMarketplaceVersions | |
$content.resources.Where({$_.type -eq 'Microsoft.Resources/deployments'})[0].name = "pid-776b2227-2743-485a-b385-e9dfd42bfe75-partnercenter" | |
$content | ConvertTo-Json -depth 100 | Out-File "${dest}/mainTemplate.json" | |
"" | Out-File -Append "${dest}/mainTemplate.json" | |
$content = Get-Content -Raw -Path "./FortiGate/${buildingBlock}/createUiDefinition.json" | ConvertFrom-Json | |
$content.parameters.basics.Where({$_.Name.equals("fortiGateImageVersion")}).constraints.allowedValues = $fgtMarketplaceVersionsUI | |
$content | ConvertTo-Json -depth 100 | Out-File "${dest}/createUiDefinition.json" | |
"" | Out-File -Append "${dest}/createUiDefinition.json" | |
} | |
Compress-Archive -Path "./releases/*" -DestinationPath "./releases/fortigate-azure-templates.zip" | |
azPSVersion: "latest" | |
- name: upload-templates-zip | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{secrets.GITHUB_TOKEN}} | |
file: ./releases/fortigate-azure-templates.zip | |
asset_name: fortigate-azure-templates.zip | |
tag: ${{github.ref}} | |
overwrite: true | |
body: "FortiGate Azure Marketplace Release" |