Skip to content

Merge pull request #4472 from fsprojects/fix/argu-6.2.5 #280

Merge pull request #4472 from fsprojects/fix/argu-6.2.5

Merge pull request #4472 from fsprojects/fix/argu-6.2.5 #280

Workflow file for this run

name: CI
on:
push:
branches:
- master
tags-ignore:
- '**'
pull_request:
branches:
- master
jobs:
linux:
name: Linux (.NET)
runs-on: ubuntu-26.04
strategy:
fail-fast: false
matrix:
include:
- name: build
skip_env: SkipIntegrationTests=true
- name: integration
skip_env: ''
- name: flaky
skip_env: PAKET_TESTSUITE_FLAKYTESTS=true
steps:
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
global-json-file: global.json
- name: Cache NuGet packages
uses: actions/cache@v6
with:
path: |
~/.nuget/packages
packages
key: ${{ runner.os }}-nuget-${{ hashFiles('paket.lock', 'paket.dependencies', 'global.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Install build SDK and integration test runtime
run: |
curl --fail --silent --show-error --location https://dot.net/v1/dotnet-install.sh --output /tmp/dotnet-install.sh
bash /tmp/dotnet-install.sh --version 10.0.400 --install-dir "$HOME/.local/share/dotnetcore"
bash /tmp/dotnet-install.sh --channel 8.0 --runtime dotnet --install-dir "$HOME/.local/share/dotnetcore"
- name: Build and test
env:
EnableWindowsTargeting: true
PAKET_TESTSUITE_FLAKYTESTS: false
run: |
[ -z "${{ matrix.skip_env }}" ] || export ${{ matrix.skip_env }}
./build.sh BuildPackage < /dev/null
- name: Upload test results
if: always()
uses: actions/upload-artifact@v7
with:
name: TestResults-linux-${{ matrix.name }}
path: tests_result/**/*.trx
docs:
name: Documentation
runs-on: ubuntu-26.04
steps:
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
global-json-file: global.json
- name: Cache NuGet packages
uses: actions/cache@v6
with:
path: |
~/.nuget/packages
packages
key: ${{ runner.os }}-docs-nuget-${{ hashFiles('paket.lock', 'paket.dependencies', 'global.json', '.config/dotnet-tools.json') }}
restore-keys: |
${{ runner.os }}-docs-nuget-
- name: Install build SDK
run: |
curl --fail --silent --show-error --location https://dot.net/v1/dotnet-install.sh --output /tmp/dotnet-install.sh
bash /tmp/dotnet-install.sh --version 10.0.400 --install-dir "$HOME/.local/share/dotnetcore"
- name: Generate the documentation
env:
SkipTests: true
run: ./build.sh GenerateDocs < /dev/null
- name: Upload the documentation
uses: actions/upload-artifact@v7
with:
name: docs
path: docs/output
windows:
name: Windows (.NET)
runs-on: windows-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Configure git autocrlf
run: git config --global core.autocrlf input
- uses: actions/setup-dotnet@v6
with:
global-json-file: global.json
- name: Install integration test runtime
shell: pwsh
run: |
$installScript = Join-Path $env:RUNNER_TEMP 'dotnet-install.ps1'
Invoke-WebRequest https://dot.net/v1/dotnet-install.ps1 -OutFile $installScript
& $installScript -Channel 8.0 -Runtime dotnet -InstallDir (Join-Path $env:LOCALAPPDATA 'dotnetcore')
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
- name: Cache NuGet packages
uses: actions/cache@v6
with:
path: |
~/.nuget/packages
packages
key: ${{ runner.os }}-nuget-${{ hashFiles('paket.lock', 'paket.dependencies', 'global.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Build
shell: cmd
run: .\build.cmd BuildPackage < NUL
- name: Upload build artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: bin
path: bin
- name: Upload test results
if: always()
uses: actions/upload-artifact@v7
with:
name: TestResults
path: tests_result/**/*.trx