Bladeren bron

Build ESM -> CJS before running legacy Node.js tests and packaging tests

Because the source code is written in ESM syntax and we cannot use the
`esm` package to make `require()` ESM compatible, since that package
does not support legacy versions of Node.js.

Also in our usage tests in CI, we need to mimck the npm packaging
behaviour where building is involved.
pull/772/head
Phillip Johnsen 5 jaren geleden
bovenliggende
commit
7c33d16182
3 gewijzigde bestanden met toevoegingen van 64 en 1 verwijderingen
  1. +36
    -0
      .github/workflows/usage.yml
  2. +26
    -0
      .github/workflows/verify.yml
  3. +2
    -1
      package.json

+ 36
- 0
.github/workflows/usage.yml Bestand weergeven

@@ -3,15 +3,41 @@ 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)
@@ -71,12 +97,17 @@ jobs:
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
@@ -85,10 +116,15 @@ jobs:
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

+ 26
- 0
.github/workflows/verify.yml Bestand weergeven

@@ -35,6 +35,27 @@ jobs:
npm install
npm run test-unit

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

tests-on-legacy:
runs-on: ubuntu-latest

@@ -42,6 +63,7 @@ jobs:
matrix:
node-version: [0.10.x, 0.12.x, 4.x, 6.x, 8.x]

needs: build
steps:
- uses: actions/checkout@v2
with:
@@ -50,6 +72,10 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Get build-output from build step
uses: actions/download-artifact@v2
with:
name: build-output
- name: npm install and test
run: |
npm install mocha@3 chai@3


+ 2
- 1
package.json Bestand weergeven

@@ -36,7 +36,8 @@
"pre-test-browser": "node test/create-browser-suite.js",
"test-browser": "npm run pre-test-browser && zuul -- test/context-test.js test/parse-test.js test/scanner-test.js test/render-test-browser.js",
"test-browser-local": "npm run pre-test-browser && zuul --local 8080 -- test/context-test.js test/scanner-test.js test/parse-test.js test/render-test-browser.js",
"postversion": "scripts/bump-version-in-source"
"postversion": "scripts/bump-version-in-source",
"prepublishOnly": "npm run build"
},
"devDependencies": {
"chai": "^3.4.0",


Laden…
Annuleren
Opslaan