astro/.github/workflows/nodejs.yml
2021-07-19 18:23:39 -07:00

90 lines
2.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Node CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
skip_run:
continue-on-error: true
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
concurrent_skipping: 'never'
skip_after_successful_duplicate: 'true'
paths_ignore: '["README.md", "**/README.md", "docs/**"]'
do_not_skip: '["workflow_dispatch", "schedule"]'
changeset:
needs: skip_run # allow skip_run to cancel this job if its not needed
if: ${{ needs.skip_run.outputs.should_skip != 'true' }}
name: Ensure changeset
runs-on: ubuntu-latest
steps:
- name: Check out PR branch
uses: actions/checkout@v2
- name: Check out main branch
uses: actions/checkout@v2
with:
ref: main
- name: Set up Node.js 14.x
uses: actions/setup-node@v2
with:
node-version: 14.x
- name: Install dependencies
run: yarn --frozen-lockfile --ignore-engines
env:
CI: true
- run: yarn changeset status --since=main
test:
needs: skip_run # allow skip_run to cancel this job if its not needed
if: ${{ needs.skip_run.outputs.should_skip != 'true' }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
node-version: [12.x, 14.x, 16.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: yarn --frozen-lockfile --ignore-engines
env:
CI: true
- run: yarn build
env:
CI: true
- run: yarn test
env:
CI: true
# test-templates:
# if: ${{ github.head_ref }} == "changeset-release/main" # only run on version PRs (this test is too slow to run every PR)
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - uses: actions/setup-node@v2
# with:
# node-version: 14.x
# - run: yarn --frozen-lockfile --ignore-engines
# env:
# CI: true
# - run: yarn build
# env:
# CI: true
# - run: yarn test:templates
# env:
# GITHUB_SHA: $GITHUB_SHA
# CI: true