setup-dotnet/.github/workflows/test-dotnet.yml

90 lines
2.4 KiB
YAML
Raw Normal View History

2021-02-05 14:12:47 +07:00
name: Validate dotnet
on:
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
2023-09-04 06:40:45 +07:00
check-installed:
runs-on: 'windows-latest'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Clear toolcache
shell: pwsh
run: dotnet --list-sdks
2021-02-05 14:12:47 +07:00
setup-version:
runs-on: ${{ matrix.operating-system }}
strategy:
fail-fast: false
matrix:
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
2023-09-04 08:47:39 +07:00
dotnet-version:
[
['2.1', '2.x'],
['2.2', '2.x'],
['3.0', '3.x'],
['3.1', '3.x'],
['5.0', '5.x'],
['6.0', '6.x'],
['7.0', '7.x'],
['8.0', '8.x']
]
2021-02-05 14:12:47 +07:00
steps:
- name: Checkout
uses: actions/checkout@v3
2021-02-05 14:12:47 +07:00
- name: Clear toolcache
shell: pwsh
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
2023-09-04 08:47:21 +07:00
- name: Setup dotnet ${{ matrix.dotnet-version[0] }}
2021-02-05 14:12:47 +07:00
uses: ./
with:
2023-09-04 08:47:21 +07:00
dotnet-version: ${{ matrix.dotnet-version[0] }}
- name: Verify installed version
2021-02-05 14:27:32 +07:00
shell: pwsh
run: |
2023-09-04 08:47:21 +07:00
__tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.dotnet-version[0] }}"
2023-09-04 08:35:07 +07:00
- name: List installed versions
shell: pwsh
2023-09-04 08:35:07 +07:00
run: dotnet --list-sdks
- name: Run setup again with prefer installed option
uses: ./
with:
2023-09-04 08:47:21 +07:00
dotnet-version: ${{ matrix.dotnet-version[1] }}
prefer-installed: true
- name: Verify installed version
shell: pwsh
run: |
2023-09-04 08:47:21 +07:00
__tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.dotnet-version[0] }}"
2023-09-04 08:35:07 +07:00
- name: List installed versions
shell: pwsh
run: dotnet --list-sdks
2023-09-04 09:05:45 +07:00
setup-version-already-installed:
runs-on: ${{ matrix.operating-system }}
strategy:
fail-fast: false
matrix:
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Clear toolcache
shell: pwsh
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
- name: Setup dotnet 6.0
uses: ./
with:
dotnet-version: '6.0'
prefer-installed: true
- name: Verify installed version
shell: pwsh
run: |
__tests__/verify-dotnet.ps1 -Patterns "^6.0"