semantish-prerelease
Version:
hacky wrapper around semantic release to create beta releases from PRs in circleci
66 lines (63 loc) • 1.4 kB
YAML
defaults:
docker:
- image: circleci/node:16
working_directory: /home/circleci/spr
version: 2
jobs:
install:
<<:
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package-lock.json" }}
- run:
name: Install
command: npm ci
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package-lock.json" }}
- save_cache:
paths:
- ~/spr
key: v1-repo-{{ .Revision }}
release:
<<:
steps:
- restore_cache:
keys:
- v1-repo-{{ .Revision }}
- run:
name: release
command: npx semantic-release
pre-release:
<<:
steps:
- restore_cache:
keys:
- v1-repo-{{ .Revision }}
- run:
name: pre-release
command: ./cli.js --release-pr
- save_cache:
paths:
- ~/spr/package.json
key: v1-pkg-{{ .Revision }}
workflows:
version: 2
test-and-publish:
jobs:
- install
- release:
requires:
- install
filters:
branches:
only: main
- pre-release:
requires:
- install
filters:
branches:
ignore: main