Bump Verify.Xunit and xunit.abstractions #1706
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: | |
merge_group: | |
workflow_dispatch: | |
env: | |
NUGET_PACKAGES: ${{ github.workspace }}/packages | |
DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
jobs: | |
build-container: | |
uses: ./.github/workflows/build-container.yml | |
build-ubuntu1604-native: | |
uses: ./.github/workflows/build-ubuntu1604-native-container.yml | |
build: | |
needs: build-ubuntu1604-native | |
uses: ./.github/workflows/build.yml | |
build-nuget-packages: | |
needs: [ build, build-container ] | |
uses: ./.github/workflows/build-nuget-packages.yml | |
test-build-managed: | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
test-tfm: [ net9.0, net8.0, net462 ] | |
machine: [ windows-2022, ubuntu-20.04, macos-13, otel-linux-arm64 ] | |
exclude: | |
- test-tfm: net462 | |
machine: macos-13 | |
- test-tfm: net462 | |
machine: ubuntu-20.04 | |
- test-tfm: net462 | |
machine: otel-linux-arm64 | |
include: | |
- machine: windows-2022 | |
containers: none | |
- machine: ubuntu-20.04 | |
containers: linux | |
- machine: macos-13 | |
containers: none | |
- machine: otel-linux-arm64 | |
containers: linux | |
runs-on: ${{ matrix.machine }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag: v4.2.2 | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Setup ARM64 Environment Variables | |
if: ${{ matrix.machine == 'otel-linux-arm64' }} | |
run: | | |
echo "DOTNET_INSTALL_DIR=~/.dotnet" >> $GITHUB_ENV | |
- name: Setup .NET | |
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # tag: v4.1.0 | |
with: | |
dotnet-version: | | |
8.0.404 | |
9.0.101 | |
- name: Check for NuGet packages cache | |
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # tag: v4.2.0 | |
id: nuget-cache | |
with: | |
key: ${{ hashFiles('**/Directory.packages.props', './build/LibraryVersions.g.cs', '**/packages.config' ) }} | |
path: ${{ env.NUGET_PACKAGES }} | |
- name: Download Artifacts from build job | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # tag: v4.1.8 | |
with: | |
name: bin-${{ matrix.machine }} | |
path: bin/tracer-home | |
- name: Install SQL Server (localdb) | |
if: ${{ runner.os == 'Windows' }} | |
uses: potatoqualitee/mssqlsuite@9a0136e208df60b8ecb62909f076bc34854fa55a # tag: v1.7 | |
with: | |
install: localdb | |
- name: Setup ARM64 Machine | |
if: ${{ matrix.machine == 'otel-linux-arm64' }} | |
run: | | |
sudo apt-get update && \ | |
sudo apt-get install -y \ | |
cmake \ | |
clang \ | |
make | |
- name: Run TestWorkflow | |
run: ./build.cmd --skip NativeTests --target TestWorkflow --test-target-framework ${{ matrix.test-tfm }} --containers ${{ matrix.containers }} | |
- name: Upload test logs | |
if: always() | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # tag: v4.4.3 | |
with: | |
name: test-logs-${{ matrix.machine }}-${{ matrix.test-tfm }}-containers-${{ matrix.containers }} | |
path: test-artifacts/ | |
- name: Delete SQL Server MSI | |
if: ${{ runner.os == 'Windows' }} | |
shell: bash | |
run: rm SqlLocalDB.msi | |
test-build-native: | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
machine: [ windows-2022 ] | |
runs-on: ${{ matrix.machine }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag: v4.2.2 | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Setup .NET | |
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # tag: v4.1.0 | |
with: | |
dotnet-version: | | |
8.0.404 | |
9.0.101 | |
- name: Check for NuGet packages cache | |
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # tag: v4.2.0 | |
id: nuget-cache | |
with: | |
key: ${{ hashFiles('**/Directory.packages.props', './build/LibraryVersions.g.cs', '**/packages.config' ) }} | |
path: ${{ env.NUGET_PACKAGES }} | |
- name: Download Artifacts from build job | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # tag: v4.1.8 | |
with: | |
name: bin-${{ matrix.machine }} | |
path: bin/tracer-home | |
- name: Run NativeTests | |
run: ./build.cmd NativeTests | |
test-build-windows-container-tests: | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- machine: windows-2022 | |
containers: windows-only | |
runs-on: ${{ matrix.machine }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag: v4.2.2 | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Setup .NET | |
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # tag: v4.1.0 | |
with: | |
dotnet-version: | | |
8.0.404 | |
9.0.101 | |
- name: Check for NuGet packages cache | |
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # tag: v4.2.0 | |
id: nuget-cache | |
with: | |
key: ${{ hashFiles('**/Directory.packages.props', './build/LibraryVersions.g.cs', '**/packages.config' ) }} | |
path: ${{ env.NUGET_PACKAGES }} | |
- name: Download Artifacts from build job | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # tag: v4.1.8 | |
with: | |
name: bin-${{ matrix.machine }} | |
path: bin/tracer-home | |
- name: Build artifacts required for the test (no native tests) | |
run: ./build.cmd --skip RunManagedTests --target ManagedTests --containers ${{ matrix.containers }} | |
- name: Run the integration tests | |
run: ./build.cmd --target RunManagedIntegrationTests --containers ${{ matrix.containers }} --test-target-framework net462 | |
- name: Upload test logs | |
if: always() | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # tag: v4.4.3 | |
with: | |
name: test-logs-${{ matrix.machine }}-containers-${{ matrix.containers }} | |
path: test-artifacts/ | |
test-build-container: | |
needs: [build, build-container] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- machine: ubuntu-20.04 | |
base-image: alpine | |
build-source: alpine-x64 | |
os-type: linux-musl | |
- machine: ubuntu-20.04 | |
base-image: debian | |
build-source: ubuntu-20.04 | |
os-type: linux-glibc | |
- machine: ubuntu-20.04 | |
base-image: centos-stream9 | |
build-source: ubuntu-20.04 | |
os-type: linux-glibc | |
- machine: otel-linux-arm64 | |
base-image: alpine | |
build-source: alpine-arm64 | |
os-type: linux-musl | |
- machine: otel-linux-arm64 | |
base-image: debian-arm64 | |
build-source: otel-linux-arm64 | |
os-type: linux-glibc | |
runs-on: ${{ matrix.machine }} | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag: v4.2.2 | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Download Artifacts from build job | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # tag: v4.1.8 | |
with: | |
name: bin-${{ matrix.build-source }} | |
path: bin/tracer-home | |
- name: Build in Docker container | |
run: | | |
set -e | |
docker build -t mybuildimage -f "./docker/${{ matrix.base-image }}.dockerfile" ./docker | |
docker run -e OS_TYPE=${{ matrix.os-type }} --rm --mount type=bind,source="${GITHUB_WORKSPACE}",target=/project mybuildimage \ | |
/bin/sh -c 'git config --global --add safe.directory /project && ./build.sh TestWorkflow --containers none' | |
test-nuget-packages: | |
needs: build-nuget-packages | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- machine: ubuntu-20.04 | |
- machine: macos-13 | |
- machine: windows-2022 | |
- machine: otel-linux-arm64 | |
runs-on: ${{ matrix.machine }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag: v4.2.2 | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Setup ARM64 Environment Variables | |
if: ${{ matrix.machine == 'otel-linux-arm64' }} | |
run: | | |
echo "DOTNET_INSTALL_DIR=~/.dotnet" >> $GITHUB_ENV | |
- name: Setup .NET | |
uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # tag: v4.1.0 | |
with: | |
dotnet-version: | | |
8.0.404 | |
9.0.101 | |
- name: Check for NuGet packages cache | |
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # tag: v4.2.0 | |
id: nuget-cache | |
with: | |
key: ${{ hashFiles('**/Directory.packages.props', './build/LibraryVersions.g.cs', '**/packages.config' ) }} | |
path: ${{ env.NUGET_PACKAGES }} | |
- name: Download NuGet Artifacts from build-nuget-packages job | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # tag: v4.1.8 | |
with: | |
name: bin-nuget-packages | |
path: bin/nuget-artifacts/ | |
- name: Test NuGet Packages | |
run: ./build.cmd TestNuGetPackages | |
- name: Upload test logs | |
if: always() | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # tag: v4.4.3 | |
with: | |
name: test-logs-nuget-packages-${{ matrix.machine }} | |
path: test-artifacts/ | |
test-jobs: | |
runs-on: ubuntu-20.04 | |
needs: | |
- test-build-managed | |
- test-build-native | |
- test-build-container | |
- test-nuget-packages | |
- test-build-windows-container-tests | |
steps: | |
- name: Test if test jobs passed | |
run: | | |
echo ${{ needs.test-build-managed.result }} | |
test ${{ needs.test-build-managed.result }} == "success" | |
echo ${{ needs.test-build-native.result }} | |
test ${{ needs.test-build-native.result }} == "success" | |
echo ${{ needs.test-build-container.result }} | |
test ${{ needs.test-build-container.result }} == "success" | |
echo ${{ needs.test-nuget-packages.result }} | |
test ${{ needs.test-nuget-packages.result }} == "success" | |
echo ${{ needs.test-build-windows-container-tests.result }} | |
test ${{ needs.test-build-windows-container-tests.result }} == "success" |