Skip to content

Commit

Permalink
add redis workflow (#60)
Browse files Browse the repository at this point in the history
* add redis workflow

* Update .github/workflows/plugins-ci-redis.yml

Co-authored-by: Frazer Smith <frazer.dev@outlook.com>

Co-authored-by: Frazer Smith <frazer.dev@outlook.com>
  • Loading branch information
Uzlopak and Fdawgs authored Aug 11, 2022
1 parent f92af0b commit 4c77569
Showing 1 changed file with 140 additions and 0 deletions.
140 changes: 140 additions & 0 deletions .github/workflows/plugins-ci-redis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
name: Plugin CI - Redis

on:
workflow_call:
inputs:
auto-merge-exclude:
description: 'A comma separated list of packages that you do not want to be auto-merged.'
required: false
default: 'fastify'
type: string
license-check:
description: 'Check licenses'
required: false
type: boolean
default: false
license-check-allowed-additional:
description: 'A semicolon seperate list of additional licenses to allow.'
required: false
type: string
default: ''
lint:
description: 'Set to true to run linting scripts.'
required: false
default: false
type: boolean

jobs:
dependency-review:
name: Dependency Review
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out repo
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Dependency review
uses: actions/dependency-review-action@v2

license-check:
if: >
!failure() &&
!cancelled() &&
inputs.license-check == true
name: Check Licenses
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: lts/*

- name: Install dependencies
run: npm i --ignore-scripts

- name: Check Licenses
run: ${{ format('npx license-checker --production --onlyAllow="0BSD;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;MIT;{0}"', inputs.license-check-allowed-additional) }}

linter:
name: Lint Code
if: >
!failure() &&
!cancelled() &&
inputs.lint == true
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out repo
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: lts/*

- name: Install dependencies
run: npm i

- name: Lint code
run: npm run lint

test:
name: Node.js ${{ matrix.node-version }} - ${{ matrix.db }}
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14, 16, 18]
db: [5, 6, 7]
services:
redis:
image: redis:${{ matrix.db }}
ports:
- '6379:6379'
options: '--entrypoint redis-server'

steps:
- name: Check out repo
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm i --ignore-scripts

- name: Run tests
run: npm test

automerge:
name: Automerge Dependabot PRs
if: >
github.event_name == 'pull_request' &&
github.event.pull_request.user.login == 'dependabot[bot]'
needs: test
permissions:
pull-requests: write
contents: write
runs-on: ubuntu-latest
steps:
- uses: fastify/github-action-merge-dependabot@v3
with:
exclude: ${{ inputs.auto-merge-exclude }}
github-token: ${{ secrets.GITHUB_TOKEN }}
target: major

0 comments on commit 4c77569

Please sign in to comment.