Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,70 +1,65 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
# Build, test and publish .NET applications when changes land on master.

name: Test and publish
name: Master Build

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
paths-ignore:
- .gitignore
- CODE_OF_CONDUCT.md
- LGPL.txt
- README.md
- THIRD-PARTY-LICENSE-README.md

permissions:
contents: read

jobs:
test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.0.x
- uses: actions/cache@v4
- uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.ReleaseVendorUnsupported.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Add package source
run: dotnet nuget add source ${{ github.workspace }}/Assemblies
- name: Restore packages
run: dotnet restore /property:Configuration="Debug vendor unsupported"
run: dotnet restore /property:Configuration="Release vendor unsupported"
- name: Build
run: dotnet build --no-restore --configuration "Debug vendor unsupported" /property:BclBuildImported=Ignore /property:SkipLibraryDownload=true
run: dotnet build --no-restore --configuration "Release vendor unsupported" /property:BclBuildImported=Ignore /property:DownloadLibrary=false
- name: Test
run: dotnet test --no-build --verbosity normal --configuration "Debug vendor unsupported"
run: dotnet test --no-build --verbosity normal --configuration "Release vendor unsupported"

publish-msdial5:
needs: test
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.0.x
- uses: actions/cache@v4
- uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.ReleaseVendorUnsupported.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Add package source
run: dotnet nuget add source ${{ github.workspace }}/Assemblies
- name: Restore packages
run: dotnet restore /property:Configuration="Debug vendor unsupported"
run: dotnet restore /property:Configuration="Release vendor unsupported"
- name: Publish
run: dotnet publish src/MSDIAL5/MsdialGuiApp/MsdialGuiApp.csproj -p:PublishProfile=FolderProfile -p:SkipLibraryDownload=true -o artifact --configuration "Release vendor unsupported" --framework net48
run: dotnet publish src/MSDIAL5/MsdialGuiApp/MsdialGuiApp.csproj -p:PublishProfile=FolderProfile -p:DownloadLibrary=false -o artifact --configuration "Release vendor unsupported" --framework net48
- name: Copy licenses
run: Copy-Item -Path LGPL.txt,THIRD-PARTY-LICENSE-README.md,README.md -Destination artifact
- name: Upload
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: MSDIAL5
path: artifact
retention-days: 14

publish-msdial5-console:
needs: test
Expand All @@ -77,60 +72,62 @@ jobs:
{ os: macos-latest, framework: net8, runtime: osx-x64 }
]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.0.x
- uses: actions/cache@v4
- uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.ReleaseVendorUnsupported.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Add package source
run: dotnet nuget add source ${{ github.workspace }}/Assemblies
- name: Restore packages
run: dotnet restore src/MSDIAL4/MsdialConsoleAppCore/MsdialConsoleAppCore.csproj /property:Configuration="Debug vendor unsupported"
run: dotnet restore src/MSDIAL4/MsdialConsoleAppCore/MsdialConsoleAppCore.csproj /property:Configuration="Release vendor unsupported"
- name: Publish
run: dotnet publish tests/MSDIAL5/MsdialCoreTestApp/MsdialCoreTestApp.csproj -p:DebugSymbols=false -p:DebugType=None -p:ErrorOnDuplicatePublishOutputFiles=false -p:SkipLibraryDownload=true -o artifact --configuration "Release vendor unsupported" --runtime ${{ matrix.triple.runtime }} --framework ${{ matrix.triple.framework }} --self-contained
run: dotnet publish tests/MSDIAL5/MsdialCoreTestApp/MsdialCoreTestApp.csproj -p:DebugSymbols=false -p:DebugType=None -p:ErrorOnDuplicatePublishOutputFiles=false -p:DownloadLibrary=false -o artifact --configuration "Release vendor unsupported" --runtime ${{ matrix.triple.runtime }} --framework ${{ matrix.triple.framework }} --self-contained
- name: Copy licenses
run: |
cp LGPL.txt artifact
cp THIRD-PARTY-LICENSE-README.md artifact
cp README.md artifact
- name: Upload
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: MSDIAL5-Console-${{ matrix.triple.os }}-${{ matrix.triple.framework }}
path: artifact
retention-days: 14

