Skip to main content
Module

x/value_schema/.github/workflows/verify-examples.yml

simple, easy-to-use, and declarative input validator; supports Node.js, TypeScript, and Deno
Go to Latest
File
# https://help.github.com/en/articles/workflow-syntax-for-github-actions
name: Exampleson: push
jobs: cjs: name: CommonJS runs-on: ${{ matrix.os }} strategy: matrix: os: - windows-2019 - macos-10.15 - ubuntu-16.04 - ubuntu-18.04 - ubuntu-20.04 nodejs: - "4.0.0" - "6.0.0" - "8.0.0" - "10.0.0" - "12.0.0" - "14.0.0" fail-fast: false steps: - name: Checkout source codes uses: actions/checkout@v2 - name: Install Node.js for build uses: actions/setup-node@v1 with: node-version: 12 - name: Output versions run: | node -v npm -v - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Install dependencies (only production) run: npm ci --only=production - name: Reinstall Node.js uses: actions/setup-node@v1 with: node-version: ${{ matrix.nodejs }} - name: Update npm (Node.js v4.0.0) run: npm install -g npm@3.8.0 if: matrix.nodejs == '4.0.0' - name: Update npm (Node.js v8.0.0) run: npm install -g npm@5.0.2 # npm v5.0.0 (Node.js v8.0.0) causes an error "finishInflating is not a function" if: matrix.nodejs == '8.0.0' - name: Output versions run: | node -v npm -v - name: Check syntax run: node ./dist/index.js - name: Install dependencies (example) run: npm --prefix ./examples i --only=production - name: Run example run: node ./examples/example.js - name: Run example (TypeScript/Babel compatible) run: node ./examples/example-default.js
esm: name: ES Modules runs-on: ${{ matrix.os }} strategy: matrix: os: - windows-2019 - macos-10.15 - ubuntu-16.04 - ubuntu-18.04 - ubuntu-20.04 nodejs: - "8.5.0" - "8.6.0" - "10.0.0" - "12.0.0" # loads CommonJS - "14.0.0" # loads CommonJS exclude: - os: windows-2019 # On Windows, v8.5.0 causes ERR_INVALID_PROTOCOL; https://github.com/nodejs/node/issues/15374 nodejs: "8.5.0" fail-fast: false steps: - name: Checkout source codes uses: actions/checkout@v2 - name: Install Node.js for build uses: actions/setup-node@v1 with: node-version: 12 - name: Output versions run: | node -v npm -v - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Install dependencies (only production) run: npm ci --only=production - name: Reinstall Node.js uses: actions/setup-node@v1 with: node-version: ${{ matrix.nodejs }} - name: Output versions run: | node -v npm -v - name: Check syntax (CJS) run: node --experimental-modules ./dist/index.js - name: Check syntax (ESM) run: node --experimental-modules ./dist/index.mjs - name: Install dependencies (example) run: npm --prefix ./examples i --only=production - name: Run example (CJS) run: node --experimental-modules ./examples/example.js - name: Run example (CJS; TypeScript/Babel compatible) run: node --experimental-modules ./examples/example-default.js - name: Run example (ESM) run: node --experimental-modules ./examples/example.mjs
conditional-exports: name: Conditional Exports runs-on: ${{ matrix.os }} strategy: matrix: os: - windows-2019 - macos-10.15 - ubuntu-16.04 - ubuntu-18.04 - ubuntu-20.04 nodejs: - "13.2.0" fail-fast: false steps: - name: Checkout source codes uses: actions/checkout@v2 - name: Install Node.js for build uses: actions/setup-node@v1 with: node-version: 12 - name: Output versions run: | node -v npm -v - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Install dependencies (only production) run: npm ci --only=production - name: Reinstall Node.js uses: actions/setup-node@v1 with: node-version: ${{ matrix.nodejs }} - name: Output versions run: | node -v npm -v - name: Check syntax (CJS) run: node --experimental-conditional-exports ./dist/index.js - name: Check syntax (ESM) run: node --experimental-conditional-exports ./dist/index.mjs - name: Install dependencies (example) run: npm --prefix ./examples i --only=production - name: Run example (CJS) run: node --experimental-conditional-exports ./examples/example.js - name: Run example (CJS; TypeScript/Babel compatible) run: node --experimental-conditional-exports ./examples/example-default.js - name: Run example (ESM) run: node --experimental-conditional-exports ./examples/example.mjs
deno: name: Deno runs-on: ${{ matrix.os }} strategy: matrix: os: - windows-2019 - macos-10.15 - ubuntu-16.04 - ubuntu-18.04 - ubuntu-20.04 deno: - "1.0.0" - "1.1.0" - "1.2.0" - "1.3.0" - "1.4.0" - "1.5.0" fail-fast: false steps: - name: Checkout source codes uses: actions/checkout@v2 - name: Install Deno uses: denolib/setup-deno@v1.3.0 with: deno-version: ${{ matrix.deno }} - name: Check syntax run: deno run ./mod.ts - name: Run example run: deno run ./examples/example-deno.ts