mirror of
https://github.com/JakeHillion/drgn.git
synced 2024-12-23 01:33:06 +00:00
3bd0c37177
The CI status badge is inaccurate since commit e9141fa396
("ci: reduce
usage and add Python 3.12 beta") because the "real" CI on the main
branch got moved to a new workflow and the existing one became a
reusable workflow_call/workflow_dispatch. Combine the push workflow back
into the reusable workflow.
Signed-off-by: Omar Sandoval <osandov@osandov.com>
72 lines
2.3 KiB
YAML
72 lines
2.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
inputs:
|
|
test_all_python_versions:
|
|
description: "Run tests on all Python versions"
|
|
type: boolean
|
|
default: false
|
|
required: true
|
|
workflow_call:
|
|
inputs:
|
|
test_all_python_versions:
|
|
description: "Run tests on all Python versions"
|
|
type: boolean
|
|
default: false
|
|
required: true
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
# We're stuck on Ubuntu 20.04 as long as we want to keep testing on Python
|
|
# 3.6 due to actions/setup-python#544.
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
python-version: ${{ (github.event_name == 'push' || inputs.test_all_python_versions)
|
|
&& fromJSON('["3.12", "3.11", "3.10", "3.9", "3.8", "3.7", "3.6"]')
|
|
|| fromJSON('["3.11", "3.6"]')}}
|
|
cc: [gcc, clang]
|
|
fail-fast: false
|
|
env:
|
|
CC: ${{ matrix.cc }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
allow-prereleases: true
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install dwarves libelf-dev libdw-dev qemu-kvm zstd ${{ matrix.cc == 'clang' && 'libomp-$(clang --version | sed -rn "s/.*clang version ([0-9]+).*/\\1/p")-dev' || '' }}
|
|
pip install pyroute2 pre-commit
|
|
- name: Generate version.py
|
|
run: python setup.py --version
|
|
- name: Check with mypy
|
|
run: pre-commit run --all-files mypy
|
|
- name: Build and test with ${{ matrix.cc }}
|
|
run: CONFIGURE_FLAGS="--enable-compiler-warnings=error" python setup.py test -K
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.x'
|
|
- name: Install dependencies
|
|
run: pip install pre-commit
|
|
- name: Run pre-commit hooks
|
|
run: SKIP=mypy pre-commit run --all-files --show-diff-on-failure
|