mirror of
https://github.com/nostalgic-css/NES.css.git
synced 2025-09-01 18:13:32 +02:00
build(circleci): add node build matrix
This commit is contained in:
@@ -1,20 +1,23 @@
|
|||||||
|
orbs:
|
||||||
|
node: circleci/node@2.1.0
|
||||||
version: 2.1
|
version: 2.1
|
||||||
|
|
||||||
defaults: &defaults
|
defaults: &defaults
|
||||||
docker:
|
|
||||||
- image: circleci/node
|
|
||||||
|
|
||||||
working_directory: ~/app
|
working_directory: ~/app
|
||||||
|
|
||||||
|
supported-node-versions: &supported-node-versions
|
||||||
|
node-version: ["10.20.1", "12.16.3", "13.14.0", "14.2.0"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
commitlint:
|
commitlint:
|
||||||
docker:
|
docker:
|
||||||
- image: williamlauze/circleci-commitlint:latest
|
- image: secretbase/circleci-commitlint:1.0.2
|
||||||
working_directory: ~/app
|
working_directory: ~/app
|
||||||
|
environment:
|
||||||
|
CIRCLE_COMPARE_URL: << pipeline.project.git_url >>/compare/<< pipeline.git.base_revision >>..<<pipeline.git.revision>>
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
@@ -25,6 +28,9 @@ jobs:
|
|||||||
checkout:
|
checkout:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
|
|
||||||
|
docker:
|
||||||
|
- image: circleci/node:lts
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
name: Restore Repository Cache
|
name: Restore Repository Cache
|
||||||
@@ -50,38 +56,73 @@ jobs:
|
|||||||
install-dependencies:
|
install-dependencies:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
node-version:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
docker:
|
||||||
|
- image: "circleci/node:<< parameters.node-version >>"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
at: .
|
at: .
|
||||||
|
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
name: Restore npm Package Cache
|
name: Restore npm Package Cache
|
||||||
keys:
|
keys:
|
||||||
- npm-{{ checksum "package-lock.json" }}
|
- "npm-<< parameters.node-version >>-{{ checksum \"package-lock.json\" }}"
|
||||||
- npm-
|
|
||||||
|
- run:
|
||||||
|
name: Move node_modules to correct location for install
|
||||||
|
command: "[ ! -d \"node_modules_<< parameters.node-version >>\" ] || mv \"node_modules_<< parameters.node-version >>\" node_modules"
|
||||||
|
|
||||||
- run:
|
- run:
|
||||||
name: Install Dependencies
|
name: Install Dependencies
|
||||||
command: npm install
|
command: npm install
|
||||||
|
|
||||||
|
- run:
|
||||||
|
name: Move node_modules to correct location for cache
|
||||||
|
command: mv node_modules "node_modules_<< parameters.node-version >>"
|
||||||
|
|
||||||
- save_cache:
|
- save_cache:
|
||||||
name: Save npm Package Cache
|
name: Save npm Package Cache
|
||||||
key: npm-{{ checksum "package-lock.json" }}
|
key: "npm-<< parameters.node-version >>-{{ checksum \"package-lock.json\" }}"
|
||||||
paths:
|
paths:
|
||||||
- node_modules
|
- "node_modules_<< parameters.node-version >>"
|
||||||
|
|
||||||
- persist_to_workspace:
|
- persist_to_workspace:
|
||||||
root: .
|
root: .
|
||||||
paths:
|
paths:
|
||||||
- node_modules
|
- "node_modules_<< parameters.node-version >>"
|
||||||
|
|
||||||
build:
|
build:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
|
|
||||||
|
docker:
|
||||||
|
- image: "circleci/node:lts"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
|
||||||
|
build-in-all-supported-versions-of-node:
|
||||||
|
<<: *defaults
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
node-version:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
docker:
|
||||||
|
- image: "circleci/node:<< parameters.node-version >>"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
at: .
|
at: .
|
||||||
|
|
||||||
|
- run:
|
||||||
|
name: Move node_modules to correct location for build
|
||||||
|
command: "[ ! -d \"node_modules_<< parameters.node-version >>\" ] || mv \"node_modules_<< parameters.node-version >>\" node_modules"
|
||||||
|
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
name: Restore Build Cache
|
name: Restore Build Cache
|
||||||
keys:
|
keys:
|
||||||
@@ -108,13 +149,18 @@ jobs:
|
|||||||
lint:
|
lint:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
|
|
||||||
|
docker:
|
||||||
|
- image: "circleci/node:lts"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
at: .
|
at: .
|
||||||
|
|
||||||
|
- run:
|
||||||
|
command: npm i -D stylelint-config-prettier stylelint-config-recess-order stylelint-config-standard stylelint-prettier stylelint-scss
|
||||||
- run:
|
- run:
|
||||||
name: Lint styles
|
name: Lint styles
|
||||||
command: npx stylelint -- --fix
|
command: npx stylelint scss/**/*.scss "--fix"
|
||||||
|
|
||||||
# test:
|
# test:
|
||||||
# <<: *defaults
|
# <<: *defaults
|
||||||
@@ -149,6 +195,9 @@ jobs:
|
|||||||
release:
|
release:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
|
|
||||||
|
docker:
|
||||||
|
- image: circleci/node:lts
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
at: .
|
at: .
|
||||||
@@ -160,10 +209,6 @@ jobs:
|
|||||||
name: Release
|
name: Release
|
||||||
command: npx semantic-release
|
command: npx semantic-release
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
version: 2
|
||||||
|
|
||||||
@@ -177,6 +222,9 @@ workflows:
|
|||||||
- install-dependencies:
|
- install-dependencies:
|
||||||
requires:
|
requires:
|
||||||
- checkout
|
- checkout
|
||||||
|
matrix:
|
||||||
|
parameters:
|
||||||
|
<<: *supported-node-versions
|
||||||
# - test:
|
# - test:
|
||||||
# requires:
|
# requires:
|
||||||
# - install-dependencies
|
# - install-dependencies
|
||||||
@@ -185,14 +233,19 @@ workflows:
|
|||||||
# - install-dependencies
|
# - install-dependencies
|
||||||
- lint:
|
- lint:
|
||||||
requires:
|
requires:
|
||||||
- install-dependencies
|
- checkout
|
||||||
- build:
|
- build
|
||||||
|
- build-in-all-supported-versions-of-node:
|
||||||
requires:
|
requires:
|
||||||
- install-dependencies
|
- install-dependencies
|
||||||
|
matrix:
|
||||||
|
parameters:
|
||||||
|
<<: *supported-node-versions
|
||||||
|
|
||||||
- release:
|
- release:
|
||||||
requires:
|
requires:
|
||||||
- commitlint
|
- commitlint
|
||||||
- build
|
- build-in-all-supported-versions-of-node
|
||||||
- lint
|
- lint
|
||||||
# - test
|
# - test
|
||||||
filters:
|
filters:
|
||||||
|
Reference in New Issue
Block a user