Skip to content

Commit

Permalink
Extract usage tests into separate GitHub Actions workflow
Browse files Browse the repository at this point in the history
Primarily to group similar kinds of "usage" tests together, which are
all either verifying the use of mustache.js from consuming party' point
of view.
  • Loading branch information
phillipj committed Feb 7, 2021
1 parent a11bfc8 commit 4dbc88d
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 63 deletions.
94 changes: 94 additions & 0 deletions .github/workflows/usage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Package usage

on: [push, pull_request]

jobs:
package:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 14.x
- 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

needs: package
steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- 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

needs: package
steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '>=13.2.0'
- 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
cd $UNPACK_DESTINATION
npm install mustache.tgz
node esm-test.mjs
browser-usage:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install and test
run: |
npm ci
npx mocha test/module-systems/browser-test.js
deno-usage:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- uses: denolib/setup-deno@master
with:
deno-version: 'v1.0.0'
- run: deno --version
- run: deno test --allow-net=deno.land test/module-systems/deno-test.ts
63 changes: 0 additions & 63 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,69 +43,6 @@ jobs:
npm install mocha@3 chai@3
npm run test-unit
common-js-usage:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Package, install and test
run: |
export ARCHIVE_FILENAME=$(npm pack | tail -n 1)
export UNPACK_DESTINATION=$(mktemp -d)
mv $ARCHIVE_FILENAME $UNPACK_DESTINATION
cp test/module-systems/commonjs-test.js $UNPACK_DESTINATION
cd $UNPACK_DESTINATION
npm install $ARCHIVE_FILENAME
node commonjs-test.js
esm-usage:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '>=13.2.0'
- name: Package, install and test
run: |
export ARCHIVE_FILENAME=$(npm pack | tail -n 1)
export UNPACK_DESTINATION=$(mktemp -d)
mv $ARCHIVE_FILENAME $UNPACK_DESTINATION
cp test/module-systems/esm-test.mjs $UNPACK_DESTINATION
cd $UNPACK_DESTINATION
npm install $ARCHIVE_FILENAME
node esm-test.mjs
browser-usage:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install and test
run: |
npm ci
npx mocha test/module-systems/browser-test.js
deno-usage:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- uses: denolib/setup-deno@master
with:
deno-version: 'v1.0.0'
- run: deno --version
- run: deno test --allow-net=deno.land test/module-systems/deno-test.ts

build-output-sync:
runs-on: ubuntu-latest

Expand Down

0 comments on commit 4dbc88d

Please sign in to comment.