mirror of
https://github.com/Llewellynvdm/nativefier.git
synced 2024-12-22 10:08:55 +00:00
CI: okay GHA, no variables
This commit is contained in:
parent
6af4e774e2
commit
458c7ec178
48
.github/workflows/ci.yml
vendored
48
.github/workflows/ci.yml
vendored
@ -8,28 +8,19 @@ on:
|
||||
branches:
|
||||
- master
|
||||
|
||||
env:
|
||||
# Bumping the *minimum* required Node version? You must bump:
|
||||
# 1. package.json -> engines.node
|
||||
# 2. package.json -> devDependencies.@types/node
|
||||
# 3. tsconfig.json -> {target, lib}
|
||||
# 4. .github/workflows/ci.yml -> node-version
|
||||
#
|
||||
# Here in ci.yml, we want to always run the oldest version we require in
|
||||
# package.json -> engines.node, to be sure Nativefier runs on this minimum
|
||||
MINIMUM_NODE_VERSION: '12'
|
||||
# Bumping the *maximum* tested Node version? You must bump also: publish.yml
|
||||
MAXIMUM_NODE_VERSION: '18'
|
||||
CACHE_DEPENDENCY_PATH: npm-shrinkwrap.json app/npm-shrinkwrap.json package-lock.json app/package-lock.json
|
||||
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||
|
||||
# - Bumping the *minimum* required Node version? You must bump:
|
||||
# 1. package.json -> engines.node
|
||||
# 2. package.json -> devDependencies.@types/node
|
||||
# 3. tsconfig.json -> {target, lib}
|
||||
# 4. .github/workflows/ci.yml -> node-version
|
||||
# - Bumping the *maximum* tested Node version? You must bump also: publish.yml
|
||||
jobs:
|
||||
tests:
|
||||
strategy:
|
||||
matrix:
|
||||
node-version:
|
||||
- $MINIMUM_NODE_VERSION
|
||||
- $MAXIMUM_NODE_VERSION
|
||||
- '12' # the oldest we require in package.json -> engines.node, to check we run on this minimum
|
||||
- '18'
|
||||
platform: [ubuntu-latest, macos-latest, windows-latest]
|
||||
runs-on: ${{ matrix.platform }}
|
||||
steps:
|
||||
@ -39,31 +30,34 @@ jobs:
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
cache-dependency-path: ${{ env.CACHE_DEPENDENCY_PATH }}
|
||||
- run: npm ci --no-fund # Will also (via `prepare` hook): 1. install ./app, 2. build
|
||||
cache-dependency-path: npm-shrinkwrap.json app/npm-shrinkwrap.json package-lock.json app/package-lock.json
|
||||
- env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||
run: npm ci --no-fund # Will also (via `prepare` hook): 1. install ./app, 2. build
|
||||
- run: npm run test -- --testPathIgnorePatterns ".*playwright.*"
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ env.MAXIMUM_NODE_VERSION }}
|
||||
- name: Use Node.js 18
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ env.MAXIMUM_NODE_VERSION }}
|
||||
node-version: 18
|
||||
cache: 'npm'
|
||||
cache-dependency-path: ${{ env.CACHE_DEPENDENCY_PATH }}
|
||||
- run: npm ci --no-fund # Will also (via `prepare` hook): 1. install ./app, 2. build
|
||||
cache-dependency-path: npm-shrinkwrap.json app/npm-shrinkwrap.json package-lock.json app/package-lock.json
|
||||
- env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||
run: npm ci --no-fund # Will also (via `prepare` hook): 1. install ./app, 2. build
|
||||
- run: npm run lint
|
||||
playwright:
|
||||
runs-on: windows-latest # Doesn't work on headless ubuntu, and is slow on mac
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ env.MAXIMUM_NODE_VERSION }}
|
||||
- name: Use Node.js 18
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ env.MAXIMUM_NODE_VERSION }}
|
||||
node-version: 18
|
||||
cache: 'npm'
|
||||
cache-dependency-path: ${{ env.CACHE_DEPENDENCY_PATH }}
|
||||
- run: npm ci --no-fund # Will also (via `prepare` hook): 1. install ./app, 2. build
|
||||
cache-dependency-path: npm-shrinkwrap.json app/npm-shrinkwrap.json package-lock.json app/package-lock.json
|
||||
- env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||
run: npm ci --no-fund # Will also (via `prepare` hook): 1. install ./app, 2. build
|
||||
- run: npm run test:playwright
|
||||
timeout-minutes: 5
|
||||
|
Loading…
Reference in New Issue
Block a user