1
mirror of https://github.com/jakejarvis/hugo-extended.git synced 2025-04-27 06:38:29 -04:00
2023-03-13 08:01:33 +02:00

117 lines
2.4 KiB
YAML

name: CI
on:
push:
pull_request:
workflow_dispatch:
env:
FORCE_COLOR: 2
NODE_LINT: 18
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "${{ env.NODE_LINT }}"
cache: npm
- name: Install npm dependencies
run: npm ci
- name: Lint
run: npm run lint
test:
name: Node ${{ matrix.node }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [12, 14, 16, 18]
include:
- os: windows-latest
node: 18
- os: macos-latest
node: 18
steps:
- name: Clone repository
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
cache: npm
- name: Install npm dependencies
run: npm ci
- name: Run tests
run: npm run uvu
test-extended:
name: Node ${{ matrix.node }} on ${{ matrix.os }} (Extended)
runs-on: ${{ matrix.os }}
env:
HUGO_BIN_BUILD_TAGS: extended
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node: [18]
steps:
- name: Clone repository
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
cache: npm
- name: Install npm dependencies
run: npm ci
- name: Run tests
run: npm run uvu
publish:
if: github.repository == 'fenneclab/hugo-bin' && startsWith(github.ref, 'refs/tags/')
needs: [lint, test, test-extended]
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18
registry-url: 'https://registry.npmjs.org'
- name: Publish on npm
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}