Skip to content

(BUILD)

(BUILD) #2

Workflow file for this run

name: (BUILD)
on:
workflow_dispatch:
permissions:
contents: read
defaults:
run:
shell: pwsh
env:
FORCE_COLOR: 3
jobs:
Initialization:
runs-on: [ windows-latest ]
outputs:
type: ${{ steps.ReadSettings.outputs.type }}
source_branch: ${{ steps.ReadSettings.outputs.source_branch }}
versions: ${{ steps.ReadSettings.outputs.VersionsJson }}
environments: ${{ steps.ReadSettings.outputs.EnvironmentsJson }}
githubRunner: ${{ steps.ReadSettings.outputs.GitHubRunnerJson }}
steps:
- name: Support longpaths
run: git config --system core.longpaths true
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Initialize the workflow
uses: fscpscollaborative/fscps.gh/WorkflowInitialize@v2.1
id: init
env:
secrets: ${{ toJson(secrets) }}
- name: Read settings
id: ReadSettings
uses: fscpscollaborative/fscps.gh/ReadSettings@v2.1
with:
version: "*"
Build:
needs: [ Initialization ]
runs-on: ${{ fromJson(needs.Initialization.outputs.githubRunner) }}
strategy:
matrix:
version: ${{ fromJson(needs.Initialization.outputs.versions) }}
fail-fast: false
name: Build ${{ matrix.version }}
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Read settings
uses: fscpscollaborative/fscps.gh/ReadSettings@v2.1
with:
version: ${{ matrix.version }}
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
- name: Setup NuGet
uses: nuget/setup-nuget@v2.0.0
with:
nuget-version: 5.10.x
- name: Run pipeline
uses: fscpscollaborative/fscps.gh/RunPipeline@v2.1
id: runpipeline
with:
type: ${{ needs.Initialization.outputs.type}}
version: ${{ matrix.version }}
settingsJson: ${{ env.Settings }}
secretsJson: ${{ env.RepoSecrets }}
- name: Publish artifacts
uses: actions/upload-artifact@v3.1.0
with:
name: ${{ env.PACKAGE_NAME }}
path: ${{ env.ARTIFACTS_PATH }}
PostProcess:
if: ${{ !cancelled() }}
runs-on: ${{ fromJson(needs.Initialization.outputs.githubRunner) }}
needs: [ Initialization, Build ]
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Read settings
uses: fscpscollaborative/fscps.gh/ReadSettings@v2.1
- name: Finalize the workflow
id: PostProcess
uses: fscpscollaborative/fscps.gh/WorkflowPostProcess@v2.1
with:
remove_current: ${{ needs.Initialization.outputs.environments == '' }}
settingsJson: ${{ env.Settings }}
secretsJson: ${{ env.RepoSecrets }}