b2120a0a13
* Initial attempt at automating jsdoc * Commit tested jsdoc workflow
54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
name: Release Process
|
|
on:
|
|
release:
|
|
types: [ published ]
|
|
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
|
jobs:
|
|
jsdoc:
|
|
name: Publish Documentation
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 🧮 Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: 🔧 Yarn cache
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
cache: "yarn"
|
|
|
|
- name: 🔨 Install dependencies
|
|
run: "yarn install --pure-lockfile"
|
|
|
|
- name: 📖 Generate JSDoc
|
|
run: "yarn gendoc"
|
|
|
|
- name: 📋 Copy to temp
|
|
run: |
|
|
ls -lah
|
|
tag="${{ github.ref_name }}"
|
|
version="${tag#v}"
|
|
echo "VERSION=$version" >> $GITHUB_ENV
|
|
cp -a "./.jsdoc/matrix-js-sdk/$version" $RUNNER_TEMP
|
|
|
|
- name: 🧮 Checkout gh-pages
|
|
uses: actions/checkout@v3
|
|
with:
|
|
ref: gh-pages
|
|
|
|
- name: 🔪 Prepare
|
|
run: |
|
|
cp -a "$RUNNER_TEMP/$VERSION" .
|
|
|
|
# Add the new directory to the index if it isn't there already
|
|
if ! grep -q "Version $VERSION" index.html; then
|
|
perl -i -pe 'BEGIN {$rel=shift} $_ =~ /^<\/ul>/ && print
|
|
"<li><a href=\"${rel}/index.html\">Version ${rel}</a></li>\n"' "$VERSION" index.html
|
|
fi
|
|
|
|
- name: 🚀 Deploy
|
|
uses: peaceiris/actions-gh-pages@v3
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
keep_files: true
|
|
publish_dir: .
|