mirror of
https://github.com/actions/setup-dotnet.git
synced 2026-01-14 17:28:19 +00:00
Bump test dependencies to resolve System.Net.Http vulnerability, update workflows and README (#692)
* update test deps, workflows, and docs for latest versions * fix wording * update versions
This commit is contained in:
592
.github/workflows/e2e-tests.yml
vendored
592
.github/workflows/e2e-tests.yml
vendored
@@ -17,235 +17,153 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
- name: Setup dotnet 6.0.427, 7.0.410 and 7.0.x
|
- name: Setup dotnet 8.0.416, 8.0.x, 9.0.308 and 10.0.101
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: |
|
dotnet-version: |
|
||||||
6.0.427
|
8.0.416
|
||||||
7.0.410
|
|
||||||
7.0.x
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0.427$", "^7.0.410$", "^7.0"
|
|
||||||
test-setup-multiple-versions-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Setup dotnet 8.0.403, 9.0.301 and 8.0.x
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: |
|
|
||||||
8.0.403
|
|
||||||
9.0.301
|
|
||||||
8.0.x
|
8.0.x
|
||||||
|
9.0.308
|
||||||
|
10.0.101
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0.403$", "^9.0.301$", "^8.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0.416$", "^9.0.308$", "^10.0.101$", "^8.0"
|
||||||
test-setup-full-version:
|
test-setup-full-version:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
# Side-by-side install of 6.0 and 7.0 used for the test project
|
# Side-by-side install of 9.0 and 10.0 used for the test project
|
||||||
- name: Setup dotnet 6.0.427
|
- name: Setup dotnet 9.0.308
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 6.0.427
|
dotnet-version: 9.0.308
|
||||||
- name: Setup dotnet 7.0.410
|
- name: Setup dotnet 10.0.101
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 7.0.410
|
dotnet-version: 10.0.101
|
||||||
# We are including this variable to force the generation of the nuget config file to verify that it is created in the correct place
|
# We are including this variable to force the generation of the nuget config file to verify that it is created in the correct place
|
||||||
source-url: https://api.nuget.org/v3/index.json
|
source-url: https://api.nuget.org/v3/index.json
|
||||||
env:
|
env:
|
||||||
NUGET_AUTH_TOKEN: NOTATOKEN
|
NUGET_AUTH_TOKEN: NOTATOKEN
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^7.0.410$", "^6.0.427$" -CheckNugetConfig
|
run: __tests__/verify-dotnet.ps1 -Patterns "^10.0.101$", "^9.0.308$" -CheckNugetConfig
|
||||||
test-setup-full-version-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
# Side-by-side install of 8.0 and 9.0 used for the test project
|
|
||||||
- name: Setup dotnet 8.0.402
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: 8.0.402
|
|
||||||
- name: Setup dotnet 9.0.301
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: 9.0.301
|
|
||||||
# We are including this variable to force the generation of the nuget config file to verify that it is created in the correct place
|
|
||||||
source-url: https://api.nuget.org/v3/index.json
|
|
||||||
env:
|
|
||||||
NUGET_AUTH_TOKEN: NOTATOKEN
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^9.0.301$", "^8.0.402$" -CheckNugetConfig
|
|
||||||
test-setup-without-patch-version:
|
test-setup-without-patch-version:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
# 6.0, 7.0 needs to be in single quotes to interpret as a string instead of as an integer
|
# 9.0, 10.0 needs to be in single quotes to interpret as a string instead of as an integer
|
||||||
- name: Setup dotnet '6.0'
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '6.0'
|
|
||||||
- name: Setup dotnet '7.0'
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '7.0'
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^7.0"
|
|
||||||
test-setup-without-patch-version-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
# 8.0, 9.0 needs to be in single quotes to interpret as a string instead of as an integer
|
|
||||||
- name: Setup dotnet '8.0'
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '8.0'
|
|
||||||
- name: Setup dotnet '9.0'
|
- name: Setup dotnet '9.0'
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: '9.0'
|
dotnet-version: '9.0'
|
||||||
|
- name: Setup dotnet '10.0'
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
dotnet-version: '10.0'
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^9.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^9.0", "^10.0"
|
||||||
test-setup-prerelease-version:
|
test-setup-prerelease-version:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
- name: Setup dotnet '6.0.100-preview.7.21379.14'
|
- name: Setup dotnet '10.0.100-preview.7.25380.108'
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: '6.0.100-preview.7.21379.14'
|
dotnet-version: '10.0.100-preview.7.25380.108'
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "6.0.100-preview.7.21379.14"
|
run: __tests__/verify-dotnet.ps1 -Patterns "10.0.100-preview.7.25380.108"
|
||||||
|
|
||||||
test-setup-prerelease-version-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Setup dotnet '8.0.100-preview.1.23115.2'
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '8.0.100-preview.1.23115.2'
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "8.0.100-preview.1.23115.2"
|
|
||||||
|
|
||||||
test-setup-latest-patch-version:
|
test-setup-latest-patch-version:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
- name: Setup dotnet 6.0.x
|
- name: Setup dotnet 9.0.x
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 6.0.x
|
dotnet-version: 9.0.x
|
||||||
- name: Setup dotnet 7.0.X
|
- name: Setup dotnet 10.0.X
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 7.0.X
|
dotnet-version: 10.0.X
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^7.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^9.0", "^10.0"
|
||||||
test-setup-latest-patch-version-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Setup dotnet 8.0.x
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: 8.0.x
|
|
||||||
- name: Setup dotnet 9.0.X
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: 9.0.X
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^9.0"
|
|
||||||
|
|
||||||
test-ABCxx-syntax:
|
test-ABCxx-syntax:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
@@ -253,7 +171,13 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system:
|
operating-system:
|
||||||
[ubuntu-latest, windows-latest, macos-15-intel, macos-latest]
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
@@ -261,67 +185,58 @@ jobs:
|
|||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
|
|
||||||
- name: Setup dotnet 6.0.4xx
|
- name: Setup dotnet 10.0.1xx
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: '6.0.4xx'
|
dotnet-version: '10.0.1xx'
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6\.0\.4\d{2}"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^10\.0\.1\d{2}"
|
||||||
|
|
||||||
test-setup-with-wildcard:
|
test-setup-with-wildcard:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
- name: Setup dotnet 6.0.*
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: 6.0.*
|
|
||||||
- name: Setup dotnet 7.0.*
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: 7.0.*
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^7.0"
|
|
||||||
test-setup-with-wildcard-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Setup dotnet 8.0.*
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: 8.0.*
|
|
||||||
- name: Setup dotnet 9.0.*
|
- name: Setup dotnet 9.0.*
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 9.0.*
|
dotnet-version: 9.0.*
|
||||||
|
- name: Setup dotnet 10.0.*
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
dotnet-version: 10.0.*
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^9.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^9.0", "^10.0"
|
||||||
|
|
||||||
test-setup-global-json-specified-and-version:
|
test-setup-global-json-specified-and-version:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
@@ -332,47 +247,29 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
mkdir subdirectory
|
mkdir subdirectory
|
||||||
echo '{"sdk":{"version": "6.0.424","rollForward": "latestFeature"}}' > ./subdirectory/global.json
|
echo '{"sdk":{"version": "9.0.308","rollForward": "latestFeature"}}' > ./subdirectory/global.json
|
||||||
- name: Setup dotnet
|
- name: Setup dotnet
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 7.0
|
dotnet-version: '10.0'
|
||||||
global-json-file: ./subdirectory/global.json
|
global-json-file: ./subdirectory/global.json
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^7.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^9.0", "^10.0"
|
||||||
test-setup-global-json-specified-and-version-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Write global.json
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
mkdir subdirectory
|
|
||||||
echo '{"sdk":{"version": "8.0.402","rollForward": "latestFeature"}}' > ./subdirectory/global.json
|
|
||||||
- name: Setup dotnet
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '9.0'
|
|
||||||
global-json-file: ./subdirectory/global.json
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^9.0"
|
|
||||||
|
|
||||||
test-setup-global-json-only:
|
test-setup-global-json-only:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
@@ -383,46 +280,28 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
mkdir subdirectory
|
mkdir subdirectory
|
||||||
echo '{"sdk":{"version": "6.0.424","rollForward": "latestFeature"}}' > ./subdirectory/global.json
|
echo '{"sdk":{"version": "10.0.101","rollForward": "latestFeature"}}' > ./subdirectory/global.json
|
||||||
- name: Setup dotnet
|
- name: Setup dotnet
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
global-json-file: ./subdirectory/global.json
|
global-json-file: ./subdirectory/global.json
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^10.0"
|
||||||
|
|
||||||
test-setup-global-json-only-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Write global.json
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
mkdir subdirectory
|
|
||||||
echo '{"sdk":{"version": "6.0.424","rollForward": "latestFeature"}}' > ./subdirectory/global.json
|
|
||||||
- name: Setup dotnet
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
global-json-file: ./subdirectory/global.json
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0"
|
|
||||||
|
|
||||||
test-global-json-with-comments:
|
test-global-json-with-comments:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
@@ -433,39 +312,14 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
mkdir subdirectory
|
mkdir subdirectory
|
||||||
echo '/* should support comments */ {"sdk":{"version": "6.0.424","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json
|
echo '/* should support comments */ {"sdk":{"version": "10.0.101","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json
|
||||||
- name: Setup dotnet
|
- name: Setup dotnet
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
global-json-file: ./subdirectory/global.json
|
global-json-file: ./subdirectory/global.json
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^10.0"
|
||||||
|
|
||||||
test-global-json-with-comments-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Write global.json
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
mkdir subdirectory
|
|
||||||
echo '/* should support comments */ {"sdk":{"version": "8.0.402","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json
|
|
||||||
- name: Setup dotnet
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
global-json-file: ./subdirectory/global.json
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0"
|
|
||||||
|
|
||||||
test-setup-with-dotnet-quality:
|
test-setup-with-dotnet-quality:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
@@ -473,7 +327,13 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system:
|
operating-system:
|
||||||
[ubuntu-latest, windows-latest, macos-15-intel, macos-latest]
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
@@ -481,21 +341,28 @@ jobs:
|
|||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
|
|
||||||
- name: Setup dotnet 7.0 with preview quality
|
- name: Setup dotnet 10.0 with preview quality
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: '7.0'
|
dotnet-version: '10.0'
|
||||||
dotnet-quality: 'preview'
|
dotnet-quality: 'preview'
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^7\.0\.\d+-"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^10\.0\.\d+-"
|
||||||
|
|
||||||
test-setup-with-cache:
|
test-setup-with-cache:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
env:
|
env:
|
||||||
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
||||||
steps:
|
steps:
|
||||||
@@ -507,11 +374,11 @@ jobs:
|
|||||||
- name: Copy NuGet lock file to root
|
- name: Copy NuGet lock file to root
|
||||||
shell: bash
|
shell: bash
|
||||||
run: cp ./__tests__/e2e-test-csproj/packages.lock.json ./packages.lock.json
|
run: cp ./__tests__/e2e-test-csproj/packages.lock.json ./packages.lock.json
|
||||||
- name: Setup .NET Core 6.0
|
- name: Setup .NET Core 10.0
|
||||||
id: setup-dotnet
|
id: setup-dotnet
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 6.0
|
dotnet-version: '10.0'
|
||||||
cache: true
|
cache: true
|
||||||
- name: Verify Cache
|
- name: Verify Cache
|
||||||
if: steps.setup-dotnet.outputs.cache-hit == 'true'
|
if: steps.setup-dotnet.outputs.cache-hit == 'true'
|
||||||
@@ -519,45 +386,21 @@ jobs:
|
|||||||
run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi
|
run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^10.0"
|
||||||
|
|
||||||
test-setup-with-cache-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
env:
|
|
||||||
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Copy NuGet lock file to root
|
|
||||||
shell: bash
|
|
||||||
run: cp ./__tests__/e2e-test-csproj/packages.lock.json ./packages.lock.json
|
|
||||||
- name: Setup .NET Core 8.0
|
|
||||||
id: setup-dotnet
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '8.0'
|
|
||||||
cache: true
|
|
||||||
- name: Verify Cache
|
|
||||||
if: steps.setup-dotnet.outputs.cache-hit == 'true'
|
|
||||||
shell: bash
|
|
||||||
run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0"
|
|
||||||
|
|
||||||
test-setup-with-cache-dependency-path:
|
test-setup-with-cache-dependency-path:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
env:
|
env:
|
||||||
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
||||||
steps:
|
steps:
|
||||||
@@ -566,11 +409,11 @@ jobs:
|
|||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
- name: Setup .NET Core 6.0
|
- name: Setup .NET Core 10.0
|
||||||
id: setup-dotnet
|
id: setup-dotnet
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 6.0
|
dotnet-version: '10.0'
|
||||||
cache: true
|
cache: true
|
||||||
cache-dependency-path: './__tests__/e2e-test-csproj/packages.lock.json'
|
cache-dependency-path: './__tests__/e2e-test-csproj/packages.lock.json'
|
||||||
- name: Verify Cache
|
- name: Verify Cache
|
||||||
@@ -579,36 +422,7 @@ jobs:
|
|||||||
run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi
|
run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^6.0"
|
run: __tests__/verify-dotnet.ps1 -Patterns "^10.0"
|
||||||
|
|
||||||
test-setup-with-cache-dependency-path-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
env:
|
|
||||||
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Setup .NET Core 8.0
|
|
||||||
id: setup-dotnet
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '8.0'
|
|
||||||
cache: true
|
|
||||||
cache-dependency-path: './__tests__/e2e-test-csproj/packages.lock.json'
|
|
||||||
- name: Verify Cache
|
|
||||||
if: steps.setup-dotnet.outputs.cache-hit == 'true'
|
|
||||||
shell: bash
|
|
||||||
run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0"
|
|
||||||
|
|
||||||
test-dotnet-version-output-during-single-version-installation:
|
test-dotnet-version-output-during-single-version-installation:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
@@ -616,7 +430,13 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system:
|
operating-system:
|
||||||
[ubuntu-latest, windows-latest, macos-15-intel, macos-latest]
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
@@ -624,11 +444,11 @@ jobs:
|
|||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
|
|
||||||
- name: Setup dotnet 8.0.402
|
- name: Setup dotnet 10.0.101
|
||||||
uses: ./
|
uses: ./
|
||||||
id: step1
|
id: step1
|
||||||
with:
|
with:
|
||||||
dotnet-version: '8.0.402'
|
dotnet-version: '10.0.101'
|
||||||
|
|
||||||
- name: Verify value of the dotnet-version output
|
- name: Verify value of the dotnet-version output
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@@ -643,7 +463,13 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system:
|
operating-system:
|
||||||
[ubuntu-latest, windows-latest, macos-15-intel, macos-latest]
|
[
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-latest,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-15-intel
|
||||||
|
]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
@@ -651,19 +477,19 @@ jobs:
|
|||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
|
|
||||||
- name: Setup dotnet 8.0.402, 6.0.401, 7.0.100-rc.1.22431.12
|
- name: Setup dotnet 8.0.402, 9.0.308, 10.0.101
|
||||||
uses: ./
|
uses: ./
|
||||||
id: step2
|
id: step2
|
||||||
with:
|
with:
|
||||||
dotnet-version: |
|
dotnet-version: |
|
||||||
|
10.0.101
|
||||||
|
9.0.308
|
||||||
8.0.402
|
8.0.402
|
||||||
6.0.401
|
|
||||||
7.0.100-rc.1.22431.12
|
|
||||||
|
|
||||||
- name: Verify value of the dotnet-version output
|
- name: Verify value of the dotnet-version output
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
$version = "8.0.402"
|
$version = "10.0.101"
|
||||||
if (-not ($version -eq '${{steps.step2.outputs.dotnet-version}}')) { throw "Unexpected output value" }
|
if (-not ($version -eq '${{steps.step2.outputs.dotnet-version}}')) { throw "Unexpected output value" }
|
||||||
|
|
||||||
test-proxy:
|
test-proxy:
|
||||||
@@ -694,41 +520,19 @@ jobs:
|
|||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
- name: Setup dotnet 8.0
|
- name: Setup dotnet 10.0
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.0
|
dotnet-version: 10.0
|
||||||
source-url: https://api.nuget.org/v3/index.json
|
source-url: https://api.nuget.org/v3/index.json
|
||||||
env:
|
env:
|
||||||
NUGET_AUTH_TOKEN: NOTATOKEN
|
NUGET_AUTH_TOKEN: NOTATOKEN
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
__tests__/verify-dotnet.ps1 -Patterns "^8.0" -CheckNugetConfig
|
__tests__/verify-dotnet.ps1 -Patterns "^10.0" -CheckNugetConfig
|
||||||
|
|
||||||
test-bypass-proxy:
|
test-bypass-proxy:
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
env:
|
|
||||||
https_proxy: http://no-such-proxy:3128
|
|
||||||
no_proxy: github.com,download.visualstudio.microsoft.com,api.nuget.org,builds.dotnet.microsoft.com,ci.dot.net
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Setup dotnet 7.0.410
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: 7.0.410
|
|
||||||
source-url: https://api.nuget.org/v3/index.json
|
|
||||||
env:
|
|
||||||
NUGET_AUTH_TOKEN: NOTATOKEN
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^7.0.410$" -CheckNugetConfig
|
|
||||||
|
|
||||||
test-bypass-proxy-extended:
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
https_proxy: http://no-such-proxy:3128
|
https_proxy: http://no-such-proxy:3128
|
||||||
@@ -739,54 +543,32 @@ jobs:
|
|||||||
- name: Clear toolcache
|
- name: Clear toolcache
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
||||||
- name: Setup dotnet 8.0.402
|
- name: Setup dotnet 10.0.101
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.0.402
|
dotnet-version: 10.0.101
|
||||||
source-url: https://api.nuget.org/v3/index.json
|
source-url: https://api.nuget.org/v3/index.json
|
||||||
env:
|
env:
|
||||||
NUGET_AUTH_TOKEN: NOTATOKEN
|
NUGET_AUTH_TOKEN: NOTATOKEN
|
||||||
- name: Verify dotnet
|
- name: Verify dotnet
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^8.0.402$" -CheckNugetConfig
|
run: __tests__/verify-dotnet.ps1 -Patterns "^10.0.101$" -CheckNugetConfig
|
||||||
|
|
||||||
test-sequential-version-installation:
|
test-sequential-version-installation:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-22.04, windows-latest, macos-15-intel]
|
operating-system:
|
||||||
lower-version: ['6.0.427']
|
[
|
||||||
higher-version: ['7.0.203']
|
ubuntu-22.04,
|
||||||
steps:
|
ubuntu-latest,
|
||||||
- name: Checkout
|
windows-latest,
|
||||||
uses: actions/checkout@v6
|
macos-latest,
|
||||||
- name: Clear toolcache
|
macos-15-intel
|
||||||
shell: pwsh
|
]
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
lower-version: ['9.0.308']
|
||||||
# Install one version, use it for something, then switch to next version
|
higher-version: ['10.0.101']
|
||||||
- name: Setup dotnet (lower version)
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: ${{ matrix.lower-version }}
|
|
||||||
- name: Verify dotnet (lower version)
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.lower-version }}$"
|
|
||||||
- name: Setup dotnet (higher version)
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: ${{ matrix.higher-version }}
|
|
||||||
- name: Verify dotnet (higher version)
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.lower-version }}$", "^${{ matrix.higher-version }}$"
|
|
||||||
test-sequential-version-installation-extended:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, macos-latest]
|
|
||||||
lower-version: ['8.0.403']
|
|
||||||
higher-version: ['9.0.301']
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
|
|||||||
2
.github/workflows/test-dotnet.yml
vendored
2
.github/workflows/test-dotnet.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
|||||||
macos-15-intel,
|
macos-15-intel,
|
||||||
macos-latest
|
macos-latest
|
||||||
]
|
]
|
||||||
dotnet-version: ['6.0', '7.0', '8.0', '9.0']
|
dotnet-version: ['8.0', '9.0', '10.0']
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
|
|||||||
47
README.md
47
README.md
@@ -29,7 +29,7 @@ See [action.yml](action.yml)
|
|||||||
**Basic**:
|
**Basic**:
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
dotnet-version: '8.0.x'
|
dotnet-version: '8.0.x'
|
||||||
@@ -40,7 +40,7 @@ steps:
|
|||||||
**Multiple version installation**:
|
**Multiple version installation**:
|
||||||
```yml
|
```yml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup dotnet
|
- name: Setup dotnet
|
||||||
uses: actions/setup-dotnet@v5
|
uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
@@ -53,7 +53,7 @@ steps:
|
|||||||
|
|
||||||
The `dotnet-version` input supports following syntax:
|
The `dotnet-version` input supports following syntax:
|
||||||
|
|
||||||
- **A.B.C** (e.g 6.0.400, 7.0.100-preview.7.22377.5) - installs exact version of .NET SDK
|
- **A.B.C** (e.g 9.0.308, 10.0.100-preview.1.25120.13) - installs exact version of .NET SDK
|
||||||
- **A.B** or **A.B.x** (e.g. 8.0, 8.0.x) - installs the latest patch version of .NET SDK on the channel `8.0`, including prerelease versions (preview, rc)
|
- **A.B** or **A.B.x** (e.g. 8.0, 8.0.x) - installs the latest patch version of .NET SDK on the channel `8.0`, including prerelease versions (preview, rc)
|
||||||
- **A** or **A.x** (e.g. 8, 8.x) - installs the latest minor version of the specified major tag, including prerelease versions (preview, rc)
|
- **A** or **A.x** (e.g. 8, 8.x) - installs the latest minor version of the specified major tag, including prerelease versions (preview, rc)
|
||||||
- **A.B.Cxx** (e.g. 8.0.4xx) - available since `.NET 5.0` release. Installs the latest version of the specific SDK release, including prerelease versions (preview, rc).
|
- **A.B.Cxx** (e.g. 8.0.4xx) - available since `.NET 5.0` release. Installs the latest version of the specific SDK release, including prerelease versions (preview, rc).
|
||||||
@@ -66,7 +66,7 @@ This input sets up the action to install the latest build of the specified quali
|
|||||||
|
|
||||||
```yml
|
```yml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
dotnet-version: '8.0.x'
|
dotnet-version: '8.0.x'
|
||||||
@@ -81,7 +81,7 @@ steps:
|
|||||||
|
|
||||||
```yml
|
```yml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
global-json-file: csharp/global.json
|
global-json-file: csharp/global.json
|
||||||
@@ -98,7 +98,7 @@ The action searches for [NuGet Lock files](https://learn.microsoft.com/nuget/con
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.x
|
dotnet-version: 8.x
|
||||||
@@ -123,7 +123,7 @@ steps:
|
|||||||
env:
|
env:
|
||||||
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.x
|
dotnet-version: 8.x
|
||||||
@@ -137,7 +137,7 @@ steps:
|
|||||||
env:
|
env:
|
||||||
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.x
|
dotnet-version: 8.x
|
||||||
@@ -154,10 +154,10 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
dotnet: [ '7.0.x', '8.0.x', '9.0.x' ]
|
dotnet: [ '8.0.x', '9.0.x', '10.0.x' ]
|
||||||
name: Dotnet ${{ matrix.dotnet }} sample
|
name: Dotnet ${{ matrix.dotnet }} sample
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup dotnet
|
- name: Setup dotnet
|
||||||
uses: actions/setup-dotnet@v5
|
uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
@@ -174,10 +174,10 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
dotnet: [ '7.0.x', '8.0.x', '9.0.x' ]
|
dotnet: [ '8.0.x', '9.0.x', '10.0.x' ]
|
||||||
name: Dotnet ${{ matrix.dotnet }} sample
|
name: Dotnet ${{ matrix.dotnet }} sample
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- name: Setup dotnet
|
- name: Setup dotnet
|
||||||
uses: actions/setup-dotnet@v5
|
uses: actions/setup-dotnet@v5
|
||||||
id: stepid
|
id: stepid
|
||||||
@@ -188,12 +188,13 @@ jobs:
|
|||||||
- name: Execute dotnet
|
- name: Execute dotnet
|
||||||
run: dotnet build <my project>
|
run: dotnet build <my project>
|
||||||
```
|
```
|
||||||
|
>**Note**: When generating a temporary `global.json` within your workflow on Windows, ensure the command is executed using a shell such as PowerShell Core (`pwsh`) or `bash` (where supported) to avoid formatting inconsistencies that could cause .NET commands to fail.
|
||||||
## Setting up authentication for nuget feeds
|
## Setting up authentication for nuget feeds
|
||||||
|
|
||||||
### Github Package Registry (GPR)
|
### Github Package Registry (GPR)
|
||||||
```yml
|
```yml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
dotnet-version: '8.0.x'
|
dotnet-version: '8.0.x'
|
||||||
@@ -246,8 +247,8 @@ In case of a single version installation, the `dotnet-version` output contains t
|
|||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
id: stepid
|
id: stepid
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.0.402
|
dotnet-version: 8.0.416
|
||||||
- run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 8.0.402
|
- run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 8.0.416
|
||||||
```
|
```
|
||||||
|
|
||||||
**Multiple version installation**
|
**Multiple version installation**
|
||||||
@@ -259,9 +260,9 @@ In case of a multiple version installation, the `dotnet-version` output contains
|
|||||||
id: stepid
|
id: stepid
|
||||||
with:
|
with:
|
||||||
dotnet-version: |
|
dotnet-version: |
|
||||||
8.0.402
|
8.0.416
|
||||||
9.0.301
|
9.0.308
|
||||||
- run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 9.0.301
|
- run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 9.0.308
|
||||||
```
|
```
|
||||||
**Installation from global.json**
|
**Installation from global.json**
|
||||||
|
|
||||||
@@ -272,10 +273,10 @@ When the `dotnet-version` input is used along with the `global-json-file` input,
|
|||||||
id: stepid
|
id: stepid
|
||||||
with:
|
with:
|
||||||
dotnet-version: |
|
dotnet-version: |
|
||||||
8.0.402
|
9.0.308
|
||||||
9.0.301
|
10.0.101
|
||||||
global-json-file: "./global.json" # contains version 7.0.410
|
global-json-file: "./global.json" # contains version 8.0.416
|
||||||
- run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 7.0.410
|
- run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 8.0.416
|
||||||
```
|
```
|
||||||
|
|
||||||
### `cache-hit`
|
### `cache-hit`
|
||||||
@@ -308,7 +309,7 @@ build:
|
|||||||
DOTNET_INSTALL_DIR: "path/to/directory"
|
DOTNET_INSTALL_DIR: "path/to/directory"
|
||||||
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@main
|
- uses: actions/checkout@v6
|
||||||
- uses: actions/setup-dotnet@v5
|
- uses: actions/setup-dotnet@v5
|
||||||
with:
|
with:
|
||||||
dotnet-version: '8.0.x'
|
dotnet-version: '8.0.x'
|
||||||
|
|||||||
4
__tests__/e2e-test-csproj/AssemblyInfo.cs
Normal file
4
__tests__/e2e-test-csproj/AssemblyInfo.cs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
|
||||||
|
// Sequential test execution
|
||||||
|
[assembly: DoNotParallelize]
|
||||||
@@ -12,7 +12,7 @@ namespace test_csproj
|
|||||||
Console.WriteLine("TestMethod");
|
Console.WriteLine("TestMethod");
|
||||||
int calculatedResult = 1000 / 25;
|
int calculatedResult = 1000 / 25;
|
||||||
int expectedResult = 40;
|
int expectedResult = 40;
|
||||||
Assert.AreEqual(calculatedResult, expectedResult);
|
Assert.AreEqual(expectedResult, calculatedResult);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -8,9 +8,9 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<!-- These packages will be downloaded over the network for testing proxy settings -->
|
<!-- These packages will be downloaded over the network for testing proxy settings -->
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0-preview-20170810-02" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
|
||||||
<PackageReference Include="MSTest.TestAdapter" Version="1.1.18" />
|
<PackageReference Include="MSTest.TestAdapter" Version="4.0.2" />
|
||||||
<PackageReference Include="MSTest.TestFramework" Version="1.1.18" />
|
<PackageReference Include="MSTest.TestFramework" Version="4.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ describe('installer tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should throw the error in case of non-zero exit code of the installation script. The error message should contain logs.', async () => {
|
it('should throw the error in case of non-zero exit code of the installation script. The error message should contain logs.', async () => {
|
||||||
const inputVersion = '3.1.100';
|
const inputVersion = '10.0.101';
|
||||||
const inputQuality = '' as QualityOptions;
|
const inputQuality = '' as QualityOptions;
|
||||||
const errorMessage = 'fictitious error message!';
|
const errorMessage = 'fictitious error message!';
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ describe('installer tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should return version of .NET SDK after installation complete', async () => {
|
it('should return version of .NET SDK after installation complete', async () => {
|
||||||
const inputVersion = '3.1.100';
|
const inputVersion = '10.0.101';
|
||||||
const inputQuality = '' as QualityOptions;
|
const inputQuality = '' as QualityOptions;
|
||||||
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
||||||
getExecOutputSpy.mockImplementation(() => {
|
getExecOutputSpy.mockImplementation(() => {
|
||||||
@@ -82,7 +82,7 @@ describe('installer tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it(`should supply 'version' argument to the installation script if supplied version is in A.B.C syntax`, async () => {
|
it(`should supply 'version' argument to the installation script if supplied version is in A.B.C syntax`, async () => {
|
||||||
const inputVersion = '6.0.300';
|
const inputVersion = '10.0.101';
|
||||||
const inputQuality = '' as QualityOptions;
|
const inputQuality = '' as QualityOptions;
|
||||||
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ describe('installer tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it(`should warn if the 'quality' input is set and the supplied version is in A.B.C syntax`, async () => {
|
it(`should warn if the 'quality' input is set and the supplied version is in A.B.C syntax`, async () => {
|
||||||
const inputVersion = '6.0.300';
|
const inputVersion = '10.0.101';
|
||||||
const inputQuality = 'ga' as QualityOptions;
|
const inputQuality = 'ga' as QualityOptions;
|
||||||
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
||||||
getExecOutputSpy.mockImplementation(() => {
|
getExecOutputSpy.mockImplementation(() => {
|
||||||
@@ -147,7 +147,7 @@ describe('installer tests', () => {
|
|||||||
it(`should warn if the 'quality' input is set and version isn't in A.B.C syntax but major tag is lower then 6`, async () => {
|
it(`should warn if the 'quality' input is set and version isn't in A.B.C syntax but major tag is lower then 6`, async () => {
|
||||||
const inputVersion = '3.1';
|
const inputVersion = '3.1';
|
||||||
const inputQuality = 'ga' as QualityOptions;
|
const inputQuality = 'ga' as QualityOptions;
|
||||||
const stdout = `Fictitious dotnet version 3.1.100 is installed`;
|
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
||||||
|
|
||||||
getExecOutputSpy.mockImplementation(() => {
|
getExecOutputSpy.mockImplementation(() => {
|
||||||
return Promise.resolve({
|
return Promise.resolve({
|
||||||
@@ -170,12 +170,12 @@ describe('installer tests', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
each(['6', '6.0', '6.0.x', '6.0.*', '6.0.X']).test(
|
each(['10', '10.0', '10.0.x', '10.0.*', '10.0.X']).test(
|
||||||
`should supply 'quality' argument to the installation script if quality input is set and version (%s) is not in A.B.C syntax`,
|
`should supply 'quality' argument to the installation script if quality input is set and version (%s) is not in A.B.C syntax`,
|
||||||
async inputVersion => {
|
async inputVersion => {
|
||||||
const inputQuality = 'ga' as QualityOptions;
|
const inputQuality = 'ga' as QualityOptions;
|
||||||
const exitCode = 0;
|
const exitCode = 0;
|
||||||
const stdout = `Fictitious dotnet version 6.0.0 is installed`;
|
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
||||||
getExecOutputSpy.mockImplementation(() => {
|
getExecOutputSpy.mockImplementation(() => {
|
||||||
return Promise.resolve({
|
return Promise.resolve({
|
||||||
exitCode: exitCode,
|
exitCode: exitCode,
|
||||||
@@ -210,12 +210,12 @@ describe('installer tests', () => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
each(['6', '6.0', '6.0.x', '6.0.*', '6.0.X']).test(
|
each(['10', '10.0', '10.0.x', '10.0.*', '10.0.X']).test(
|
||||||
`should supply 'channel' argument to the installation script if version (%s) isn't in A.B.C syntax`,
|
`should supply 'channel' argument to the installation script if version (%s) isn't in A.B.C syntax`,
|
||||||
async inputVersion => {
|
async inputVersion => {
|
||||||
const inputQuality = '' as QualityOptions;
|
const inputQuality = '' as QualityOptions;
|
||||||
const exitCode = 0;
|
const exitCode = 0;
|
||||||
const stdout = `Fictitious dotnet version 6.0.0 is installed`;
|
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
||||||
getExecOutputSpy.mockImplementation(() => {
|
getExecOutputSpy.mockImplementation(() => {
|
||||||
return Promise.resolve({
|
return Promise.resolve({
|
||||||
exitCode: exitCode,
|
exitCode: exitCode,
|
||||||
@@ -243,8 +243,8 @@ describe('installer tests', () => {
|
|||||||
getExecOutputSpy.mock.calls[callIndex][1] as string[]
|
getExecOutputSpy.mock.calls[callIndex][1] as string[]
|
||||||
).join(' ');
|
).join(' ');
|
||||||
const expectedArgument = IS_WINDOWS
|
const expectedArgument = IS_WINDOWS
|
||||||
? `-Channel 6.0`
|
? `-Channel 10.0`
|
||||||
: `--channel 6.0`;
|
: `--channel 10.0`;
|
||||||
|
|
||||||
expect(scriptArguments).toContain(expectedArgument);
|
expect(scriptArguments).toContain(expectedArgument);
|
||||||
}
|
}
|
||||||
@@ -253,7 +253,7 @@ describe('installer tests', () => {
|
|||||||
if (IS_WINDOWS) {
|
if (IS_WINDOWS) {
|
||||||
it(`should supply '-ProxyAddress' argument to the installation script if env.variable 'https_proxy' is set`, async () => {
|
it(`should supply '-ProxyAddress' argument to the installation script if env.variable 'https_proxy' is set`, async () => {
|
||||||
process.env['https_proxy'] = 'https://proxy.com';
|
process.env['https_proxy'] = 'https://proxy.com';
|
||||||
const inputVersion = '6.0.100';
|
const inputVersion = '10.0.101';
|
||||||
const inputQuality = '' as QualityOptions;
|
const inputQuality = '' as QualityOptions;
|
||||||
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
||||||
|
|
||||||
@@ -291,9 +291,9 @@ describe('installer tests', () => {
|
|||||||
|
|
||||||
it(`should supply '-ProxyBypassList' argument to the installation script if env.variable 'no_proxy' is set`, async () => {
|
it(`should supply '-ProxyBypassList' argument to the installation script if env.variable 'no_proxy' is set`, async () => {
|
||||||
process.env['no_proxy'] = 'first.url,second.url';
|
process.env['no_proxy'] = 'first.url,second.url';
|
||||||
const inputVersion = '6.0.100';
|
const inputVersion = '10.0.101';
|
||||||
const inputQuality = '' as QualityOptions;
|
const inputQuality = '' as QualityOptions;
|
||||||
const stdout = `Fictitious dotnet version 6.0.0 is installed`;
|
const stdout = `Fictitious dotnet version ${inputVersion} is installed`;
|
||||||
|
|
||||||
getExecOutputSpy.mockImplementation(() => {
|
getExecOutputSpy.mockImplementation(() => {
|
||||||
return Promise.resolve({
|
return Promise.resolve({
|
||||||
@@ -349,14 +349,14 @@ describe('installer tests', () => {
|
|||||||
describe('DotnetVersionResolver tests', () => {
|
describe('DotnetVersionResolver tests', () => {
|
||||||
describe('createDotnetVersion() tests', () => {
|
describe('createDotnetVersion() tests', () => {
|
||||||
each([
|
each([
|
||||||
'3.1',
|
'10.0',
|
||||||
'3.x',
|
'10.x',
|
||||||
'3.1.x',
|
'10.0.x',
|
||||||
'3.1.*',
|
'10.0.*',
|
||||||
'3.1.X',
|
'10.0.X',
|
||||||
'3.1.2',
|
'10.0.0',
|
||||||
'3.1.0-preview1',
|
'10.0.0-preview7',
|
||||||
'6.0.2xx'
|
'10.0.1xx'
|
||||||
]).test(
|
]).test(
|
||||||
'if valid version is supplied (%s), it should return version object with some value',
|
'if valid version is supplied (%s), it should return version object with some value',
|
||||||
async version => {
|
async version => {
|
||||||
@@ -408,7 +408,7 @@ describe('installer tests', () => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
each(['3', '3.1', '3.1.x', '3.1.*', '3.1.X', '6.0.2xx']).test(
|
each(['10', '10.0', '10.0.x', '10.0.*', '10.0.X', '10.0.1xx']).test(
|
||||||
"if version that can be resolved to 'channel' option is supplied (%s), it should set type to 'channel' in version object",
|
"if version that can be resolved to 'channel' option is supplied (%s), it should set type to 'channel' in version object",
|
||||||
async version => {
|
async version => {
|
||||||
const dotnetVersionResolver = new installer.DotnetVersionResolver(
|
const dotnetVersionResolver = new installer.DotnetVersionResolver(
|
||||||
@@ -423,7 +423,7 @@ describe('installer tests', () => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
each(['6.0', '6.0.x', '6.0.*', '6.0.X', '6.0.2xx']).test(
|
each(['10.0', '10.0.x', '10.0.*', '10.0.X', '10.0.1xx']).test(
|
||||||
"if version that can be resolved to 'channel' option is supplied and its major tag is >= 6 (%s), it should set type to 'channel' and qualityFlag to 'true' in version object",
|
"if version that can be resolved to 'channel' option is supplied and its major tag is >= 6 (%s), it should set type to 'channel' and qualityFlag to 'true' in version object",
|
||||||
async version => {
|
async version => {
|
||||||
const dotnetVersionResolver = new installer.DotnetVersionResolver(
|
const dotnetVersionResolver = new installer.DotnetVersionResolver(
|
||||||
@@ -439,7 +439,7 @@ describe('installer tests', () => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
each(['3.1.2', '3.1.0-preview1']).test(
|
each(['10.0.0', '10.0.0-preview7']).test(
|
||||||
"if version that can be resolved to 'version' option is supplied (%s), it should set quality flag to 'false' and type to 'version' in version object",
|
"if version that can be resolved to 'version' option is supplied (%s), it should set quality flag to 'false' and type to 'version' in version object",
|
||||||
async version => {
|
async version => {
|
||||||
const dotnetVersionResolver = new installer.DotnetVersionResolver(
|
const dotnetVersionResolver = new installer.DotnetVersionResolver(
|
||||||
@@ -455,7 +455,7 @@ describe('installer tests', () => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
each(['3.1.2', '3.1']).test(
|
each(['10.0.0', '10.0']).test(
|
||||||
'it should create proper line arguments for powershell/bash installation scripts',
|
'it should create proper line arguments for powershell/bash installation scripts',
|
||||||
async version => {
|
async version => {
|
||||||
const dotnetVersionResolver = new installer.DotnetVersionResolver(
|
const dotnetVersionResolver = new installer.DotnetVersionResolver(
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ describe('setup-dotnet tests', () => {
|
|||||||
|
|
||||||
it('should fail the action if quality is supplied but its value is not supported', async () => {
|
it('should fail the action if quality is supplied but its value is not supported', async () => {
|
||||||
inputs['global-json-file'] = '';
|
inputs['global-json-file'] = '';
|
||||||
inputs['dotnet-version'] = ['6.0'];
|
inputs['dotnet-version'] = ['10.0'];
|
||||||
inputs['dotnet-quality'] = 'fictitiousQuality';
|
inputs['dotnet-quality'] = 'fictitiousQuality';
|
||||||
|
|
||||||
const expectedErrorMessage = `Value '${inputs['dotnet-quality']}' is not supported for the 'dotnet-quality' option. Supported values are: daily, signed, validated, preview, ga.`;
|
const expectedErrorMessage = `Value '${inputs['dotnet-quality']}' is not supported for the 'dotnet-quality' option. Supported values are: daily, signed, validated, preview, ga.`;
|
||||||
@@ -92,7 +92,7 @@ describe('setup-dotnet tests', () => {
|
|||||||
|
|
||||||
it('should call installDotnet() multiple times if dotnet-version multiline input is provided', async () => {
|
it('should call installDotnet() multiple times if dotnet-version multiline input is provided', async () => {
|
||||||
inputs['global-json-file'] = '';
|
inputs['global-json-file'] = '';
|
||||||
inputs['dotnet-version'] = ['6.0', '7.0'];
|
inputs['dotnet-version'] = ['9.0', '10.0'];
|
||||||
inputs['dotnet-quality'] = '';
|
inputs['dotnet-quality'] = '';
|
||||||
|
|
||||||
installDotnetSpy.mockImplementation(() => Promise.resolve(''));
|
installDotnetSpy.mockImplementation(() => Promise.resolve(''));
|
||||||
@@ -103,7 +103,7 @@ describe('setup-dotnet tests', () => {
|
|||||||
|
|
||||||
it('should call addToPath() after installation complete', async () => {
|
it('should call addToPath() after installation complete', async () => {
|
||||||
inputs['global-json-file'] = '';
|
inputs['global-json-file'] = '';
|
||||||
inputs['dotnet-version'] = ['6.0', '7.0'];
|
inputs['dotnet-version'] = ['9.0', '10.0'];
|
||||||
inputs['dotnet-quality'] = '';
|
inputs['dotnet-quality'] = '';
|
||||||
|
|
||||||
installDotnetSpy.mockImplementation(() => Promise.resolve(''));
|
installDotnetSpy.mockImplementation(() => Promise.resolve(''));
|
||||||
@@ -145,7 +145,7 @@ describe('setup-dotnet tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should call setOutput() after installation complete successfully', async () => {
|
it('should call setOutput() after installation complete successfully', async () => {
|
||||||
inputs['dotnet-version'] = ['6.0.300'];
|
inputs['dotnet-version'] = ['10.0.101'];
|
||||||
|
|
||||||
installDotnetSpy.mockImplementation(() =>
|
installDotnetSpy.mockImplementation(() =>
|
||||||
Promise.resolve(`${inputs['dotnet-version']}`)
|
Promise.resolve(`${inputs['dotnet-version']}`)
|
||||||
@@ -156,7 +156,7 @@ describe('setup-dotnet tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it(`shouldn't call setOutput() if parsing dotnet-installer logs failed`, async () => {
|
it(`shouldn't call setOutput() if parsing dotnet-installer logs failed`, async () => {
|
||||||
inputs['dotnet-version'] = ['6.0.300'];
|
inputs['dotnet-version'] = ['10.0.101'];
|
||||||
const warningMessage = `Failed to output the installed version of .NET. The 'dotnet-version' output will not be set.`;
|
const warningMessage = `Failed to output the installed version of .NET. The 'dotnet-version' output will not be set.`;
|
||||||
|
|
||||||
installDotnetSpy.mockImplementation(() => Promise.resolve(null));
|
installDotnetSpy.mockImplementation(() => Promise.resolve(null));
|
||||||
@@ -177,7 +177,7 @@ describe('setup-dotnet tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it(`should get 'cache-dependency-path' and call restoreCache() if input cache is set to true and cache feature is available`, async () => {
|
it(`should get 'cache-dependency-path' and call restoreCache() if input cache is set to true and cache feature is available`, async () => {
|
||||||
inputs['dotnet-version'] = ['6.0.300'];
|
inputs['dotnet-version'] = ['10.0.101'];
|
||||||
inputs['dotnet-quality'] = '';
|
inputs['dotnet-quality'] = '';
|
||||||
inputs['cache'] = true;
|
inputs['cache'] = true;
|
||||||
inputs['cache-dependency-path'] = 'fictitious.package.lock.json';
|
inputs['cache-dependency-path'] = 'fictitious.package.lock.json';
|
||||||
@@ -195,7 +195,7 @@ describe('setup-dotnet tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it(`shouldn't call restoreCache() if input cache isn't set to true`, async () => {
|
it(`shouldn't call restoreCache() if input cache isn't set to true`, async () => {
|
||||||
inputs['dotnet-version'] = ['6.0.300'];
|
inputs['dotnet-version'] = ['10.0.101'];
|
||||||
inputs['dotnet-quality'] = '';
|
inputs['dotnet-quality'] = '';
|
||||||
inputs['cache'] = false;
|
inputs['cache'] = false;
|
||||||
|
|
||||||
@@ -209,7 +209,7 @@ describe('setup-dotnet tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it(`shouldn't call restoreCache() if cache feature isn't available`, async () => {
|
it(`shouldn't call restoreCache() if cache feature isn't available`, async () => {
|
||||||
inputs['dotnet-version'] = ['6.0.300'];
|
inputs['dotnet-version'] = ['10.0.101'];
|
||||||
inputs['dotnet-quality'] = '';
|
inputs['dotnet-quality'] = '';
|
||||||
inputs['cache'] = true;
|
inputs['cache'] = true;
|
||||||
|
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ $targetFrameworkVersionMap = @{
|
|||||||
"7.0" = "net7.0";
|
"7.0" = "net7.0";
|
||||||
"8.0" = "net8.0";
|
"8.0" = "net8.0";
|
||||||
"9.0" = "net9.0";
|
"9.0" = "net9.0";
|
||||||
|
"10.0" = "net10.0";
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($version in $Versions)
|
foreach ($version in $Versions)
|
||||||
|
|||||||
Reference in New Issue
Block a user