mirror of
https://github.com/github/codeql-action.git
synced 2025-12-06 07:48:17 +08:00
175 lines
5.3 KiB
YAML
175 lines
5.3 KiB
YAML
name: Test Python Package Installation
|
|
|
|
on:
|
|
push:
|
|
branches: [main, releases/v*]
|
|
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]
|
|
paths:
|
|
# Changes to this workflow.
|
|
- '.github/workflows/python-deps.yml'
|
|
# Changes to the Python package installation scripts and their tests.
|
|
- 'python-setup/**'
|
|
# Changes to the default CodeQL bundle version.
|
|
- '**/defaults.json'
|
|
schedule:
|
|
# Weekly on Monday.
|
|
- cron: '0 0 * * 1'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test-setup-python-scripts:
|
|
timeout-minutes: 45
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-20.04, ubuntu-22.04, macos-latest]
|
|
python_deps_type: [pipenv, poetry, requirements, setup_py]
|
|
python_version: [3]
|
|
|
|
|
|
env:
|
|
PYTHON_DEPS_TYPE: ${{ matrix.python_deps_type }}
|
|
PYTHON_VERSION: ${{ matrix.python_version }}
|
|
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Initialize CodeQL
|
|
uses: ./init
|
|
id: init
|
|
with:
|
|
tools: latest
|
|
languages: python
|
|
setup-python-dependencies: false
|
|
|
|
- name: Test Auto Package Installation
|
|
run: |
|
|
set -x
|
|
$GITHUB_WORKSPACE/python-setup/install_tools.sh
|
|
|
|
cd $GITHUB_WORKSPACE/python-setup/tests/${PYTHON_DEPS_TYPE}/requests-${PYTHON_VERSION}
|
|
|
|
case ${{ matrix.os }} in
|
|
ubuntu-20.04*) basePath="/opt";;
|
|
ubuntu-22.04*) basePath="/opt";;
|
|
macos-latest*) basePath="/Users/runner";;
|
|
esac
|
|
echo ${basePath}
|
|
|
|
$GITHUB_WORKSPACE/python-setup/auto_install_packages.py "$(dirname ${{steps.init.outputs.codeql-path}})"
|
|
- name: Setup for extractor
|
|
run: |
|
|
echo $CODEQL_PYTHON
|
|
# only run if $CODEQL_PYTHON is set
|
|
if [ ! -z $CODEQL_PYTHON ]; then
|
|
$GITHUB_WORKSPACE/python-setup/tests/from_python_exe.py $CODEQL_PYTHON;
|
|
fi
|
|
|
|
- name: Verify packages installed
|
|
run: |
|
|
$GITHUB_WORKSPACE/python-setup/tests/check_requests.sh ${PYTHON_VERSION} 2.31.0
|
|
|
|
# This one shouldn't fail, but also won't install packages
|
|
test-setup-python-scripts-non-standard-location:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-20.04, ubuntu-22.04, macos-latest]
|
|
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Initialize CodeQL
|
|
uses: ./init
|
|
id: init
|
|
with:
|
|
tools: latest
|
|
languages: python
|
|
setup-python-dependencies: false
|
|
|
|
- name: Test Auto Package Installation
|
|
run: |
|
|
set -x
|
|
$GITHUB_WORKSPACE/python-setup/install_tools.sh
|
|
|
|
cd $GITHUB_WORKSPACE/python-setup/tests/requirements/non-standard-location
|
|
|
|
case ${{ matrix.os }} in
|
|
ubuntu-20.04*) basePath="/opt";;
|
|
ubuntu-22.04*) basePath="/opt";;
|
|
macos-latest*) basePath="/Users/runner";;
|
|
esac
|
|
echo ${basePath}
|
|
|
|
$GITHUB_WORKSPACE/python-setup/auto_install_packages.py "$(dirname ${{steps.init.outputs.codeql-path}})"
|
|
|
|
- name: Setup for extractor
|
|
run: |
|
|
echo $CODEQL_PYTHON
|
|
# only run if $CODEQL_PYTHON is set
|
|
if [ ! -z $CODEQL_PYTHON ]; then
|
|
$GITHUB_WORKSPACE/python-setup/tests/from_python_exe.py $CODEQL_PYTHON;
|
|
fi
|
|
|
|
- name: Verify packages installed
|
|
run: |
|
|
test -z $LGTM_INDEX_IMPORT_PATH
|
|
|
|
test-setup-python-scripts-windows:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python_deps_type: [pipenv, poetry, requirements, setup_py]
|
|
python_version: [3]
|
|
|
|
env:
|
|
CODEQL_ACTION_TEST_MODE: true
|
|
PYTHON_DEPS_TYPE: ${{ matrix.python_deps_type }}
|
|
PYTHON_VERSION: ${{ matrix.python_version }}
|
|
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python_version }}
|
|
|
|
- name: Initialize CodeQL
|
|
id: init
|
|
uses: ./init
|
|
with:
|
|
tools: latest
|
|
languages: python
|
|
setup-python-dependencies: false
|
|
|
|
- name: Test Auto Package Installation
|
|
env:
|
|
CODEQL_PATH: ${{ steps.init.outputs.codeql-path }}
|
|
run: |
|
|
$cmd = $Env:GITHUB_WORKSPACE + "\\python-setup\\install_tools.ps1"
|
|
powershell -File $cmd
|
|
|
|
cd $Env:GITHUB_WORKSPACE\\python-setup/tests/$Env:PYTHON_DEPS_TYPE/requests-$Env:PYTHON_VERSION
|
|
$codeql_dist = (get-item $Env:CODEQL_PATH).Directory.FullName
|
|
py -3 $Env:GITHUB_WORKSPACE\\python-setup\\auto_install_packages.py $codeql_dist
|
|
|
|
- name: Setup for extractor
|
|
run: |
|
|
echo $Env:CODEQL_PYTHON
|
|
|
|
py -3 $Env:GITHUB_WORKSPACE\\python-setup\\tests\\from_python_exe.py $Env:CODEQL_PYTHON
|
|
|
|
- name: Verify packages installed
|
|
run: |
|
|
$cmd = $Env:GITHUB_WORKSPACE + "\\python-setup\\tests\\check_requests.ps1"
|
|
powershell -File $cmd $Env:PYTHON_VERSION 2.31.0
|