Skip to content

fix_pipeline

fix_pipeline #159

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
- fix_pipeline
permissions:
contents: write
env:
SKIP_DEPLOY: true
SKIP_INSTALL: false
SKIP_TEST: false
jobs:
before_script:
runs-on: self-hosted
strategy:
matrix:
node-version: [ 20.x ]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
conda init bash
source ~/.bashrc
source activate ci_env
shell: bash
test_sarvey:
runs-on: self-hosted
needs: before_script
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Run tests
if: env.SKIP_TEST == 'false'
run: |
conda init bash
source ~/.bashrc
mamba env remove --name ci_temp_env --yes || echo "Environment ci_temp_env does not exist"
mamba create -n ci_temp_env --clone ci_env
source activate ci_temp_env
mamba install json5
rm -rf tests/testdata
wget -nv -c -O testdata.zip https://seafile.projekt.uni-hannover.de/f/4b3be399dffa488e98db/?dl=1
unzip testdata.zip
mv testdata tests/
mamba list
make pytest
shell: bash
- name: create docs
if: env.SKIP_DEPLOY == 'false'
run: |
conda init bash
source ~/.bashrc
source activate ci_env
make docs
shell: bash
- name: Upload coverage report
if: env.SKIP_DEPLOY == 'false'
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: htmlcov/
- name: Upload report.html
if: env.SKIP_DEPLOY == 'false'
uses: actions/upload-artifact@v4
with:
name: test-report
path: report.html
- name: Upload docs
if: env.SKIP_DEPLOY == 'false'
uses: actions/upload-artifact@v4
with:
name: docs
path: docs/_build/html/
- name: Upload cobertura coverage report
if: env.SKIP_DEPLOY == 'false'
uses: actions/upload-artifact@v4
with:
name: cobertura-coverage
path: coverage.xml
- name: Upload junit report
if: env.SKIP_DEPLOY == 'false'
uses: actions/upload-artifact@v4
with:
name: junit-report
path: report.xml
test_styles:
runs-on: self-hosted
needs: before_script
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
if: env.SKIP_TEST == 'false'
run: |
conda init bash
source ~/.bashrc
source activate ci_env
make lint
shell: bash
- name: Upload flake8 log
if: env.SKIP_TEST == 'false'
uses: actions/upload-artifact@v4
with:
name: flake8-log
path: tests/linting/flake8.log
- name: Upload pycodestyle log
if: env.SKIP_TEST == 'false'
uses: actions/upload-artifact@v4
with:
name: pycodestyle-log
path: tests/linting/pycodestyle.log
- name: Upload pydocstyle log
if: env.SKIP_TEST == 'false'
uses: actions/upload-artifact@v4
with:
name: pydocstyle-log
path: tests/linting/pydocstyle.log
test_urls:
runs-on: self-hosted
needs: before_script
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
if: env.SKIP_TEST == 'false'
run: |
conda init bash
source ~/.bashrc
source activate ci_env
make urlcheck
shell: bash
test_sarvey_install:
runs-on: self-hosted
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
if: env.SKIP_INSTALL == 'false'
run: |
source $HOME/miniconda/bin/activate
mamba install -n base conda=24.9.1 mamba=1.5.9
mamba info
mamba env remove --name sarvey_testinstall --yes || echo "Environment sarvey_testinstall does not exist"
pip install conda-merge
wget https://raw.githubusercontent.com/insarlab/MiaplPy/main/conda-env.yml
conda-merge conda-env.yml tests/CI_docker/context/environment_sarvey.yml > env.yml
mamba env create --name sarvey_testinstall -f env.yml
source activate sarvey_testinstall
pip install git+https://github.com/insarlab/MiaplPy.git
pip install .
OUTPUT=$(pip check) || { echo "$OUTPUT"; true; }
cd ..
python -c "import sarvey; print(sarvey)"
shell: bash
deploy_pages:
runs-on: self-hosted
needs: test_sarvey
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Download docs
uses: actions/download-artifact@v4
with:
name: docs
path: docs/_build/html/
- name: Download coverage report
uses: actions/download-artifact@v4
with:
name: coverage-report
path: htmlcov/
- name: Download report.html
uses: actions/download-artifact@v4
with:
name: test-report
- name: Deploy to GitHub Pages
if: env.SKIP_DEPLOY == 'false'
run: |
rm -rf public
mkdir -p public/docs
mkdir -p public/images/
mkdir -p public/coverage
mkdir -p public/test_reports
cp -r docs/_build/html/* public/docs/
cp -r htmlcov/* public/coverage/
cp report.html public/test_reports/
ls -al public
ls -al public/docs
ls -al public/coverage
ls -al public/test_reports
shell: bash
- name: Upload to GitHub Pages
if: env.SKIP_DEPLOY == 'false'
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public