Reuse preinstalled .NET 10 SDK in CI
All checks were successful
smoke / smoke (push) Successful in 10s
All checks were successful
smoke / smoke (push) Successful in 10s
This commit is contained in:
@@ -74,34 +74,43 @@ jobs:
|
|||||||
echo "Non-root runner detected; smoke-only test lane enabled."
|
echo "Non-root runner detected; smoke-only test lane enabled."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Install .NET SDK
|
- name: Resolve .NET SDK
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
if command -v dotnet >/dev/null 2>&1 && dotnet --list-sdks | grep -Eq '^10\.'; then
|
||||||
|
echo "Using preinstalled .NET 10 SDK from PATH."
|
||||||
|
echo "DOTNET_CMD=dotnet" >> "$GITHUB_ENV"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Preinstalled .NET 10 SDK not found. Installing local SDK copy."
|
||||||
curl -fsSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh
|
curl -fsSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh
|
||||||
bash dotnet-install.sh --channel 10.0 --quality ga --install-dir "$HOME/.dotnet"
|
bash dotnet-install.sh --channel 10.0 --quality ga --install-dir "$HOME/.dotnet"
|
||||||
|
echo "DOTNET_CMD=$HOME/.dotnet/dotnet" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Show .NET info
|
- name: Show .NET info
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
"$HOME/.dotnet/dotnet" --info
|
"${DOTNET_CMD}" --info
|
||||||
|
|
||||||
- name: Restore
|
- name: Restore
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
"$HOME/.dotnet/dotnet" restore
|
"${DOTNET_CMD}" restore
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
"$HOME/.dotnet/dotnet" build --no-restore
|
"${DOTNET_CMD}" build --no-restore
|
||||||
|
|
||||||
- name: Smoke tests
|
- name: Smoke tests
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
LIBNFTABLES_RUN_PRIVILEGED_TESTS=0 "$HOME/.dotnet/dotnet" test LibNftables.slnx --no-build --filter "Category!=Privileged"
|
LIBNFTABLES_RUN_PRIVILEGED_TESTS=0 "${DOTNET_CMD}" test LibNftables.slnx --no-build --filter "Category!=Privileged"
|
||||||
|
|
||||||
- name: Privileged tests
|
- name: Privileged tests
|
||||||
if: env.RUN_PRIVILEGED_TESTS == '1'
|
if: env.RUN_PRIVILEGED_TESTS == '1'
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
LIBNFTABLES_RUN_PRIVILEGED_TESTS=1 "$HOME/.dotnet/dotnet" test LibNftables.slnx --no-build --filter "Category=Privileged"
|
LIBNFTABLES_RUN_PRIVILEGED_TESTS=1 "${DOTNET_CMD}" test LibNftables.slnx --no-build --filter "Category=Privileged"
|
||||||
|
|||||||
@@ -71,7 +71,8 @@ The repository includes a Gitea Actions smoke workflow at `.gitea/workflows/smok
|
|||||||
- Runner label: `debian-13`
|
- Runner label: `debian-13`
|
||||||
- Job model: root-aware smoke verification
|
- Job model: root-aware smoke verification
|
||||||
- Workflow actions:
|
- Workflow actions:
|
||||||
- bootstrap the .NET 10 SDK inside the job
|
- use a preinstalled .NET 10 SDK when the runner already has one
|
||||||
|
- otherwise bootstrap a local .NET 10 SDK inside the job
|
||||||
- restore
|
- restore
|
||||||
- build
|
- build
|
||||||
- always run the non-privileged smoke test lane
|
- always run the non-privileged smoke test lane
|
||||||
|
|||||||
Reference in New Issue
Block a user