From 68edcccb5e879371133aae55150280e701107f6a Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Fri, 4 Dec 2020 21:37:46 +0200 Subject: [PATCH] Revert "New release workflow (#8127)" and fixes (#8131) * Revert "New release workflow (#8127)" and fixes * Bump version to 3.0.0-beta.7 --- .github/workflows/npmpublish.yml | 75 ++++++++++++++++++++++ .github/workflows/release-drafter.yml | 22 +++++++ .github/workflows/release.yml | 92 --------------------------- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 99 insertions(+), 94 deletions(-) create mode 100644 .github/workflows/npmpublish.yml create mode 100644 .github/workflows/release-drafter.yml delete mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml new file mode 100644 index 00000000000..40506f7a9c6 --- /dev/null +++ b/.github/workflows/npmpublish.yml @@ -0,0 +1,75 @@ +# 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 diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 00000000000..064af110378 --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,22 @@ +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 }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index aa1e6ae3914..00000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,92 +0,0 @@ -# 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 [ | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=] | 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" - env: - version: ${{ github.event.inputs.version }} - - name: Push - uses: ad-m/github-push-action@v0.6.0 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - tags: true - - 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 diff --git a/package-lock.json b/package-lock.json index 1fbf03b48b2..c0894266eee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "chart.js", - "version": "3.0.0-beta.6", + "version": "3.0.0-beta.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e3fabbb4580..5a9ba86bfdd 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "3.0.0-beta.6", + "version": "3.0.0-beta.7", "license": "MIT", "jsdelivr": "dist/chart.min.js", "unpkg": "dist/chart.min.js",