Skip to content

Commit 2910e36

Browse files
authored
Improve workflow handling (#118) (#120)
* Create common action for all workflows and split them into multiple files
1 parent 6b71f6e commit 2910e36

File tree

7 files changed

+242
-212
lines changed

7 files changed

+242
-212
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Install dependencies
2+
3+
4+
runs:
5+
using: composite
6+
steps:
7+
- name: Install apt dependencies and upgrade pip
8+
shell: bash -el {0}
9+
run: |
10+
apt-get update && apt-get install -y libgl1-mesa-glx libxrender1 xvfb
11+
python3 -m pip install -U pip
12+
# Install `h5py` master branch
13+
# https://github.com/hl5py/h5py/issues/2222
14+
- name: Install h5py and pip requirements
15+
shell: bash -el {0}
16+
run: |
17+
python3 -m pip install --no-binary=h5py git+https://github.com/h5py/h5py@master

.github/workflows/book_stable.yml

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Test stable build of book
2+
3+
on:
4+
workflow_dispatch:
5+
workflow_call:
6+
pull_request:
7+
branches: ["main"]
8+
9+
env:
10+
HDF5_MPI: "ON"
11+
HDF5_DIR: "/usr/local/"
12+
DISPLAY: ":99.0"
13+
DEB_PYTHON_INSTALL_LAYOUT: deb_system
14+
15+
jobs:
16+
build-book:
17+
runs-on: ubuntu-latest
18+
container: ghcr.io/fenics/dolfinx/lab:v0.6.0-r1
19+
20+
env:
21+
PYVISTA_TRAME_SERVER_PROXY_PREFIX: '/proxy/'
22+
PYVISTA_TRAME_SERVER_PROXY_ENABLED: "True"
23+
PYVISTA_OFF_SCREEN: false
24+
PYVISTA_JUPYTER_BACKEND: "panel"
25+
26+
steps:
27+
28+
- uses: actions/checkout@v3
29+
30+
- name: Install common packages
31+
uses: ./.github/actions/install-dependencies
32+
33+
- name: Install book deps
34+
run:
35+
python3 -m pip install -r docker/requirements.txt
36+
37+
- name: Build the book
38+
run:
39+
jupyter-book build . -W
40+
41+
- uses: actions/upload-artifact@v3
42+
with:
43+
name: webpage
44+
path: ./_build/html
45+
retention-days: 2
46+
if-no-files-found: error

.github/workflows/build-publish.yml

-176
This file was deleted.

.github/workflows/deploy.yml

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Publish book
2+
3+
on:
4+
push:
5+
branches:
6+
- "main"
7+
workflow_dispatch:
8+
9+
# Weekly build on Mondays at 8 am
10+
schedule:
11+
- cron: "0 8 * * 1"
12+
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
concurrency:
19+
group: "pages"
20+
cancel-in-progress: true
21+
22+
env:
23+
HDF5_MPI: "ON"
24+
HDF5_DIR: "/usr/local/"
25+
DISPLAY: ":99.0"
26+
DEB_PYTHON_INSTALL_LAYOUT: deb_system
27+
28+
jobs:
29+
run-tests:
30+
uses: ./.github/workflows/test_stable.yml
31+
32+
build-book:
33+
uses: ./.github/workflows/build_stable.yaml
34+
35+
deploy:
36+
needs: [build-book, run-tests]
37+
environment:
38+
name: github-pages
39+
url: ${{ steps.deployment.outputs.page_url }}
40+
41+
steps:
42+
- name: Checkout
43+
uses: actions/checkout@v3
44+
45+
- name: Setup Pages
46+
uses: actions/configure-pages@v2
47+
48+
- name: Download docs artifact
49+
uses: actions/download-artifact@v3
50+
with:
51+
name: webpage
52+
path: "./public"
53+
54+
- name: Upload page artifact
55+
uses: actions/upload-pages-artifact@v1
56+
with:
57+
path: "./public"
58+
59+
- name: Deploy coverage report to GH Pages
60+
id: deployment
61+
uses: actions/deploy-pages@v1

0 commit comments

Comments
 (0)