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: Deploy documentation with GitHub Pages dependencies preinstalled | |
on: | |
push: | |
branches: ["develop", "master"] | |
workflow_dispatch: # enable manual workflow execution | |
# Set permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. | |
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
jobs: | |
build: | |
# prevent this action from running on forks | |
if: github.repository == 'abinit/abipy' | |
defaults: | |
run: | |
shell: bash -l {0} # enables conda/mamba env activation by reading bash profile | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- os: ubuntu-latest | |
python: '3.11' | |
runs-on: ubuntu-latest | |
env: | |
PMG_MAPI_KEY: ${{ secrets.PMG_MAPI_KEY }} | |
# This is used in the flow scripts to generate the graph with graphviz. | |
READTHEDOCS: 1 | |
steps: | |
- name: Check out Abipy repo | |
uses: actions/checkout@v4 | |
- name: Setup Pages | |
uses: actions/configure-pages@v3 | |
- name: Set up Miniconda | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
- name: Installing abinit from conda-forge and abipy with python=${{ matrix.config.python }} | |
run: | | |
conda create -n abipy python=${{ matrix.config.python }} --yes | |
conda activate abipy | |
conda install abinit -c conda-forge --yes | |
mpirun -n 1 abinit --version | |
mpirun -n 1 abinit --build | |
pip install --editable . | |
mkdir -p $HOME/.abinit/abipy/ | |
cp abipy/data/managers/gh_manager.yml $HOME/.abinit/abipy/manager.yml | |
cp abipy/data/managers/gh_scheduler.yml $HOME/.abinit/abipy/scheduler.yml | |
# FIXME TEMPORARY HACK | |
#pip install git+https://github.com/gmatteo/pymatgen.git@master -U | |
- name: Build docs with Sphinx | |
run: | | |
conda activate abipy | |
cd docs | |
source install.sh | |
make | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v2 | |
with: | |
path: docs/_build/html/ # Important. Set to the website output dir | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v3 |