Skip to content

Deploy pages

Deploy pages #73

Workflow file for this run

name: CI
on: [push, pull_request]
env:
SKIP: 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
conda info
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
run: |
conda init bash
source ~/.bashrc
mamba env remove --name ci_temp_env --yes || echo "Environment ci_temp_env does not exist"
# remove ci_temp_env directory
env_path=$(mamba info --envs | grep ci_temp_env | awk '{print $2}')
rm -rf $env_path
conda 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
run: |
conda init bash
source ~/.bashrc
source activate ci_env
make docs
shell: bash
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: htmlcov/
- name: Upload report.html
uses: actions/upload-artifact@v4
with:
name: test-report
path: report.html
- name: Upload docs
uses: actions/upload-artifact@v4
with:
name: docs
path: docs/_build/html/
- name: Upload cobertura coverage report
uses: actions/upload-artifact@v4
with:
name: cobertura-coverage
path: coverage.xml
- name: Upload junit report
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
run: |
conda init bash
source ~/.bashrc
conda info
source activate ci_env
make lint
shell: bash
- name: Upload flake8 log
uses: actions/upload-artifact@v4
with:
name: flake8-log
path: tests/linting/flake8.log
- name: Upload pycodestyle log
uses: actions/upload-artifact@v4
with:
name: pycodestyle-log
path: tests/linting/pycodestyle.log
- name: Upload pydocstyle log
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
run: |
conda init bash
source ~/.bashrc
conda info
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: false
run: |
source $HOME/miniconda/bin/activate
mamba update -n base mamba conda
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 .
pip check
cd ..
python -c "import sarvey; print(sarvey)"
shell: bash
deploy_pages:
runs-on: self-hosted
needs: test_sarvey
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
- name: Deploy to GitHub Pages
if: env.SKIP == 'false'
run: |
rm -rf public
mkdir -p public/doc
mkdir -p public/images/
mkdir -p public/coverage
mkdir -p public/test_reports
# ls
ls docs/
ls docs/_build
Copy command with checks if directories exist
if [ -d docs/_build/html ]; then
cp -r docs/_build/html/* public/doc/
else
echo "docs/_build/html does not exist"
exit 1
fi
cp -r docs/_build/html/* public/doc/
cp -r htmlcov/* public/coverage/
cp report.html public/test_reports/
ls -al public
ls -al public/doc
ls -al public/coverage
ls -al public/test_reports
shell: bash
- name: Upload to GitHub Pages
if: env.SKIP == 'false'
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public