Updated AL-Go System Files #11
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: ' Test Current' | ||
on: | ||
workflow_dispatch: | ||
permissions: | ||
contents: read | ||
defaults: | ||
run: | ||
shell: pwsh | ||
env: | ||
workflowDepth: 1 | ||
workflowDepth: 3 | ||
ALGoOrgSettings: ${{ vars.ALGoOrgSettings }} | ||
ALGoRepoSettings: ${{ vars.ALGoRepoSettings }} | ||
jobs: | ||
Initialization: | ||
needs: [ ] | ||
runs-on: [ ubuntu-latest ] | ||
outputs: | ||
telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }} | ||
githubRunner: ${{ steps.ReadSettings.outputs.GitHubRunnerJson }} | ||
githubRunnerShell: ${{ steps.ReadSettings.outputs.GitHubRunnerShell }} | ||
projects: ${{ steps.determineProjectsToBuild.outputs.ProjectsJson }} | ||
projectDependenciesJson: ${{ steps.determineProjectsToBuild.outputs.ProjectDependenciesJson }} | ||
buildOrderJson: ${{ steps.determineProjectsToBuild.outputs.BuildOrderJson }} | ||
workflowDepth: ${{ steps.DetermineWorkflowDepth.outputs.WorkflowDepth }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
lfs: true | ||
- name: Initialize the workflow | ||
id: init | ||
uses: freddydk/AL-Go/Actions/WorkflowInitialize@placeholders | ||
with: | ||
shell: pwsh | ||
eventId: "DO0101" | ||
- name: Read settings | ||
id: ReadSettings | ||
uses: freddydk/AL-Go/Actions/ReadSettings@placeholders | ||
with: | ||
shell: pwsh | ||
- name: Determine Workflow Depth | ||
id: DetermineWorkflowDepth | ||
run: | | ||
Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "WorkflowDepth=$($env:workflowDepth)" | ||
- name: Determine Projects To Build | ||
id: determineProjectsToBuild | ||
uses: freddydk/AL-Go/Actions/DetermineProjectsToBuild@placeholders | ||
with: | ||
shell: pwsh | ||
maxBuildDepth: ${{ env.workflowDepth }} | ||
Build: | ||
Build1: | ||
needs: [ Initialization ] | ||
needs: [ Initialization ] | ||
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0 | ||
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0 | ||
strategy: | ||
matrix: | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }} | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }} | ||
fail-fast: false | ||
name: Build ${{ matrix.projectName }} (${{ matrix.buildMode }}) | ||
uses: ./.github/workflows/_BuildALGoProject.yaml | ||
secrets: inherit | ||
with: | ||
shell: ${{ needs.Initialization.outputs.githubRunnerShell }} | ||
runsOn: ${{ needs.Initialization.outputs.githubRunner }} | ||
parentTelemetryScopeJson: ${{ needs.Initialization.outputs.telemetryScopeJson }} | ||
project: ${{ matrix.project }} | ||
projectName: ${{ matrix.projectName }} | ||
buildMode: ${{ matrix.buildMode }} | ||
projectDependenciesJson: ${{ needs.Initialization.outputs.projectDependenciesJson }} | ||
secrets: 'licenseFileUrl,insiderSasToken,codeSignCertificateUrl,*codeSignCertificatePassword,keyVaultCertificateUrl,*keyVaultCertificatePassword,keyVaultClientId,gitHubPackagesContext,applicationInsightsConnectionString' | ||
publishThisBuildArtifacts: ${{ needs.Initialization.outputs.workflowDepth > 1 }} | ||
artifactsNameSuffix: 'Current' | ||
Build2: | ||
needs: [ Initialization, Build1 ] | ||
needs: [ Initialization ] | ||
needs: [ Initialization ] | ||
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0 | ||
if: (!failure()) && (!cancelled()) && (needs.Build1.result == 'success' || needs.Build1.result == 'skipped') && fromJson(needs.Initialization.outputs.buildOrderJson)[1].projectsCount > 0 | ||
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0 | ||
strategy: | ||
matrix: | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }} | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[1].buildDimensions }} | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }} | ||
fail-fast: false | ||
name: Build ${{ matrix.projectName }} (${{ matrix.buildMode }}) | ||
uses: ./.github/workflows/_BuildALGoProject.yaml | ||
secrets: inherit | ||
with: | ||
shell: ${{ needs.Initialization.outputs.githubRunnerShell }} | ||
runsOn: ${{ needs.Initialization.outputs.githubRunner }} | ||
parentTelemetryScopeJson: ${{ needs.Initialization.outputs.telemetryScopeJson }} | ||
project: ${{ matrix.project }} | ||
projectName: ${{ matrix.projectName }} | ||
buildMode: ${{ matrix.buildMode }} | ||
projectDependenciesJson: ${{ needs.Initialization.outputs.projectDependenciesJson }} | ||
secrets: 'licenseFileUrl,insiderSasToken,codeSignCertificateUrl,*codeSignCertificatePassword,keyVaultCertificateUrl,*keyVaultCertificatePassword,keyVaultClientId,gitHubPackagesContext,applicationInsightsConnectionString' | ||
publishThisBuildArtifacts: ${{ needs.Initialization.outputs.workflowDepth > 1 }} | ||
artifactsNameSuffix: 'Current' | ||
Build: | ||
needs: [ Initialization, Build2, Build1 ] | ||
needs: [ Initialization, Build1 ] | ||
needs: [ Initialization ] | ||
needs: [ Initialization ] | ||
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0 | ||
if: (!failure()) && (!cancelled()) && (needs.Build2.result == 'success' || needs.Build2.result == 'skipped') && (needs.Build1.result == 'success' || needs.Build1.result == 'skipped') && fromJson(needs.Initialization.outputs.buildOrderJson)[2].projectsCount > 0 | ||
if: (!failure()) && (!cancelled()) && (needs.Build1.result == 'success' || needs.Build1.result == 'skipped') && fromJson(needs.Initialization.outputs.buildOrderJson)[1].projectsCount > 0 | ||
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0 | ||
strategy: | ||
matrix: | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }} | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[2].buildDimensions }} | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[1].buildDimensions }} | ||
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }} | ||
fail-fast: false | ||
name: Build ${{ matrix.projectName }} (${{ matrix.buildMode }}) | ||
uses: ./.github/workflows/_BuildALGoProject.yaml | ||
secrets: inherit | ||
with: | ||
shell: ${{ needs.Initialization.outputs.githubRunnerShell }} | ||
runsOn: ${{ needs.Initialization.outputs.githubRunner }} | ||
parentTelemetryScopeJson: ${{ needs.Initialization.outputs.telemetryScopeJson }} | ||
project: ${{ matrix.project }} | ||
projectName: ${{ matrix.projectName }} | ||
buildMode: ${{ matrix.buildMode }} | ||
projectDependenciesJson: ${{ needs.Initialization.outputs.projectDependenciesJson }} | ||
secrets: 'licenseFileUrl,insiderSasToken,codeSignCertificateUrl,*codeSignCertificatePassword,keyVaultCertificateUrl,*keyVaultCertificatePassword,keyVaultClientId,gitHubPackagesContext,applicationInsightsConnectionString' | ||
publishThisBuildArtifacts: ${{ needs.Initialization.outputs.workflowDepth > 1 }} | ||
artifactsNameSuffix: 'Current' | ||
PostProcess: | ||
needs: [ Initialization, Build ] | ||
if: always() | ||
runs-on: [ ubuntu-latest ] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Finalize the workflow | ||
id: PostProcess | ||
uses: freddydk/AL-Go/Actions/WorkflowPostProcess@placeholders | ||
with: | ||
shell: pwsh | ||
eventId: "DO0101" | ||
telemetryScopeJson: ${{ needs.Initialization.outputs.telemetryScopeJson }} |