@@ -2,13 +2,13 @@ name: Update docs
22
33on :
44 push :
5+ tags :
6+ - " v7.*.*" # all v7 semver release tags
57 branches :
6- - v7
7- - master
8+ - main
89
910jobs :
1011 publish-docs :
11-
1212 runs-on : ubuntu-latest
1313
1414 steps :
@@ -23,17 +23,58 @@ jobs:
2323 uses : actions/checkout@v2
2424 with :
2525 ref : gh-pages
26- path : tsdoc
26+ path : gh-pages
27+
28+ - run : yarn
29+
30+ - name : Set tag env to devel
31+ if : startsWith( github.event.ref, 'refs/heads/' )
32+ run : |
33+ echo "::set-env name=tag::devel"
34+ echo "::set-env name=latest::1"
35+
36+ - name : Set tag env to ref tag
37+ if : startsWith( github.event.ref, 'refs/tags/v' )
38+ run : |
39+ export tag=$(echo ${{ github.event.ref }} | sed -e 's/^refs\/tags\/v//')
40+ echo "::set-env name=tag::${tag}"
41+ echo "::set-env name=latest::$(node -p "Number(require('semver').gt('${tag}','$(cat gh-pages/VERSION)'))")"
42+
43+ - name : Update versions
44+ if : env.tag != 'devel'
45+ run : |
46+ node -p 'var all=fs.readdirSync("gh-pages",{withFileTypes:true}).flatMap(f=>f.isDirectory()&&!isNaN(f.name.charAt(0))?[f.name]:[]).sort(require("semver").rcompare);JSON.stringify({all,stable:all.filter(s=>!s.includes("-"))})' > gh-pages/_data/versions.json
47+
48+ - name : Update VERSION
49+ if : env.tag != 'devel' && env.latest == 1
50+ run : |
51+ echo $tag > gh-pages/VERSION
52+
53+ - name : Update CHANGELOG
54+ if : env.latest == 1 # don't overwrite for backport versions
55+ run : |
56+ echo $'---\npermalink: /CHANGELOG\ntitle: "CHANGELOG"\n---\n' > gh-pages/CHANGELOG.md
57+ cat CHANGELOG.md >> gh-pages/CHANGELOG.md
58+
59+ - name : Remove old docs
60+ run : |
61+ rm -rf gh-pages/${tag}
62+
63+ - name : Rebuild docs for tag
64+ if : env.tag != 'devel'
65+ run : |
66+ yarn typedoc --includeVersion --out gh-pages/${tag}
2767
28- - run : ' rm -rf tsdoc/*'
29- - run : yarn typedoc --disableOutputCheck
68+ - name : Rebuild docs for devel
69+ if : env.tag == 'devel'
70+ run : |
71+ yarn typedoc --out gh-pages/${tag}
3072
3173 - name : Commit to gh-pages
3274 uses : EndBug/add-and-commit@v4
3375 with :
34- cwd : ' ./tsdoc '
76+ cwd : ./gh-pages
3577 ref : gh-pages
36- message : " Update docs via ${GIT_SHA} "
78+ message : Update ${{ env.tag }} docs via ${{ github.sha }}
3779 env :
3880 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
39- GIT_SHA : ${{ github.sha }}
0 commit comments