Skip to content

[DRAFT] Persistent dev build URL #1

[DRAFT] Persistent dev build URL

[DRAFT] Persistent dev build URL #1

Workflow file for this run

name: Publish Dist
on:
push:
branches: [master]
pull_request:
types:
- opened
- reopened
- synchronize
workflow_dispatch:
concurrency:
group: publish-dist-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
NODE_VERSION: '18'
jobs:
publish-dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
fetch-tags: true
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Set up build environment
run: .github/scripts/env_build.sh
- name: Preview CHANGELOG for next release (only on master)
if: github.ref == 'refs/heads/master'
run: npm run use-draftlogs && git --no-pager diff --color-words CHANGELOG.md || true
- name: Set draft version in package.json
run: |
node --eval "var fs = require('fs'); var inOut = './package.json'; var data = JSON.parse(fs.readFileSync(inOut)); var a = process.argv; data.version = a[a.length - 1].replace('v', ''); fs.writeFileSync(inOut, JSON.stringify(data, null, 2) + '\n');" $(git describe)
- name: View package.json diff between previous and next releases
run: git --no-pager diff --color-words tags/$(git describe --tags --abbrev=0) package.json || true
- name: Build dist/
run: npm run build
# Upload library uncompressed to allow for testing in REPLs
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
name: Upload uncompressed plotly.js built from PR, using Node 22
with:
retention-days: 30
archive: false
path: dist/plotly.js
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
name: Upload Node 18 archive of plotly.js build folder
with:
name: dist-node18
retention-days: 7
path: dist/
- name: View dist/README.md diff between previous and next releases
run: git --no-pager diff --color-words tags/$(git describe --tags --abbrev=0) dist/README.md || true
- name: Preview plot-schema diff (only on master)
if: github.ref == 'refs/heads/master'
run: git --no-pager diff tags/$(git describe --tags --abbrev=0) dist/plot-schema.json || true
- name: Test plot-schema.json diff
run: diff --unified --color dist/plot-schema.json test/plot-schema.json
publish-dist-node-v22:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
fetch-tags: true
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
with:
node-version: '22.14.0'
cache: 'npm'
- name: Set up build environment
run: .github/scripts/env_build.sh
- name: Preview CHANGELOG for next release (only on master)
if: github.ref == 'refs/heads/master'
run: npm run use-draftlogs && git --no-pager diff --color-words CHANGELOG.md || true
- name: Set draft version in package.json
run: |
node --eval "var fs = require('fs'); var inOut = './package.json'; var data = JSON.parse(fs.readFileSync(inOut)); var a = process.argv; data.version = a[a.length - 1].replace('v', ''); fs.writeFileSync(inOut, JSON.stringify(data, null, 2) + '\n');" $(git describe)
- name: View package.json diff between previous and next releases
run: git --no-pager diff --color-words tags/$(git describe --tags --abbrev=0) package.json || true
- name: Build dist/
run: npm run build
# This is necessary to avoid a naming collision with the upload from the Node 18 build
- name: Copy library for upload
run: cp dist/plotly.js dist/plotly.node22.js
# Upload library uncompressed to allow for testing in REPLs
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
name: Upload uncompressed plotly.js built from PR, using Node 22
with:
name: plotly.node22.js
retention-days: 30
archive: false
path: dist/plotly.node22.js
- name: Remove copy of library
run: rm dist/plotly.node22.js
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
name: Upload Node 22 archive of plotly.js build folder
with:
name: dist-node22
retention-days: 7
path: dist/
- name: View dist/README.md diff between previous and next releases
run: git --no-pager diff --color-words tags/$(git describe --tags --abbrev=0) dist/README.md || true
- name: Preview plot-schema diff (only on master)
if: github.ref == 'refs/heads/master'
run: git --no-pager diff tags/$(git describe --tags --abbrev=0) dist/plot-schema.json || true
- name: Test plot-schema.json diff
run: diff --unified --color dist/plot-schema.json test/plot-schema.json