Bump docker/build-push-action from 5.3.0 to 6.7.0 #278
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-centos-native: | |
uses: ./.github/workflows/build-centos-native-container.yml | |
build: | |
needs: build-centos-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: [ net8.0, net7.0, net6.0, net462 ] | |
machine: [ windows-2022, ubuntu-20.04, macos-11, actuated-arm64-4cpu-8gb ] | |
exclude: | |
- test-tfm: net462 | |
machine: macos-11 | |
- test-tfm: net462 | |
machine: ubuntu-20.04 | |
- test-tfm: net462 | |
machine: actuated-arm64-4cpu-8gb | |
include: | |
- machine: windows-2022 | |
containers: none | |
- machine: ubuntu-20.04 | |
containers: linux | |
- machine: macos-11 | |
containers: none | |
- machine: actuated-arm64-4cpu-8gb | |
containers: linux | |
runs-on: ${{ matrix.machine }} | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Setup ARM64 Environment Variables | |
if: ${{ matrix.machine == 'actuated-arm64-4cpu-8gb' }} | |
run: | | |
echo "DOTNET_INSTALL_DIR=~/.dotnet" >> $GITHUB_ENV | |
- name: Setup .NET | |
uses: actions/[email protected] | |
with: | |
dotnet-version: | | |
6.0.422 | |
7.0.409 | |
8.0.300 | |
- name: Check for NuGet packages cache | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
name: bin-${{ matrix.machine }} | |
path: bin/tracer-home | |
- name: Install SQL Server (localdb) | |
if: ${{ runner.os == 'Windows' }} | |
uses: potatoqualitee/[email protected] | |
with: | |
install: localdb | |
- name: Setup ARM64 Machine | |
if: ${{ matrix.machine == 'actuated-arm64-4cpu-8gb' }} | |
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/[email protected] | |
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/[email protected] | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Setup .NET | |
uses: actions/[email protected] | |
with: | |
dotnet-version: | | |
6.0.422 | |
7.0.409 | |
8.0.300 | |
- name: Check for NuGet packages cache | |
uses: actions/[email protected] | |
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/[email protected] | |
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/[email protected] | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Setup .NET | |
uses: actions/[email protected] | |
with: | |
dotnet-version: | | |
6.0.422 | |
7.0.409 | |
8.0.300 | |
- name: Check for NuGet packages cache | |
uses: actions/[email protected] | |
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/[email protected] | |
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 }} | |
- name: Upload test logs | |
if: always() | |
uses: actions/[email protected] | |
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: centos | |
build-source: ubuntu-20.04 | |
os-type: linux-glibc | |
- machine: ubuntu-20.04 | |
base-image: debian | |
build-source: ubuntu-20.04 | |
os-type: linux-glibc | |
- machine: actuated-arm64-4cpu-8gb | |
base-image: alpine | |
build-source: alpine-arm64 | |
os-type: linux-musl | |
- machine: actuated-arm64-4cpu-8gb | |
base-image: debian-arm64 | |
build-source: actuated-arm64-4cpu-8gb | |
os-type: linux-glibc | |
runs-on: ${{ matrix.machine }} | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Download Artifacts from build job | |
uses: actions/[email protected] | |
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-11 | |
- machine: windows-2022 | |
- machine: actuated-arm64-4cpu-8gb | |
runs-on: ${{ matrix.machine }} | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 # fetching all, needed to correctly calculate version | |
- name: Setup ARM64 Environment Variables | |
if: ${{ matrix.machine == 'actuated-arm64-4cpu-8gb' }} | |
run: | | |
echo "DOTNET_INSTALL_DIR=~/.dotnet" >> $GITHUB_ENV | |
- name: Setup .NET | |
uses: actions/[email protected] | |
with: | |
dotnet-version: | | |
6.0.422 | |
7.0.409 | |
8.0.300 | |
- name: Check for NuGet packages cache | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
name: bin-nuget-packages | |
path: bin/nuget-artifacts/ | |
- name: Test NuGet Packages | |
run: ./build.cmd TestNuGetPackages | |
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" |