+++ /dev/null
-# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
-# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
-
-name: Node.js Package
-
-on:
- release:
- types: [published]
-
-jobs:
- setup:
- runs-on: ubuntu-latest
- outputs:
- version: ${{ steps.trim.outputs.version }}
- steps:
- - id: trim
- run: echo "::set-output name=version::${TAG:1}"
- env:
- TAG: ${{ github.event.release.tag_name }}
-
- test:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Use Node.js
- uses: actions/setup-node@v1
- - name: Test
- run: |
- npm ci
- xvfb-run --auto-servernum npm test
-
- publish-npm:
- needs: [test, setup]
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v1
- with:
- node-version: 12
- registry-url: https://registry.npmjs.org/
- - name: Setup and build
- run: |
- npm ci
- npm install -g json
- json -I -f package.json -e "this.version=\"$VERSION\""
- json -I -f package-lock.json -e "this.version=\"$VERSION\""
- npm run build
- ./scripts/docs-config.sh "${VERSION}"
- npm run docs
- npm run typedoc
- npm pack
- env:
- VERSION: ${{ needs.setup.outputs.version }}
- - name: Publish to NPM
- run: ./scripts/publish.sh
- env:
- NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- VERSION: ${{ needs.setup.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.setup.outputs.version }}
- - name: Upload NPM package file
- id: upload-npm-package-file
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- VERSION: ${{ needs.setup.outputs.version }}
- with:
- upload_url: ${{ github.event.release.upload_url }}
- asset_path: ${{ format('chart.js-{0}.tgz', needs.setup.outputs.version) }}
- asset_name: ${{ format('chart.js-{0}.tgz', needs.setup.outputs.version) }}
- asset_content_type: application/gzip
+++ /dev/null
-name: Release Drafter
-
-on:
- push:
- branches:
- - master
-
-jobs:
- correct_repository:
- runs-on: ubuntu-latest
- steps:
- - name: fail on fork
- if: github.repository_owner != 'chartjs'
- run: exit 1
-
- update_release_draft:
- needs: correct_repository
- runs-on: ubuntu-latest
- steps:
- - uses: release-drafter/release-drafter@v5
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
--- /dev/null
+# 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, draft]
+ 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
{
"name": "chart.js",
- "version": "3.0.0-master",
+ "version": "3.0.0-beta.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"name": "chart.js",
"homepage": "https://www.chartjs.org",
"description": "Simple HTML5 charts using the canvas element.",
- "version": "3.0.0-master",
+ "version": "3.0.0-beta.6",
"license": "MIT",
"jsdelivr": "dist/chart.min.js",
"unpkg": "dist/chart.min.js",