Skip to content

Run profiling on comment-trigger, and cron #4773

Run profiling on comment-trigger, and cron

Run profiling on comment-trigger, and cron #4773

Workflow file for this run

name: CI
on:
push:
branches: "master"
tags: ["*"]
pull_request:
schedule:
- cron: 0 0 * * *
env:
LD_PRELOAD: /lib/x86_64-linux-gnu/libSegFault.so
SEGFAULT_SIGNALS: all
jobs:
gen-test-matrix:
name: Find test files
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: [self-hosted]
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
with:
lfs: true
- id: set-matrix
name: Set matrix
run: |
set -e
# Find all test files and generate their list in JSON format
VAR_FILES="{\"include\":["
for file in tests/test_*.py; do
VAR_FILES="${VAR_FILES}{\"file\":\"${file}\"},"
done
VAR_FILES="${VAR_FILES}]}"
echo $VAR_FILES
echo "matrix=${VAR_FILES}" >> $GITHUB_OUTPUT
test:
needs: gen-test-matrix
if: "!contains(github.event.head_commit.message, '[skip ci]')"
name: Test ${{ matrix.file }}
runs-on: [self-hosted]
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.gen-test-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
with:
lfs: true
- name: System info
run: |
set -x
python --version
uname -a
lsb_release -a
virtualenv --version
pip --version
tox --version
- name: Test with tox
run: |
tox -v -e py38,report -- pytest --cov --cov-report=term-missing -vv "${{ matrix.file }}"
check:
name: Checks
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: [self-hosted]
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
with:
lfs: true
- name: System info
run: |
set -x
python --version
uname -a
lsb_release -a
virtualenv --version
pip --version
tox --version
- name: Run checks
run: tox -v -e check
docs:
name: Documentation
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: [self-hosted]
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
with:
lfs: true
- name: System info
run: |
set -x
python --version
uname -a
lsb_release -a
virtualenv --version
pip --version
tox --version
- name: Build documentation
run: tox -v -e docs