[AUTOPATCHER-kernel] Kernel CVE - branch main - CVE-2024-46859 CVE-2024-46852 CVE-2024-38538 CVE-2024-46853 CVE-2024-50036 CVE-2023-52913 CVE-2024-26875 CVE-2024-41080 CVE-2024-43834 CVE-2022-48635 CVE-2024-46849 CVE-2024-46854 CVE-2024-50072 CVE-2024-47673 CVE-2024-43849 CVE-2024-36893 CVE-2024-47670 CVE-2024-50010 CVE-2024-50058 CVE-2024-43841 CVE-2024-43835 CVE-2024-43839 CVE-2024-50086 CVE-2024-46858 CVE-2024-47672 CVE-2024-44931 CVE-2021-47482 CVE-2024-43846 CVE-2024-46855 CVE-2024-39463 CVE-2024-46695 CVE-2024-38545 CVE-2024-36972 CVE-2023-52601 CVE-2024-47671 #36848
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
# Copyright (c) Microsoft Corporation. | |
# Licensed under the MIT License. | |
name: Go Test Coverage | |
on: | |
push: | |
branches: [main, dev, 1.0*, 2.0*, fasttrack/*] | |
pull_request: | |
branches: [main, dev, 1.0*, 2.0*, fasttrack/*] | |
permissions: read-all | |
env: | |
EXPECTED_GO_VERSION: "1.21" | |
jobs: | |
build: | |
name: Go Test Coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '${{ env.EXPECTED_GO_VERSION }}' | |
id: go | |
- name: Check active go version | |
run: | | |
go version && which go | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
- name: Check go.mod | |
run: | | |
if grep -q "go $EXPECTED_GO_VERSION" ./toolkit/tools/go.mod; then | |
echo "go.mod has correct version ($EXPECTED_GO_VERSION)" | |
else | |
actual_version="$(grep -E '^go [0-9]+\.[0-9]+' ./toolkit/tools/go.mod)" | |
echo "go.mod has bad version expected:$EXPECTED_GO_VERSION, found: $actual_version" | |
echo "UPDATE ./github/workflows/go-test-coverage.yml AND prerequisite documentation if minimum go version changed" | |
exit 1 | |
fi | |
- name: Install prerequisites | |
run: | | |
sudo apt-get update | |
sudo apt -y install qemu-utils | |
- name: Check for bad go formatting | |
run: | | |
pushd toolkit | |
sudo env "PATH=$PATH" make go-fmt-all | |
changes=$(git diff *.go) | |
if [ -n "$changes" ]; then | |
echo Unformatted go files! | |
git diff *.go | |
exit 1 | |
fi | |
- name: Check for out of date go modules | |
run: | | |
pushd toolkit | |
sudo env "PATH=$PATH" make go-mod-tidy | |
modchanges=$(git diff tools/go.mod) | |
sumchanges=$(git diff tools/go.sum) | |
if [ -n "$modchanges$sumchanges" ]; then | |
echo Module files out of date! | |
git diff tools/go.mod | |
git diff tools/go.sum | |
exit 1 | |
fi | |
- name: Check for missing tests | |
run: | | |
pushd toolkit | |
noTestCount=$(sudo make go-test-coverage | grep "no test files" | wc -l) | |
if [ "$noTestCount" -ne "0" ]; then | |
sudo env "PATH=$PATH" make go-test-coverage | grep "no test files" | |
echo Missing $noTestCount Go Tests! | |
fi | |
- name: Evaluate test coverage | |
run: | | |
pushd toolkit | |
sudo env "PATH=$PATH" make go-test-coverage | |
- name: Upload test coverage | |
uses: actions/upload-artifact@v4 | |
with: | |
name: TestCoverage | |
path: toolkit/out/tools/test_coverage_report.html | |
- name: Ensure all tools build | |
run: | | |
pushd toolkit | |
sudo env "PATH=$PATH" make go-tools REBUILD_TOOLS=y |