mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
New release workflow (#8127)
* New release workflow * Set current version * Use org secret
This commit is contained in:
parent
e08b17636b
commit
a98c34b858
75
.github/workflows/npmpublish.yml
vendored
75
.github/workflows/npmpublish.yml
vendored
@ -1,75 +0,0 @@
|
||||
# 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
|
||||
22
.github/workflows/release-drafter.yml
vendored
22
.github/workflows/release-drafter.yml
vendored
@ -1,22 +0,0 @@
|
||||
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 }}
|
||||
89
.github/workflows/release.yml
vendored
Normal file
89
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
# 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
|
||||
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "chart.js",
|
||||
"version": "3.0.0-master",
|
||||
"version": "3.0.0-beta.6",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"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",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user