mirror of
https://github.com/niklasvh/html2canvas.git
synced 2023-08-10 21:13:10 +03:00
ci: build docs (#2305)
This commit is contained in:
parent
6c86f5f653
commit
51de34787a
@ -11,7 +11,7 @@ insert_final_newline = true
|
|||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 4
|
indent_size = 4
|
||||||
|
|
||||||
[{azure-pipelines.yml,package.json, ci/*.yml}]
|
[{*.yml,package.json}]
|
||||||
# The indent size used in the `package.json` file cannot be changed
|
# The indent size used in the `package.json` file cannot be changed
|
||||||
# https://github.com/npm/npm/pull/3180#issuecomment-16336516
|
# https://github.com/npm/npm/pull/3180#issuecomment-16336516
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
229
.github/workflows/ci.yml
vendored
229
.github/workflows/ci.yml
vendored
@ -7,81 +7,81 @@ on:
|
|||||||
- 'test*'
|
- 'test*'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: Build
|
name: Build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: 12
|
node-version: 12
|
||||||
- name: Cache node modules
|
- name: Cache node modules
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
env:
|
env:
|
||||||
cache-name: cache-node-modules
|
cache-name: cache-node-modules
|
||||||
with:
|
with:
|
||||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||||
path: ~/.npm
|
path: ~/.npm
|
||||||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-build-${{ env.cache-name }}-
|
${{ runner.os }}-build-${{ env.cache-name }}-
|
||||||
${{ runner.os }}-build-
|
${{ runner.os }}-build-
|
||||||
${{ runner.os }}-
|
${{ runner.os }}-
|
||||||
- name: Npm install
|
- name: Npm install
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Build
|
- name: Build
|
||||||
run: npm run build
|
run: npm run build
|
||||||
- name: Pack
|
- name: Pack
|
||||||
run: |
|
run: |
|
||||||
npm pack
|
npm pack
|
||||||
mv html2canvas-*.tgz html2canvas.tgz
|
mv html2canvas-*.tgz html2canvas.tgz
|
||||||
tar --list --verbose --file=html2canvas.tgz
|
tar --list --verbose --file=html2canvas.tgz
|
||||||
- name: Upload npm pack
|
- name: Upload npm pack
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: npm
|
name: npm
|
||||||
path: html2canvas.tgz
|
path: html2canvas.tgz
|
||||||
- name: Upload dist
|
- name: Upload dist
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: dist
|
name: dist
|
||||||
path: dist
|
path: dist
|
||||||
- name: Upload build
|
- name: Upload build
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: build
|
name: build
|
||||||
path: build
|
path: build
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: Test
|
name: Test
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: 12
|
node-version: 12
|
||||||
- name: Cache node modules
|
- name: Cache node modules
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
env:
|
env:
|
||||||
cache-name: cache-node-modules
|
cache-name: cache-node-modules
|
||||||
with:
|
with:
|
||||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||||
path: ~/.npm
|
path: ~/.npm
|
||||||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-build-${{ env.cache-name }}-
|
${{ runner.os }}-build-${{ env.cache-name }}-
|
||||||
${{ runner.os }}-build-
|
${{ runner.os }}-build-
|
||||||
${{ runner.os }}-
|
${{ runner.os }}-
|
||||||
- name: Npm install
|
- name: Npm install
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Build
|
- name: Build
|
||||||
run: npm run build
|
run: npm run build
|
||||||
- name: Lint
|
- name: Lint
|
||||||
run: npm run lint
|
run: npm run lint
|
||||||
- name: Unit tests
|
- name: Unit tests
|
||||||
run: npm run unittest
|
run: npm run unittest
|
||||||
browser-test:
|
browser-test:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@ -91,22 +91,22 @@ jobs:
|
|||||||
name: Linux Firefox Stable
|
name: Linux Firefox Stable
|
||||||
targetBrowser: Firefox_Stable
|
targetBrowser: Firefox_Stable
|
||||||
xvfb: true
|
xvfb: true
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
name: Linux Chrome Stable
|
name: Linux Chrome Stable
|
||||||
targetBrowser: Chrome_Stable
|
targetBrowser: Chrome_Stable
|
||||||
xvfb: true
|
xvfb: true
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
name: OSX Safari Stable
|
name: OSX Safari Stable
|
||||||
targetBrowser: Safari_Stable
|
targetBrowser: Safari_Stable
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
name: iOS Simulator Safari 12
|
name: iOS Simulator Safari 12
|
||||||
targetBrowser: Safari_IOS_12
|
targetBrowser: Safari_IOS_12
|
||||||
xcode: /Applications/Xcode_10.3.app
|
xcode: /Applications/Xcode_10.3.app
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
name: iOS Simulator Safari 13
|
name: iOS Simulator Safari 13
|
||||||
targetBrowser: Safari_IOS_13
|
targetBrowser: Safari_IOS_13
|
||||||
xcode: /Applications/Xcode_11.6_beta.app
|
xcode: /Applications/Xcode_11.6_beta.app
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
name: iOS Simulator Safari 14
|
name: iOS Simulator Safari 14
|
||||||
targetBrowser: Safari_IOS_14
|
targetBrowser: Safari_IOS_14
|
||||||
xcode: /Applications/Xcode_12_beta.app
|
xcode: /Applications/Xcode_12_beta.app
|
||||||
@ -115,7 +115,7 @@ jobs:
|
|||||||
targetBrowser: IE_9
|
targetBrowser: IE_9
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
name: Windows Internet Explorer 10 (Emulated)
|
name: Windows Internet Explorer 10 (Emulated)
|
||||||
targetBrowser: IE_10
|
targetBrowser: IE_10
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
name: Windows Internet Explorer 11
|
name: Windows Internet Explorer 11
|
||||||
targetBrowser: IE_11
|
targetBrowser: IE_11
|
||||||
@ -168,10 +168,11 @@ jobs:
|
|||||||
- name: Upload screenshots
|
- name: Upload screenshots
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: ReftestResults
|
name: reftest-results
|
||||||
path: tmp/reftests
|
path: tmp/reftests
|
||||||
publish:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
name: Publish
|
||||||
if: startsWith(github.ref, 'refs/tags/test')
|
if: startsWith(github.ref, 'refs/tags/test')
|
||||||
needs: browser-test
|
needs: browser-test
|
||||||
steps:
|
steps:
|
||||||
@ -199,7 +200,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: ./dist/html2canvas.js
|
asset_path: ./dist/html2canvas.js
|
||||||
asset_name: html2canvas.js
|
asset_name: html2canvas.js
|
||||||
asset_content_type: text/javascript
|
asset_content_type: text/javascript
|
||||||
@ -208,7 +209,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: ./dist/html2canvas.min.js
|
asset_path: ./dist/html2canvas.min.js
|
||||||
asset_name: html2canvas.min.js
|
asset_name: html2canvas.min.js
|
||||||
asset_content_type: text/javascript
|
asset_content_type: text/javascript
|
||||||
@ -217,7 +218,79 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: ./dist/html2canvas.esm.js
|
asset_path: ./dist/html2canvas.esm.js
|
||||||
asset_name: html2canvas.esm.js
|
asset_name: html2canvas.esm.js
|
||||||
asset_content_type: text/javascript
|
asset_content_type: text/javascript
|
||||||
|
docs:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Build docs
|
||||||
|
needs: browser-test
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 12
|
||||||
|
- name: Cache node modules
|
||||||
|
uses: actions/cache@v2
|
||||||
|
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') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-build-${{ env.cache-name }}-
|
||||||
|
${{ runner.os }}-build-
|
||||||
|
${{ runner.os }}-
|
||||||
|
- name: Npm install
|
||||||
|
run: npm ci
|
||||||
|
- name: Download library
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: dist
|
||||||
|
path: www/static/dist
|
||||||
|
- name: Download test results
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: reftest-results
|
||||||
|
path: www/static/results
|
||||||
|
- name: Copy reftests to docs website
|
||||||
|
run: cp -R tests/reftests www/static/tests/reftests && cp -R tests/assets www/static/tests/assets && cp tests/test.js www/static/tests/test.js
|
||||||
|
- name: Create reftest result index
|
||||||
|
run: npm run build:reftest-result-list www/static/results/metadata www/src/results.json
|
||||||
|
- name: Create reftest previewer
|
||||||
|
run: npm run build:reftest-preview
|
||||||
|
- name: Clean metadata folder
|
||||||
|
run: rm -rf www/static/results/metadata
|
||||||
|
- name: Build docs
|
||||||
|
run: npm run build && cd www && npm install && npm run build && cd ..
|
||||||
|
- name: Upload docs
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: docs
|
||||||
|
path: www/public
|
||||||
|
- name: Echo
|
||||||
|
run: echo ${{ github.ref }}
|
||||||
|
publish-docs:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Publish Docs
|
||||||
|
if: ${{ github.ref == 'master' }}
|
||||||
|
needs: docs
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- name: Download docs
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: docs
|
||||||
|
path: docs
|
||||||
|
- name: Publish docs
|
||||||
|
uses: JamesIves/github-pages-deploy-action@3.5.9
|
||||||
|
with:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
BRANCH: gh-pages-test
|
||||||
|
FOLDER: docs
|
||||||
|
SINGLE_COMMIT: true
|
||||||
|
CLEAN: true
|
||||||
|
Loading…
Reference in New Issue
Block a user