mirror of
https://github.com/chartjs/Chart.js.git
synced 2024-10-06 12:19:08 +02:00
90 lines
2.8 KiB
YAML
90 lines
2.8 KiB
YAML
# This manually triggered job sets the version of package, drafts release notes, publishes package to NPM, deploys docs and attaches the builds assets to the release tag.
|
|
# The required input 'version' can be anything `npm version` supports:
|
|
# > npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
|
|
|
|
name: Release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: 'version'
|
|
default: 'patch'
|
|
required: true
|
|
|
|
jobs:
|
|
version:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
version: ${{ steps.version.outputs.version }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 12
|
|
- name: Bump version
|
|
id: version
|
|
run: |
|
|
git config --global user.email "$GITHUB_AUTH_EMAIL"
|
|
git config --global user.name "Chart.js"
|
|
ouput=$(npm version ${version})
|
|
echo "::set-output name=version::$output"
|
|
git push
|
|
git push --tags
|
|
env:
|
|
version: ${{ github.event.inputs.version }}
|
|
|
|
notes:
|
|
needs: version
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
upload_url: ${{ steps.draft.outputs.upload_url }}
|
|
steps:
|
|
- name: Draft release notes
|
|
id: draft
|
|
uses: release-drafter/release-drafter@v5
|
|
with:
|
|
version: ${{ needs.version.outputs.version }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
publish:
|
|
needs: [version, notes]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 12
|
|
- name: Setup and build
|
|
run: |
|
|
npm ci
|
|
npm run build
|
|
./scripts/docs-config.sh "${VERSION}"
|
|
npm run docs
|
|
npm run typedoc
|
|
npm pack
|
|
env:
|
|
VERSION: ${{ needs.version.outputs.version }}
|
|
- name: Publish to NPM
|
|
run: ./scripts/publish.sh
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
|
|
VERSION: ${{ needs.version.outputs.version }}
|
|
- name: Deploy Docs
|
|
run: ./scripts/deploy-docs.sh "$VERSION"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GH_AUTH_TOKEN }}
|
|
GH_AUTH_EMAIL: ${{ secrets.GH_AUTH_EMAIL }}
|
|
VERSION: ${{ needs.version.outputs.version }}
|
|
- name: Upload NPM package file
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
VERSION: ${{ needs.version.outputs.version }}
|
|
with:
|
|
upload_url: ${{ needs.notes.outputs.upload_url }}
|
|
asset_path: ${{ format('chart.js-{0}.tgz', needs.version.outputs.version) }}
|
|
asset_name: ${{ format('chart.js-{0}.tgz', needs.version.outputs.version) }}
|
|
asset_content_type: application/gzip
|