Configure permissions for codeql action #1727
Workflow file for this run
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: Build and Test | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
name: Dotnet build | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
6.0.x | |
8.0.x | |
# - name: Check Format | |
# # don't check formatting on Windows b/c of CRLF issues. | |
# if: matrix.os == 'ubuntu-latest' | |
# run: dotnet format --severity error --verify-no-changes --exclude ./src/KubernetesClient/generated/ | |
- name: Build | |
run: dotnet build --configuration Release -v detailed | |
- name: Test | |
run: dotnet test --configuration Release --collect:"Code Coverage;Format=Cobertura" --logger trx --results-directory TestResults --settings CodeCoverage.runsettings --no-build | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
directory: ./TestResults | |
files: '*.cobertura.xml' | |
- name: Upload test results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-results | |
path: ./TestResults | |
if: ${{ always() }} # Always run this step even on failure | |
# Test code gen for visual studio compatibility >> https://github.com/kubernetes-client/csharp/pull/1008 | |
codgen: | |
runs-on: windows-latest | |
name: MSBuild build | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Setup dotnet SDK | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Restore nugets (msbuild) | |
run: msbuild .\src\KubernetesClient\ -t:restore -p:RestorePackagesConfig=true | |
- name: Build (msbuild) | |
run: msbuild .\src\KubernetesClient\ | |
e2e: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
6.0.x | |
8.0.x | |
- name: Minikube | |
run: minikube start | |
- name: Test | |
run: | | |
true > skip.log | |
env K8S_E2E_MINIKUBE=1 dotnet test tests/E2E.Tests --logger "SkipTestLogger;file=$PWD/skip.log" | |
if [ -s skip.log ]; then | |
cat skip.log | |
echo "CASES MUST NOT BE SKIPPED" | |
exit 1 | |
fi | |
- name: AOT Test | |
run: | | |
true > skip.log | |
env K8S_E2E_MINIKUBE=1 dotnet test tests/E2E.Aot.Tests --logger "SkipTestLogger;file=$PWD/skip.log" | |
if [ -s skip.log ]; then | |
cat skip.log | |
echo "CASES MUST NOT BE SKIPPED" | |
exit 1 | |
fi | |
on: | |
pull_request: | |
types: [assigned, opened, synchronize, reopened] |