60 lines
1.9 KiB
YAML
60 lines
1.9 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: |
|
|
cp -a "./_docs" "$RUNNER_TEMP/"
|
|
|
|
- name: 🧮 Checkout gh-pages
|
|
uses: actions/checkout@v3
|
|
with:
|
|
ref: gh-pages
|
|
|
|
- name: 🔪 Prepare
|
|
env:
|
|
GITHUB_REF_NAME: ${{ github.ref_name }}
|
|
run: |
|
|
VERSION="${GITHUB_REF_NAME#v}"
|
|
[ ! -e "$VERSION" ] || rm -r $VERSION
|
|
cp -r $RUNNER_TEMP/_docs/ $VERSION
|
|
|
|
# Add the new directory to the index if it isn't there already
|
|
if ! grep -q ">Version $VERSION</a>" 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: .
|
|
|
|
npm:
|
|
name: Publish
|
|
uses: matrix-org/matrix-js-sdk/.github/workflows/release-npm.yml@develop
|
|
secrets:
|
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|