forked from MrRefactoring/jira.js
-
Notifications
You must be signed in to change notification settings - Fork 0
π npm i --force #7
Workflow file for this run
This file contains hidden or 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
name: CI
on:
push:
repository_dispatch:
types: [ pr-approved ]
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Installing dependencies
run: npm ci
- name: Building sources
run: npm run build
lint:
name: Lint Code
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Installing dependencies
run: npm ci
- name: Linting
run: npm run lint
env:
CI: true
test_unit:
name: Unit Tests
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Installing dependencies
run: npm ci
- name: Running unit tests
run: npm run test:unit
test_integration:
name: Integration Tests
needs:
- lint
- test_unit
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
node-version: [18.x, 20.x]
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Installing dependencies
run: npm ci
- name: Creating `.env` file
run: |
touch .env
echo HOST=${{ secrets.HOST }} >> .env
echo EMAIL=${{ secrets.EMAIL }} >> .env
echo API_TOKEN=${{ secrets.API_TOKEN }} >> .env
- name: Running integration tests
run: npm run test:integration