Makes README.md examples more convenient (#812) #50
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: Package usage | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 14.x | |
- name: npm install and build | |
run: | | |
npm install | |
npm run build | |
- name: Store build-output for later | |
uses: actions/upload-artifact@v2 | |
with: | |
name: build-output | |
path: | | |
mustache.js | |
mustache.mjs | |
package: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 14.x | |
- name: Get build-output from build step | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-output | |
- name: Create package tarball | |
run: | | |
export ARCHIVE_FILENAME=$(npm pack | tail -n 1) | |
mv $ARCHIVE_FILENAME mustache.tgz | |
- name: Store package tarball for later | |
uses: actions/upload-artifact@v2 | |
with: | |
name: package-output | |
path: mustache.tgz | |
common-js-usage: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [10.x, 12.x, 14.x, 15.x] | |
needs: package | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Get package tarball from package step | |
uses: actions/download-artifact@v2 | |
with: | |
name: package-output | |
- name: Package, install and test | |
run: | | |
export UNPACK_DESTINATION=$(mktemp -d) | |
mv mustache.tgz $UNPACK_DESTINATION | |
cp test/module-systems/commonjs-test.js $UNPACK_DESTINATION | |
cd $UNPACK_DESTINATION | |
npm install mustache.tgz | |
node commonjs-test.js | |
esm-usage: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [14.x, 15.x] | |
needs: package | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Get package tarball from package step | |
uses: actions/download-artifact@v2 | |
with: | |
name: package-output | |
- name: Package, install and test | |
run: | | |
export UNPACK_DESTINATION=$(mktemp -d) | |
mv mustache.tgz $UNPACK_DESTINATION | |
cp test/module-systems/esm-test.mjs $UNPACK_DESTINATION | |
cp test/module-systems/esm-test-exports.mjs $UNPACK_DESTINATION | |
cd $UNPACK_DESTINATION | |
npm install mustache.tgz | |
node esm-test.mjs | |
node esm-test-exports.mjs | |
browser-usage: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 12.x | |
- name: Get build-output from build step | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-output | |
- name: Install and test | |
run: | | |
npm ci | |
npx mocha test/module-systems/browser-test.js | |
deno-usage: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: denolib/setup-deno@master | |
with: | |
deno-version: 'v1.0.0' | |
- name: Get build-output from build step | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-output | |
- run: deno --version | |
- run: deno test --allow-net=deno.land test/module-systems/deno-test.ts |