Skip to content

Fix artifact action #1312

Fix artifact action

Fix artifact action #1312

Workflow file for this run

name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
on:
push:
branches:
- dev
- future
tags:
- v[0-9]+.[0-9]+.[0-9]+ # Matches all semantic versioning tags with major, minor, patch
pull_request:
branches:
- dev
- future
env:
MORYX_OPTIMIZE_CODE: "false"
MORYX_BUILD_CONFIG: "Release"
MORYX_BUILDNUMBER: ${{github.run_number}}
dotnet_sdk_version: '5.0.403'
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
jobs:
Build:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Setup .NET SDK
if: ${{ github.ref != 'refs/heads/future' }} # Future branch uses net6
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ env.dotnet_sdk_version }}
- name: Setup .NET SDK
if: ${{ github.ref == 'refs/heads/future' }} # Future branch uses net6
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6'
- name: Build
shell: pwsh
run: ./Build.ps1 -Build -Pack
- name: Upload package artifacts
uses: actions/upload-artifact@v4
with:
name: packages
path: artifacts/Packages/
retention-days: 1
UnitTests:
needs: [Build]
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Setup .NET SDK
if: ${{ github.ref != 'refs/heads/future' }} # Future branch uses net6
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ env.dotnet_sdk_version }}
- name: Setup .NET SDK
if: ${{ github.ref == 'refs/heads/future' }} # Future branch uses net6
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6'
- name: Execute Unit Tests
shell: pwsh
run: ./Build.ps1 -UnitTests
- name: Upload test results
uses: actions/upload-artifact@v4
with:
name: test-results
path: artifacts/Tests/
retention-days: 1
IntegrationTests:
needs: [Build]
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Setup .NET SDK
if: ${{ github.ref != 'refs/heads/future' }} # Future branch uses net6
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ env.dotnet_sdk_version }}
- name: Setup .NET SDK
if: ${{ github.ref == 'refs/heads/future' }} # Future branch uses net6
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6'
- name: Execute Integration Tests
shell: pwsh
run: ./Build.ps1 -IntegrationTests
- name: Upload test results
uses: actions/upload-artifact@v4
with:
name: test-results
path: artifacts/Tests/
retention-days: 1
Codecov:
needs: [UnitTests, IntegrationTests]
runs-on: windows-2019
steps:
- name: Download test results
uses: actions/download-artifact@v4
with:
name: test-results
path: artifacts/Tests/
- name: Codecov
uses: codecov/codecov-action@v1
with:
files: '*.OpenCover.xml'
Documentation:
needs: [Build]
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Generate docFx
shell: pwsh
run: ./Build.ps1 -GenerateDocs
- name: Upload documentation results
uses: actions/upload-artifact@v4
with:
name: documentation
path: artifacts/Documentation/
retention-days: 1
Publish:
needs: [Build, UnitTests, IntegrationTests]
if: ${{ github.event_name == 'push' }}
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Setup .NET SDK
if: ${{ github.ref != 'refs/heads/future' }} # Future branch uses net6
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ env.dotnet_sdk_version }}
- name: Setup .NET SDK
if: ${{ github.ref == 'refs/heads/future' }} # Future branch uses net6
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6'
- name: Download package artifacts
uses: actions/download-artifact@v4
with:
name: packages
path: artifacts/Packages/
- name: Publish on MyGet-CI
if: ${{ github.ref == 'refs/heads/dev' }} # dev branche is published to myget moryx
shell: pwsh
env:
MORYX_NUGET_APIKEY: ${{secrets.MYGET_TOKEN}}
MORYX_PACKAGE_TARGET: "https://www.myget.org/F/moryx/api/v2/package"
MORYX_PACKAGE_TARGET_V3: "https://www.myget.org/F/moryx/api/v3/index.json"
run: ./Build.ps1 -Publish
- name: Publish on MyGet-Future
if: ${{ github.ref == 'refs/heads/future' }} # Future branch is published to myget moryx-future
shell: pwsh
env:
MORYX_NUGET_APIKEY: ${{secrets.MYGET_TOKEN}}
MORYX_PACKAGE_TARGET: "https://www.myget.org/F/moryx-future/api/v2/package"
MORYX_PACKAGE_TARGET_V3: "https://www.myget.org/F/moryx-future/api/v3/index.json"
run: ./Build.ps1 -Publish
- name: Publish on NuGet
if: ${{ startsWith(github.ref, 'refs/tags/v') }} # Version Tags are published to nuget
shell: pwsh
env:
MORYX_NUGET_APIKEY: ${{secrets.NUGET_TOKEN}}
MORYX_PACKAGE_TARGET: "https://api.nuget.org/v3/index.json"
MORYX_PACKAGE_TARGET_V3: "https://api.nuget.org/v3/index.json"
run: ./Build.ps1 -Publish