Skip to content

Publish

Publish #604

Workflow file for this run

name: Publish
on:
schedule:
- cron: '0 10 * * *'
workflow_dispatch:
permissions:
contents: write
id-token: write
pages: write
concurrency:
group: pages
cancel-in-progress: true
jobs:
publish-to-npm:
if: github.repository == 'lichess-org/api'
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./types
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
registry-url: 'https://registry.npmjs.org'
- run: |
npm install --global pnpm
pnpm install
- run: pnpm gen
- run: pnpm format
- name: Check for changes
id: check_changes
run: |
git status --porcelain
echo "changed_files=$(git status --porcelain)" >> "$GITHUB_OUTPUT"
- name: Publish to npm
if: steps.check_changes.outputs.changed_files != ''
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
git add .
npm version patch --no-git-tag-version
sed -i 's/version: .*/version: '"$(node -p "require('./package.json').version")"'/' ../doc/specs/lichess-api.yaml
npm publish --provenance
- uses: stefanzweifel/git-auto-commit-action@v5
if: steps.check_changes.outputs.changed_files != ''
with:
commit_message: 'Update API version'
commit_author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
publish-to-github-pages:
if: github.repository == 'lichess-org/api'
needs: publish-to-npm
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
defaults:
run:
working-directory: doc
steps:
- uses: actions/checkout@v4
with:
ref: master
- uses: pnpm/action-setup@v4
with:
package_json_file: doc/package.json
run_install: true
- run: pnpm build --base=/api
- uses: actions/configure-pages@v3
- uses: actions/upload-pages-artifact@v3
with:
path: doc/dist
- uses: actions/deploy-pages@v4
id: deployment