Skip to content

Commit

Permalink
[CI] Port remaining non GPU tests to GitHub Actions (#581)
Browse files Browse the repository at this point in the history
* add cleaning step to test_tsvtools pipeline

* add test_generate pipeline

* add test_predict pipeline

* add test_prepare_data pipeline

* add test_quality_checks pipeline

* add refactoring target branch, cpu tag, and draft PR filter

* trigger CI
  • Loading branch information
NicolasGensollen authored May 24, 2024
1 parent c9d9252 commit 753f04e
Show file tree
Hide file tree
Showing 5 changed files with 216 additions and 1 deletion.
53 changes: 53 additions & 0 deletions .github/workflows/test_generate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Generate Tests

on:
push:
branches: ["dev", "refactoring"]
pull_request:
branches: ["dev", "refactoring"]

permissions:
contents: read

concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true

env:
POETRY_VERSION: '1.8.3'
PYTHON_VERSION: '3.11'

jobs:
test-generate:
if: github.event.pull_request.draft == false
runs-on:
- self-hosted
- Linux
- ubuntu
- cpu
steps:
- uses: actions/checkout@v4
- uses: snok/install-poetry@v1
with:
version: ${{ env.POETRY_VERSION }}
virtualenvs-create: false
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Run tests for generate task
run: |
make env.conda
source /builds/miniconda3/etc/profile.d/conda.sh
conda activate "${{ github.workspace }}"/env
make install
cd tests
poetry run pytest --verbose \
--junitxml=./test-reports/test_generate_report.xml \
--disable-warnings \
--verbose \
--basetemp=$HOME/tmp/generate \
--input_data_directory=/mnt/data/data_ci \
test_generate.py
- name: Cleaning
run: |
rm -rf $HOME/tmp/generate
53 changes: 53 additions & 0 deletions .github/workflows/test_predict.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Predict Tests

on:
push:
branches: ["dev", "refactoring"]
pull_request:
branches: ["dev", "refactoring"]

permissions:
contents: read

concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true

env:
POETRY_VERSION: '1.8.3'
PYTHON_VERSION: '3.11'

jobs:
test-predict:
if: github.event.pull_request.draft == false
runs-on:
- self-hosted
- Linux
- ubuntu
- cpu
steps:
- uses: actions/checkout@v4
- uses: snok/install-poetry@v1
with:
version: ${{ env.POETRY_VERSION }}
virtualenvs-create: false
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Run tests for predict task
run: |
make env.conda
source /builds/miniconda3/etc/profile.d/conda.sh
conda activate "${{ github.workspace }}"/env
make install
cd tests
poetry run pytest --verbose \
--junitxml=./test-reports/test_predict_report.xml \
--disable-warnings \
--verbose \
--basetemp=$HOME/tmp/predict \
--input_data_directory=/mnt/data/data_ci \
test_predict.py
- name: Cleaning
run: |
rm -rf $HOME/tmp/predict/*
53 changes: 53 additions & 0 deletions .github/workflows/test_prepare_data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Prepare data Tests

on:
push:
branches: ["dev", "refactoring"]
pull_request:
branches: ["dev", "refactoring"]

permissions:
contents: read

concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true

env:
POETRY_VERSION: '1.8.3'
PYTHON_VERSION: '3.11'

jobs:
test-prepare-data:
if: github.event.pull_request.draft == false
runs-on:
- self-hosted
- Linux
- ubuntu
- cpu
steps:
- uses: actions/checkout@v4
- uses: snok/install-poetry@v1
with:
version: ${{ env.POETRY_VERSION }}
virtualenvs-create: false
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Run tests for prepare data task
run: |
make env.conda
source /builds/miniconda3/etc/profile.d/conda.sh
conda activate "${{ github.workspace }}"/env
make install
cd tests
poetry run pytest --verbose \
--junitxml=./test-reports/test_prepare_data_report.xml \
--disable-warnings \
--verbose \
--basetemp=$HOME/tmp/prepare_data \
--input_data_directory=/mnt/data/data_ci \
test_prepare_data.py
- name: Cleaning
run: |
rm -rf $HOME/tmp/prepare_data/*
53 changes: 53 additions & 0 deletions .github/workflows/test_quality_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Quality Check Tests

on:
push:
branches: ["dev", "refactoring"]
pull_request:
branches: ["dev", "refactoring"]

permissions:
contents: read

concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true

env:
POETRY_VERSION: '1.8.3'
PYTHON_VERSION: '3.11'

jobs:
test-quality-check:
if: github.event.pull_request.draft == false
runs-on:
- self-hosted
- Linux
- ubuntu
- cpu
steps:
- uses: actions/checkout@v4
- uses: snok/install-poetry@v1
with:
version: ${{ env.POETRY_VERSION }}
virtualenvs-create: false
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Run tests for Quality Check
run: |
make env.conda
source /builds/miniconda3/etc/profile.d/conda.sh
conda activate "${{ github.workspace }}"/env
make install
cd tests
poetry run pytest --verbose \
--junitxml=./test-reports/test_quality_check_report.xml \
--disable-warnings \
--verbose \
--basetemp=$HOME/tmp/quality_checks \
--input_data_directory=/mnt/data/data_ci \
test_qc.py
- name: Cleaning
run: |
rm -rf $HOME/tmp/quality_checks/*
5 changes: 4 additions & 1 deletion .github/workflows/test_tsvtools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ jobs:
--junitxml=./test-reports/test_tsvtools_report.xml \
--disable-warnings \
--verbose \
--basetemp=$HOME/tmp \
--basetemp=$HOME/tmp/tsv_tools \
--input_data_directory=/mnt/data/data_ci \
test_tsvtools.py
- name: Cleaning
run: |
rm -rf $HOME/tmp/tsv_tools/*

0 comments on commit 753f04e

Please sign in to comment.