add more infos to check status #162
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | | |
mamba info | |
source $HOME/miniconda/bin/activate | |
mamba info | |
mamba install -n base conda=23.9 mamba=2.0.2 | |
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 |