Skip to content

Commit

Permalink
Merge pull request #3 from apache/master
Browse files Browse the repository at this point in the history
echarts MR
  • Loading branch information
galvanizze authored Oct 18, 2023
2 parents 95f2639 + 677adea commit b73b971
Show file tree
Hide file tree
Showing 106 changed files with 25,130 additions and 19,354 deletions.
48 changes: 43 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,21 @@ name: Node CI

on:
pull_request:
types: [opened, synchronize]
types: [opened, reopened, synchronize]

concurrency:
# Note that the `teardown-pr-preview` workflow needs the same group name
# to cancel the running `ci` workflows
group: ${{ github.workflow }}-${{ github.event.number }}
cancel-in-progress: true

jobs:
lint:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [16.x]
node-version: [18.x]

steps:
- name: Fetch commit count
Expand Down Expand Up @@ -58,7 +64,7 @@ jobs:

strategy:
matrix:
node-version: [16.x]
node-version: [18.x]

steps:
- uses: actions/checkout@v3
Expand All @@ -81,11 +87,43 @@ jobs:
if: steps.cache-dep.outputs.cache-hit != 'true'
run: npm ci

- name: Unit Test
run: npm run test

- name: Build release
run: npm run release

- name: Test generated DTS
run: npm run test:dts

- name: Unit Test
run: npm run test
- name: Pack npm tarball
if: ${{ github.repository_owner == 'apache' }}
id: pack-tarball
run: |
export PR_PREVIEW_DIR='echarts-pr-preview'
mkdir -p $PR_PREVIEW_DIR
npm pack -pack-destination $PR_PREVIEW_DIR
echo "PR_PREVIEW_DIR=$PR_PREVIEW_DIR" >> $GITHUB_ENV
- name: Save PR metadata and dist files
if: ${{ steps.pack-tarball.outcome == 'success' }}
id: save-pr-data
env:
PR_NUMBER: ${{ github.event.number }}
PR_COMMIT_SHA: ${{ github.event.pull_request.head.sha }}
PR_PREVIEW_DIR: ${{ env.PR_PREVIEW_DIR }}
run: |
cd $PR_PREVIEW_DIR
echo $PR_NUMBER > ./pr_number
echo $PR_COMMIT_SHA > ./pr_commit_sha
find . -type f -regex ".*\.tgz" -exec tar xvzf {} \;
rm -f *.tgz
echo -e "Dist files: \n$(ls -l)"
- uses: actions/upload-artifact@v3
if: ${{ steps.save-pr-data.outcome == 'success' }}
with:
name: pr_preview
path: ${{ env.PR_PREVIEW_DIR }}
retention-days: 1
if-no-files-found: error
4 changes: 3 additions & 1 deletion .github/workflows/nightly-next.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:

strategy:
matrix:
node-version: [16.x]
node-version: [18.x]

steps:
- uses: actions/checkout@v3
Expand All @@ -26,6 +26,8 @@ jobs:
uses: actions/setup-node@v3
with:
registry-url: https://registry.npmjs.org/
node-version: ${{ matrix.node-version }}

- name: Setup and publish nightly
run: |
node build/nightly/prepare.js --next
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,17 @@ jobs:

strategy:
matrix:
node-version: [16.x]
node-version: [18.x]

steps:
- uses: actions/checkout@v3

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
registry-url: https://registry.npmjs.org/
node-version: ${{ matrix.node-version }}

- name: Setup and publish nightly
run: |
node build/nightly/prepare.js
Expand Down
76 changes: 76 additions & 0 deletions .github/workflows/pr-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Deploy PR Preview

on:
workflow_run:
workflows: ['Node CI']
types: [completed]

jobs:
on-success:
if: ${{ github.repository_owner == 'apache' }}
runs-on: ubuntu-latest

steps:
- name: Determine if workflow build job is successful
id: check-build-success
uses: actions/github-script@v6
with:
result-encoding: string
script: |
const jobsRes = await github.rest.actions.listJobsForWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id
});
return jobsRes.data.jobs.some((job) => job.name.includes('build') && job.conclusion === 'success');
outputs:
SHOULD_DEPOLY: ${{ steps.check-build-success.outputs.result }}

