diff --git a/.github/workflows/python312-windows.yml b/.github/workflows/python312-windows.yml new file mode 100644 index 0000000000..54997e9c6d --- /dev/null +++ b/.github/workflows/python312-windows.yml @@ -0,0 +1,41 @@ +name: Test that the workaround for python 3.12 on windows works + +on: + push: + branches: [main, releases/v2] + pull_request: + # Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened + # by other workflows. + types: [opened, synchronize, reopened, ready_for_review] + schedule: + # Weekly on Monday. + - cron: '0 0 * * 1' + workflow_dispatch: + +jobs: + test-setup-python-scripts: + timeout-minutes: 45 + runs-on: windows-latest + + steps: + - uses: actions/setup-python@v4 + with: + python-version: 3.12 + + - uses: actions/checkout@v4 + + - name: Prepare test + uses: ./.github/actions/prepare-test + with: + version: default + + - name: Initialize CodeQL + uses: ./../init + with: + tools: latest + languages: python + + - name: Analyze + uses: ./../action/analyze + with: + upload-database: false diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a17e5c1d5..2f3d5cb350 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th ## [UNRELEASED] -No user facing changes. +- Add a workaround python 3.12, which is not supported in CodeQL CLI version 2.14.6 or earlier. If you are running an analysis on windows and using python 3.12 or later, the CodeQL Action will switch to running python 3.11. ## 2.22.0 - 06 Oct 2023 diff --git a/python-setup/check_python12.ps1 b/python-setup/check_python12.ps1 index d48da8352a..f35558b07e 100644 --- a/python-setup/check_python12.ps1 +++ b/python-setup/check_python12.ps1 @@ -4,16 +4,16 @@ # If we are running greater than or equal to python 3.12, change py to run version 3.11 Write-Host "Checking python version" if ((py -3 -c "import sys; print(0 if sys.version_info >= (3, 12) else 1)") -eq "0") { - Write-Host "Python 3.12+ detected, setting PY_PYTHON3=3.11" + Write-Host "python 3.12+ detected, setting PY_PYTHON3=3.11" # First make sure we have python 3.11 installed py -3.11 -c "import imp" if ($LASTEXITCODE -eq 0) { - Write-Host "Python 3.11 detected, using this version instead of 3.12+." + Write-Host "python 3.11 detected, using this version instead of 3.12+." Write-Output "PY_PYTHON3=3.11" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append } else { - Write-Host "FAILURE: Python 3.12+ is not supported. Please install Python 3.11." + Write-Host "FAILURE: Python 3.12+ is not supported, and Python 3.11 could not be detected on the system. Please install Python 3.11." exit 1 } } else { - Write-Host "Python 3.12+ not detected, not making any changes." + Write-Host "python 3.12+ not detected, not making any changes." }