Bump the testing group across 1 directory with 4 updates #743
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: CI | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
DOTNET_NOLOGO: true | |
CONFIGURATION: Release | |
jobs: | |
lint-markdown: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4.1.7 | |
- name: Install Node | |
uses: actions/setup-node@v4.0.3 | |
with: | |
node-version: 21 | |
- uses: xt0rted/markdownlint-problem-matcher@v3.0.0 | |
- run: npm ci | |
- run: npm test | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-latest | |
- ubuntu-latest | |
- windows-latest | |
permissions: | |
contents: read | |
packages: read | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4.1.7 | |
- name: Build version suffix (main) | |
if: github.event_name == 'push' | |
run: echo "VERSION_SUFFIX=beta.${{ github.run_number }}" >> $GITHUB_ENV | |
shell: bash | |
- name: Build version suffix (pr) | |
if: github.event_name == 'pull_request' | |
run: echo "VERSION_SUFFIX=alpha.${{ github.event.number }}" >> $GITHUB_ENV | |
shell: bash | |
- name: Set up .NET | |
uses: xt0rted/setup-dotnet@v1.5.0 | |
with: | |
source-url: https://nuget.pkg.github.com/xt0rted/index.json | |
nuget_auth_token: ${{ secrets.GITHUB_TOKEN }} | |
- run: dotnet tool restore | |
- run: dotnet r build | |
- run: dotnet r test -- --no-build --logger GitHubActions | |
- run: dotnet r pack -- --no-build --version-suffix ${{ env.VERSION_SUFFIX }} | |
- name: Upload artifacts | |
if: matrix.os == 'ubuntu-latest' | |
uses: actions/upload-artifact@v4.4.0 | |
with: | |
name: nupkg | |
path: ./artifacts/*.nupkg | |
- name: Upload test results | |
if: failure() | |
uses: actions/upload-artifact@v4.4.0 | |
with: | |
name: build-verify-test-results | |
path: | | |
**/*.received.* | |
integration: | |
needs: | |
- build | |
- lint-markdown | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-latest | |
- ubuntu-latest | |
- windows-latest | |
shell: | |
- default | |
- bash | |
- pwsh | |
exclude: | |
- os: windows-latest | |
shell: bash | |
include: | |
- os: windows-latest | |
shell: C:\Program Files\Git\bin\bash.exe | |
permissions: | |
contents: read | |
packages: read | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4.1.7 | |
- name: Set up .NET | |
uses: xt0rted/setup-dotnet@v1.5.0 | |
with: | |
source-url: https://nuget.pkg.github.com/xt0rted/index.json | |
nuget_auth_token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download nupkg | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: nupkg | |
path: .nuget | |
- run: dotnet tool restore | |
- run: dotnet tool uninstall run-script | |
- run: | | |
file=(.nuget/*.nupkg) | |
pattern="run-script\.(.*)\.nupkg" | |
if [[ $file =~ $pattern ]]; then | |
dotnet tool install run-script --version "${BASH_REMATCH[1]}" --add-source "${{ github.workspace }}/.nuget" | |
else | |
echo "::error::nupkg not found" | |
exit 1 | |
fi | |
shell: bash | |
- run: | | |
if [ "${{ matrix.shell }}" == "default" ]; then | |
dotnet r build -v | |
else | |
dotnet r build -v --script-shell "${{ matrix.shell }}" | |
fi | |
shell: bash | |
- run: | | |
if [ "${{ matrix.shell }}" == "default" ]; then | |
dotnet r test --verbose -- --no-build --logger GitHubActions | |
else | |
shellName="${{ matrix.shell }}" | |
if [[ "$shellName" == *\.exe ]]; then | |
shellName="bash" | |
fi | |
dotnet r test --verbose --script-shell "${{ matrix.shell }}" -- --no-build --logger GitHubActions | |
fi | |
shell: bash | |
- run: dotnet r integration:ci --verbose -- --no-build --logger GitHubActions | |
- run: dotnet r clean:bin build test --verbose | |
- name: Upload test results | |
if: failure() | |
uses: actions/upload-artifact@v4.4.0 | |
with: | |
name: integration-verify-test-results | |
path: | | |
**/*.received.* | |
release: | |
if: github.event_name == 'push' | |
needs: | |
- build | |
- integration | |
runs-on: ubuntu-latest | |
permissions: | |
packages: write | |
steps: | |
- name: Download nupkg | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: nupkg | |
- name: Publish to GPR | |
run: | | |
dotnet nuget push "./*.nupkg" \ | |
--api-key ${{ secrets.GITHUB_TOKEN }} \ | |
--source https://nuget.pkg.github.com/${{ github.repository_owner }} |