deploy:
needs: [on-success]
if: ${{ needs.on-success.outputs.SHOULD_DEPOLY == 'true' }}
runs-on: ubuntu-latest

steps:
- name: Install action dependencies
run: |
mkdir .actions
cd .actions
git clone --depth=1 https://github.com/dawidd6/action-download-artifact.git
git clone --depth=1 https://github.com/actions-cool/maintain-one-comment.git
- name: Fetch PR dist files
uses: ./.actions/action-download-artifact
with:
workflow: ${{ github.event.workflow.id }}
run_id: ${{ github.event.workflow_run.id }}
name: pr_preview
if_no_artifact_found: fail

- name: Output PR metadata
id: pr-metadata
run: |
echo "NUMBER=$(cat pr_number)" >> $GITHUB_OUTPUT
echo "COMMIT_SHA=$(cat pr_commit_sha)" >> $GITHUB_OUTPUT
echo "COMMIT_SHA_SHORT=$(cat pr_commit_sha | cut -c 1-7)" >> $GITHUB_OUTPUT
- name: Deploy dist files
env:
PR_NUMBER: ${{ steps.pr-metadata.outputs.NUMBER }}
SURGE_TOKEN: ${{ secrets.SURGE_TOKEN }}
run: |
export SURGE_DOMAIN=https://echarts-pr-$PR_NUMBER.surge.sh
npx surge --project ./package --domain $SURGE_DOMAIN --token $SURGE_TOKEN
- name: Create comment for PR preview
uses: ./.actions/maintain-one-comment
env:
PR_NUMBER: ${{ steps.pr-metadata.outputs.NUMBER }}
COMMIT_SHA_SHORT: ${{ steps.pr-metadata.outputs.COMMIT_SHA_SHORT }}
with:
body: |
<!-- ECHARTS_PR_PREVIEW -->
The changes brought by this PR can be previewed at: https://echarts.apache.org/examples/editor?version=PR-${{ env.PR_NUMBER }}@${{ env.COMMIT_SHA_SHORT }}
body-include: '<!-- ECHARTS_PR_PREVIEW -->'
number: ${{ env.PR_NUMBER }}
6 changes: 3 additions & 3 deletions .github/workflows/source-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:

strategy:
matrix:
node-version: [16.x]
node-version: [18.x]

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:

strategy:
matrix:
node-version: [16.x]
node-version: [18.x]

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -109,7 +109,7 @@ jobs:

strategy:
matrix:
node-version: [16.x]
node-version: [18.x]

steps:
- name: Use Node.js ${{ matrix.node-version }}
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/teardown-pr-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Teardown PR Preview

on:
pull_request_target:
types: [closed]

jobs:
teardown-pr-preview:
if: ${{ github.repository_owner == 'apache' && github.event.action == 'closed' && github.event.pull_request.merged != true }}
concurrency:
# to cancel running `ci` workflows in current PR
group: 'Node CI-${{ github.event.number }}'
cancel-in-progress: true
runs-on: ubuntu-latest
steps:
- name: Install action dependencies
run: git clone --depth=1 https://github.com/actions-cool/maintain-one-comment.git

- name: Delete PR preview comment
uses: ./maintain-one-comment
with:
body-include: '<!-- ECHARTS_PR_PREVIEW -->'
delete: true
number: ${{ github.event.number }}

- name: Teardown closed PR preview
continue-on-error: true
run: |
export SURGE_DOMAIN='https://echarts-pr-${{ github.event.number }}.surge.sh'
npx surge teardown $SURGE_DOMAIN --token ${{ secrets.SURGE_TOKEN }}
5 changes: 5 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run lint
npm run checktype
5 changes: 0 additions & 5 deletions .huskyrc

This file was deleted.

Loading

0 comments on commit b73b971

Please sign in to comment.