ci: Split main job into build + deploy jobs #58
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: .NET Build and Publish | |
on: | |
push: | |
branches: ["main", "dev", "dui3/alpha", "dui3/ci/*"] | |
tags: ["3.*"] | |
jobs: | |
build: | |
runs-on: windows-latest | |
outputs: | |
version: ${{ steps.set-version.outputs.version }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 7.x.x | |
- name: NuGet Cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.nuget/packages | |
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} | |
- name: Install GitVersion | |
uses: gittools/actions/gitversion/[email protected] | |
with: | |
versionSpec: "5.x" | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Determine Version | |
id: version | |
uses: gittools/actions/gitversion/[email protected] | |
- name: 🗄️ Format | |
run: ./build.ps1 format | |
- name: ♻️ Restore | |
run: ./build.ps1 restore | |
- name: ⚒️ Build | |
run: ./build.ps1 build | |
env: | |
VERSION: ${{ env.fullSemVer }} | |
FILE_VERSION: ${{ env.assemblySemFileVer }} | |
- name: 📦 Pack | |
run: ./build.ps1 zip | |
- name: ⬆️ Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: output-${{ env.fullSemVer }} | |
path: output/*.* | |
compression-level: 0 # no compression | |
- id: set-version | |
name: Set version to output | |
run: echo "version=${{env.fullSemver}}" >> "$GITHUB_OUTPUT" | |
deploy-installers: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: 🔫 Trigger Build Installers | |
uses: ALEEF02/[email protected] | |
with: | |
workflow: Build Installers | |
repo: specklesystems/connector-installers | |
token: ${{ secrets.CONNECTORS_GH_TOKEN }} | |
inputs: '{ "run_id": "${{ github.run_id }}", "version": "${{ needs.build.outputs.version }}" }' | |
ref: main | |
wait-for-completion: true | |
wait-for-completion-interval: 10s | |
wait-for-completion-timeout: 10m | |
display-workflow-run-url: true | |
display-workflow-run-url-interval: 10s | |
workflow-logs: true |