-
Notifications
You must be signed in to change notification settings - Fork 0
96 lines (71 loc) · 2.41 KB
/
documentation.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
name: Build and deploy
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
build-and-deploy:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
path: MAIN
- uses: actions/checkout@v4
with:
repository: fractal-analytics-platform/fractal-web
ref: tasks-list-module # FIXME: replace with main (or latest tag?)
path: WEB
sparse-checkout: |
components
tasks-list
- uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: pip
# MKDocs build
- name: Install dependencies
run: python -m pip install -r MAIN/requirements.txt
- name: MKDocs build
run: mkdocs build --config-file MAIN/mkdocs.yml --strict --site-dir ./site
- run: mv MAIN/site ./site
# Retrieve remote task-list data
- name: Install requirements
run: python3 -m pip install -r MAIN/tasks_data_retrieval/requirements.txt
- name: Fetch tasks data
run: python3 -u MAIN/tasks_data_retrieval/create_tasks_data.py
- run: cat MAIN/tasks_data_retrieval/tasks.json
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: WEB/package-lock.json
- name: Install components dependencies
run: |
cd WEB/components
npm install
- name: Install tasks-list dependencies
run: |
cd WEB/tasks-list
npm install
- name: Move tasks.json file to tasks-list/src
run: mv MAIN/tasks_data_retrieval/tasks.json WEB/tasks-list/src/
- name: Build tasks-list page
run: |
cd WEB/tasks-list
npm run build
- name: Move tasks-list built files in docs site
run: mv WEB/tasks-list/build/ site/fractal-tasks
- name: Set last-updated timestamp
run: |
CURRENT_DATE=$(date)
echo "$CURRENT_DATE"
sed -i'.bak' "s/LASTUPDATEDPLACEHOLDER/$CURRENT_DATE/" site/available_tasks/index.html
rm site/available_tasks/index.html.bak
- run: ls -lh site/*
- name: Deploy docs
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./site