publish-msdial4:
needs: test
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.0.x
- uses: actions/cache@v4
- uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.ReleaseVendorUnsupported.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Add package source
run: dotnet nuget add source ${{ github.workspace }}/Assemblies
- name: Restore packages
run: dotnet restore /property:Configuration="Debug vendor unsupported"
run: dotnet restore /property:Configuration="Release vendor unsupported"
- name: Publish
run: dotnet publish src/MSDIAL4/MsDial/MSDIAL.csproj -o artifact --configuration "Release vendor unsupported" --framework net48 -p:SkipLibraryDownload=true -p:ErrorOnDuplicatePublishOutputFiles=false
run: dotnet publish src/MSDIAL4/MsDial/MSDIAL.csproj -o artifact --configuration "Release vendor unsupported" --framework net48 -p:DownloadLibrary=false -p:ErrorOnDuplicatePublishOutputFiles=false
- name: Copy licenses
run: Copy-Item -Path LGPL.txt,THIRD-PARTY-LICENSE-README.md,README.md -Destination artifact
- name: Upload
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: MSDIAL4
path: artifact
retention-days: 14

publish-msdial4-console:
needs: test
Expand All @@ -139,30 +136,30 @@ jobs:
matrix:
pair: [ { os: windows-latest, runtime: win-x64 }, { os: ubuntu-latest, runtime: linux-x64 }, { os: macos-latest, runtime: osx-x64 } ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.0.x
- uses: actions/cache@v4
- uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.ReleaseVendorUnsupported.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Add package source
run: dotnet nuget add source ${{ github.workspace }}/Assemblies
- name: Restore packages
run: dotnet restore src/MSDIAL4/MsdialConsoleAppCore/MsdialConsoleAppCore.csproj /property:Configuration="Debug vendor unsupported"
run: dotnet restore src/MSDIAL4/MsdialConsoleAppCore/MsdialConsoleAppCore.csproj /property:Configuration="Release vendor unsupported"
- name: Publish
run: dotnet publish src/MSDIAL4/MsdialConsoleAppCore/MsdialConsoleAppCore.csproj -o artifact --configuration "Release vendor unsupported" --framework net8 --self-contained --runtime ${{ matrix.pair.runtime }} -p:SkipLibraryDownload=true
run: dotnet publish src/MSDIAL4/MsdialConsoleAppCore/MsdialConsoleAppCore.csproj -o artifact --configuration "Release vendor unsupported" --framework net8 --self-contained --runtime ${{ matrix.pair.runtime }} -p:DownloadLibrary=false
- name: Copy licenses
run: |
cp LGPL.txt artifact
cp THIRD-PARTY-LICENSE-README.md artifact
cp README.md artifact
- name: Upload
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: MSDIAL4-Console-${{ matrix.pair.os }}
path: artifact

retention-days: 14
44 changes: 44 additions & 0 deletions .github/workflows/dotnet_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net

name: PR Check

on:
pull_request:
branches: [ "master" ]
paths-ignore:
- .gitignore
- CODE_OF_CONDUCT.md
- LGPL.txt
- README.md
- THIRD-PARTY-LICENSE-README.md

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true

permissions:
contents: read

jobs:
test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.0.x
- uses: actions/cache@v6
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.ReleaseVendorUnsupported.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Add package source
run: dotnet nuget add source ${{ github.workspace }}/Assemblies
- name: Restore packages
run: dotnet restore /property:Configuration="Debug vendor unsupported"
- name: Build
run: dotnet build --no-restore --configuration "Debug vendor unsupported" /property:BclBuildImported=Ignore /property:DownloadLibrary=false
- name: Test
run: dotnet test --no-build --verbosity normal --configuration "Debug vendor unsupported"
3 changes: 3 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@
<PropertyGroup Condition="'$(Configuration)' == 'Release vendor unsupported'">
<DefineConstants>TRACE;VENDOR_UNSUPPORTED</DefineConstants>
<Optimize>true</Optimize>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
<RestoreLockedMode>true</RestoreLockedMode>
<NuGetLockFilePath>$(MSBuildProjectDirectory)\packages.lock.ReleaseVendorUnsupported.json</NuGetLockFilePath>
</PropertyGroup>
</Project>
Loading
Loading