From bfee93fda1a167149ef32fe546d3fdb3b72da513 Mon Sep 17 00:00:00 2001 From: "Andres G. Aragoneses" Date: Sat, 12 Aug 2023 12:47:53 +0800 Subject: [PATCH] GitHubCI: add dotnet-only mac/win jobs In the same way we hacked/faked the uninstallation of dotnet in "mono-only" build jobs, we hack the uninstallation of mono now in MacOS and the uninstallation of MSBuild in Windows (as GitHub bundles them by default in these CI runners). --- .github/workflows/CI.yml | 69 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 4 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index fa7ed7a7b..d6038f4b0 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -41,7 +41,7 @@ jobs: find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {} - macOS--mono: + macOS--mono-only: runs-on: macOS-latest steps: - uses: actions/checkout@v1 @@ -64,6 +64,29 @@ jobs: - name: integration tests run: make update-servers + macOS--dotnet-only: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v1 + with: + submodules: false + - name: HACK to emulate mono uninstall + run: sudo rm -f `which mono` && sudo rm -rf `which msbuild` + - name: configure + run: ./configure.sh + - name: build in DEBUG mode + run: make + - name: sanity check + run: make sanitycheck + - name: unit tests + run: make check + - name: build in STRICT mode + run: git clean -fdx && ./configure.sh && make strict + - name: build in RELEASE mode + run: git clean -fdx && ./configure.sh && make release + - name: integration tests + run: make update-servers + windows--dotnet6: runs-on: windows-latest steps: @@ -98,7 +121,7 @@ jobs: find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {} - windows--legacyFramework: + windows--legacyFramework-only: runs-on: windows-2019 steps: - uses: actions/checkout@v1 @@ -121,6 +144,42 @@ jobs: - name: integration tests run: .\make update-servers + windows--dotnet6-only: + runs-on: windows-latest + steps: + - uses: actions/checkout@v1 + with: + submodules: false + - name: Setup .NET SDK 6.0.x + uses: actions/setup-dotnet@v1.7.2 + with: + dotnet-version: '6.0.113' + - name: HACK to emulate legacy .NETFramework uninstall + run: del $(& "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -find MSBuild\\**\\Bin\\MSBuild.exe) + - name: configure + run: .\configure.bat + - name: build in DEBUG mode + run: .\make.bat + - name: sanity check + run: .\make.bat sanitycheck + - name: unit tests + run: .\make.bat check + - name: re-build in STRICT mode + run: git clean -fdx && .\configure.bat && .\make.bat strict + - name: re-build in RELEASE mode + run: git clean -fdx && .\configure.bat && .\make.bat release + - name: integration tests + run: .\make update-servers + - name: compile .fsx scripts + shell: bash + run: | + dotnet new tool-manifest + + # we need to install specific version because of this bug: https://github.com/dotnet/sdk/issues/24037 + dotnet tool install fsxc --version 0.5.9.1 + + find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {} + linux22-github: runs-on: ubuntu-22.04 steps: @@ -517,9 +576,11 @@ jobs: - linux20-vanilla--stockmono - linux20-vanilla--newmono - windows--dotnet6 - - windows--legacyFramework + - windows--legacyFramework-only + - windows--dotnet6-only - macOS--dotnet6-and-mono - - macOS--mono + - macOS--mono-only + - macOS--dotnet-only steps: - uses: actions/checkout@v1