5.6.0-rc.1 #20
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Source Release | |
on: | |
release: | |
types: [prereleased] | |
jobs: | |
materials: | |
runs-on: ubuntu-latest | |
if: ${{ github.repository_owner == 'apache' }} | |
strategy: | |
matrix: | |
node-version: [18.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Prepare env | |
run: | | |
echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
- name: Prepare release materials | |
run: | | |
npm i | |
node build/source-release/prepareReleaseMaterials.js \ | |
--rcversion ${{env.RELEASE_VERSION}} \ | |
--commit ${{github.sha}} \ | |
--repo ${{github.repository}} \ | |
--out tmp/materials | |
- name: Archive materials | |
uses: actions/upload-artifact@v4 | |
with: | |
name: apache-echarts-${{env.RELEASE_VERSION}}-release-materials | |
path: | | |
tmp/materials/* | |
source: | |
runs-on: ubuntu-latest | |
needs: materials | |
strategy: | |
matrix: | |
node-version: [18.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Prepare env | |
run: | | |
echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | |
# Get RELEASE_NOTE.txt and pack it into zip. | |
- name: Download materials | |
uses: actions/download-artifact@v4 | |
with: | |
name: apache-echarts-${{env.RELEASE_VERSION}}-release-materials | |
# TODO Check release version is RC | |
# Archive before run others to avoid packing unknown files. | |
- name: Archive source release | |
uses: actions/upload-artifact@v4 | |
with: | |
name: apache-echarts-${{env.RELEASE_VERSION}}-src | |
path: | | |
index.d.ts | |
src/ | |
extension-src/ | |
ssr/client/src/ | |
licenses/ | |
theme/ | |
build/ | |
!build/source-release | |
package.json | |
package-lock.json | |
LICENSE | |
NOTICE | |
README.md | |
tsconfig.json | |
test/ut | |
test/types | |
test/check-build.html | |
RELEASE_NOTE.txt | |
validate-source: | |
runs-on: ubuntu-latest | |
needs: source | |
strategy: | |
matrix: | |
node-version: [18.x] | |
steps: | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Prepare env | |
run: | | |
echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | |
- name: Download source release | |
uses: actions/download-artifact@v4 | |
with: | |
name: apache-echarts-${{env.RELEASE_VERSION}}-src | |
path: tmp/echarts | |
- name: Build source release | |
run: | | |
npm ci | |
npm run release | |
npm run test | |
npm run test:dts | |
working-directory: tmp/echarts |