chore: use redis container for testing #807
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will do a clean install of node dependencies, and run the linter | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: Node.js CI | |
on: | |
# Any additional branches here will currently be treated as release (or maintenance) branches. | |
# if the need to run jobs on other branches emerges, then the release job will need a better | |
# condition expression. | |
push: | |
branches: [master, 2.x] | |
pull_request: | |
branches: [master, 2.x] | |
jobs: | |
lint: | |
# https://git.luolix.topmunity/t/github-actions-does-not-respect-skip-ci/17325/9 | |
if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [10.x, 12.x, 14.x] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
# For commitlint; ideally this would only check out the feature branch's history, but | |
# that's not currently an option. | |
fetch-depth: ${{ github.event_name == 'push' }} | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: npm ci | |
- run: npm run ci --if-present | |
- run: npm run ci:commitlint | |
if: "github.event_name != 'push' && github.actor != 'dependabot[bot]'" | |
env: | |
GITHUB_BASE_REF: ${{ github.event.pull_request.base.ref }} | |
release: | |
# https://git.luolix.topmunity/t/github-actions-does-not-respect-skip-ci/17325/9 | |
if: "github.event_name == 'push' && !contains(github.event.head_commit.message, '[skip ci]')" | |
runs-on: ubuntu-latest | |
needs: [lint] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
# Necessary to prevent the checkout action from writing credentials to .git/config, which | |
# semantic-release attempts to use to push despite those credentials being denied the | |
# push. | |
# See https://github.com/semantic-release/git/issues/196#issuecomment-601310576. | |
persist-credentials: false | |
- name: Use Node.js 14.x | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 14.x | |
- run: npm ci | |
- name: Release | |
run: npx semantic-release -b master,2.x | |
env: | |
# Need to use a separate token so we can push to the protected default branch. | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |