-
Notifications
You must be signed in to change notification settings - Fork 1
111 lines (96 loc) · 3.79 KB
/
merge.yml
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# This action runs on merges of turtle files to main.
#
# Workflow steps:
# - checkout gh-pages for updating
# - create joined vocabulary file in addition to split version
# - create excel-file from turtle
# - build docs
# - publish docs, vocabulary-turtle files and excel-file to gh-pages
name: Build
on:
push:
branches:
- main
paths:
- 'vocabularies/**.ttl'
workflow_dispatch:
env:
FORCE_COLOR: "1" # Make tool output pretty.
PIP_DISABLE_PIP_VERSION_CHECK: "1"
PIP_PROGRESS_BAR: "off"
LOGLEVEL: "DEBUG"
jobs:
build:
name: Development build of vocabulary & documentation
permissions:
# Required for peaceiris/actions-gh-pages below
contents: write
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
with:
# Using fetch-depth 0 is the only way to get all tags which are needed for building docs.
fetch-depth: 0
- name: Checkout gh-pages branch to dir publish/
uses: actions/checkout@v4
with:
ref: gh-pages
path: publish
fetch-depth: 1
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -VV
python -m pip install --upgrade pip setuptools wheel
# install tagged version
python -m pip install git+https://github.com/nfdi4cat/voc4cat-tool.git@v0.8.5
# python -m pip install git+https://github.com/nfdi4cat/voc4cat-tool.git@main
# install custom pylode 2.x
python -m pip install git+https://github.com/dalito/pyLODE.git@nfdi4cat-2.x
- name: Set dynamic environment variables.
run: |
echo "VOC4CAT_MODIFIED=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
# set first 8 chars of commit hash as version for "dev"
echo "VOC4CAT_VERSION=v_${GITHUB_SHA:0:8}" >> $GITHUB_ENV
- name: Run voc4cat (publish joined & split SKOS/turtle)
run: |
voc4cat --version
mkdir -p publish/dev/
# delete files xlsx and ttl produced in previous workflow runs
find publish/dev/ -type f \( -name "*.xlsx" -o -name "*.ttl" \) -delete
cp -r vocabularies/. publish/dev/
# Build joined turtle
voc4cat transform --logfile publish/dev/voc4cat.log --join publish/dev/
- name: Run voc4cat (build HTML documentation)
run: |
voc4cat docs --force --logfile publish/dev/voc4cat.log publish/dev/
# move versions-overview to what becomes gh-pages root
mv publish/dev/index.html publish/
- name: Run voc4cat (build current Excel file)
run: |
voc4cat convert --logfile publish/dev/voc4cat.log --template templates/voc4cat_template_043.xlsx publish/dev/
- name: Deploy updated gh-pages content
# This replaces all prior content in gh-pages branch. But we have
# checked out the gh-pages branch above so that we keep all prior
# content and just re-publish the extended version.
# Pinning of action managed by dependabot
uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847
if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main'
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./publish
force_orphan: true
- name: Store publish dir (=pages) as artifact
# This step is not required and may be removed.
# It may be helpful for trouble shooting.
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: voc4cat-pages-dev-content
path: publish/
# Lit:
# https://github.com/peaceiris/actions-gh-pages