[AUTOPATCHER-kernel] Kernel CVE - branch 3.0-dev - CVE-2024-41071 CVE-2024-36910 CVE-2024-49914 CVE-2024-44950 CVE-2024-41080 CVE-2024-49898 CVE-2024-50010 CVE-2024-40965 CVE-2024-50067 CVE-2024-53085 CVE-2024-43835 CVE-2023-52601 CVE-2024-49974 CVE-2024-49906 CVE-2024-44955 CVE-2024-46841 CVE-2024-49917 CVE-2024-49909 CVE-2024-49911 CVE-2024-26875 CVE-2024-43904 CVE-2023-52920 CVE-2024-49891 CVE-2024-27011 CVE-2024-49926 CVE-2024-49915 CVE-2024-36972 CVE-2024-44963 CVE-2024-50027 CVE-2024-49899 CVE-2024-43913 CVE-2024-42252 CVE-2024-43911 CVE-2024-42156 CVE-2024-42122 CVE-2024-49934 CVE-2024-43857 CVE-2024-49897 #37140
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*, 3.0*, fasttrack/*] | |
pull_request: | |
branches: [main, dev, 1.0*, 2.0*, 3.0*, fasttrack/*] | |
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 |