Skip to content

Commit

Permalink
Merge branch 'Azure:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
elanzel authored Dec 6, 2023
2 parents 7a0eada + 16839f4 commit 799f9ba
Show file tree
Hide file tree
Showing 15 changed files with 2,303 additions and 17 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
/avm/res/network/public-ip-prefix/ @Azure/avm-res-network-publicipprefix-module-owners-bicep @Azure/avm-core-team-technical-bicep
/avm/res/network/route-table/ @Azure/avm-res-network-routetable-module-owners-bicep @Azure/avm-core-team-technical-bicep
#/avm/res/network/service-endpoint-policy/ @Azure/avm-res-network-serviceendpointpolicy-module-owners-bicep @Azure/avm-core-team-technical-bicep
#/avm/res/network/trafficmanagerprofile/ @Azure/avm-res-network-trafficmanagerprofile-module-owners-bicep @Azure/avm-core-team-technical-bicep
/avm/res/network/trafficmanagerprofile/ @Azure/avm-res-network-trafficmanagerprofile-module-owners-bicep @Azure/avm-core-team-technical-bicep
#/avm/res/network/virtual-hub/ @Azure/avm-res-network-virtualhub-module-owners-bicep @Azure/avm-core-team-technical-bicep
/avm/res/network/virtual-network/ @Azure/avm-res-network-virtualnetwork-module-owners-bicep @Azure/avm-core-team-technical-bicep
#/avm/res/network/virtual-network-gateway/ @Azure/avm-res-network-virtualnetworkgateway-module-owners-bicep @Azure/avm-core-team-technical-bicep
Expand Down
35 changes: 19 additions & 16 deletions .github/workflows/avm.platform.toggle-avm-workflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ name: "avm.platform.toggle-avm-workflows"
on:
workflow_dispatch:
inputs:
workMode:
targetState:
type: choice
description: "Enable or disable workflows"
required: true
options:
- "enable"
- "disable"
default: "disable"
- "Enable"
- "Disable"
default: "Disable"
includePattern:
type: string
description: "RegEx which workflows are included"
Expand All @@ -33,19 +33,22 @@ jobs:
fetch-depth: 0
- env:
GH_TOKEN: ${{ github.token }}
name: ${{ inputs.workMode }} AVM workflows
name: ${{ inputs.targetState }} AVM workflows
shell: pwsh
run: |
$repo = "${{ github.repository_owner }}/${{ github.event.repository.name }}"
$workflows = gh workflow list --repo $repo --all --json "name,state,id" | ConvertFrom-Json -Depth 100
$relevantWorkflows = $workflows | Where-Object {
$_.name -match "${{ inputs.includePattern }}" -and $_.name -notmatch "${{ inputs.excludePattern }}"
}
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'avm' 'utilities' 'pipelines' 'platform' 'Switch-WorkflowSate.ps1')
foreach ($workflow in $relevantWorkflows) {
if (("${{ inputs.workMode }}" -eq "disable" -and $workflow.state -eq "active") -or ("${{ inputs.workMode }}" -eq "enable" -and $workflow.state -ne "active"))
{
Write-Verbose "${{ inputs.workMode }} $($workflow.name)" -Verbose
gh workflow ${{ inputs.workMode }} $workflow.id --repo $repo
}
$functionInput = @{
RepositoryOwner = '${{ github.repository_owner }}'
RepositoryName = '${{ github.event.repository.name }}'
TargetState = '${{ inputs.targetState }}'.ToLower()
IncludePattern = '${{ inputs.includePattern }}'
ExlcudePattern = '${{ inputs.excludePattern }}'
}
Write-Verbose "Invoke function with" -Verbose
Write-Verbose ($functionInput | ConvertTo-Json | Out-String) -Verbose
# Get the modified child resources
Switch-WorkflowSate @functionInput -Verbose
83 changes: 83 additions & 0 deletions .github/workflows/avm.res.network.trafficmanagerprofile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: "avm.res.network.trafficmanagerprofile"

on:
schedule:
- cron: "0 12 1/15 * *" # Bi-Weekly Test (on 1st & 15th of month)
workflow_dispatch:
inputs:
staticValidation:
type: boolean
description: "Execute static validation"
required: false
default: true
deploymentValidation:
type: boolean
description: "Execute deployment validation"
required: false
default: true
removeDeployment:
type: boolean
description: "Remove deployed module"
required: false
default: true

push:
branches:
- main
paths:
- ".github/actions/templates/avm-**"
- ".github/workflows/avm.template.module.yml"
- ".github/workflows/avm.res.network.trafficmanagerprofile"
- "avm/res/network/trafficmanagerprofile/**"
- "avm/utilities/pipelines/**"
- "!*/**/README.md"

env:
modulePath: "avm/res/network/trafficmanagerprofile"
workflowPath: ".github/workflows/avm.res.network.trafficmanagerprofile.yml"

concurrency:
group: ${{ github.workflow }}

jobs:
###########################
# Initialize pipeline #
###########################
job_initialize_pipeline:
runs-on: ubuntu-20.04
name: "Initialize pipeline"
steps:
- name: "Checkout"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Set input parameters to output variables"
id: get-workflow-param
uses: ./.github/actions/templates/avm-getWorkflowInput
with:
workflowPath: "${{ env.workflowPath}}"
- name: "Get module test file paths"
id: get-module-test-file-paths
uses: ./.github/actions/templates/avm-getModuleTestFiles
with:
modulePath: "${{ env.modulePath }}"
outputs:
workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }}
moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }}
psRuleModuleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.psRuleModuleTestFilePaths }}
modulePath: "${{ env.modulePath }}"

##############################
# Call reusable workflow #
##############################
call-workflow-passing-data:
name: "Module"
needs:
- job_initialize_pipeline
uses: ./.github/workflows/avm.template.module.yml
with:
workflowInput: "${{ needs.job_initialize_pipeline.outputs.workflowInput }}"
moduleTestFilePaths: "${{ needs.job_initialize_pipeline.outputs.moduleTestFilePaths }}"
psRuleModuleTestFilePaths: "${{ needs.job_initialize_pipeline.outputs.psRuleModuleTestFilePaths }}"
modulePath: "${{ needs.job_initialize_pipeline.outputs.modulePath}}"
secrets: inherit
Loading

0 comments on commit 799f9ba

Please sign in to comment.