54 lines
1.8 KiB
YAML
54 lines
1.8 KiB
YAML
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
|
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
|
|
|
name: Node.js CI
|
|
|
|
on:
|
|
# Trigger the workflow on push or pull request,
|
|
push:
|
|
branches: [main, stable]
|
|
pull_request:
|
|
# These types of PRs
|
|
types: [opened, synchronize, reopened]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-24.04
|
|
|
|
strategy:
|
|
matrix:
|
|
node-version: [18.x, 20.x, 22.x]
|
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: "Base requirements"
|
|
run: |
|
|
# packages
|
|
apk update && apk add --no-cache git docker docker-compose nodejs gpg openssh npm ansible
|
|
# ansible collections
|
|
ansible-galaxy collection install community.general --force
|
|
ansible-galaxy collection install ansible.posix --force
|
|
|
|
# Corepack
|
|
- name: Install Corepack
|
|
run: npm install -g corepack
|
|
- name: "Enable Corepack"
|
|
run: corepack enable
|
|
- name: "Install Yarn"
|
|
run: corepack prepare yarn@4.9.2 --activate
|
|
|
|
# YARN
|
|
- name: "Install Dependencies"
|
|
run: yarn install # will run `yarn install` command
|
|
#- uses: borales/actions-yarn@v3.0.0
|
|
# with:
|
|
# cmd: test # will run `yarn test` command
|
|
#- uses: borales/actions-yarn@v3.0.0
|
|
# with:
|
|
# cmd: type-check # will run `yarn type-check` command
|
|
- name: "Lint Repo"
|
|
run: yarn lint # will run `yarn lint` command
|
|
- name: "Build Code"
|
|
run: yarn run build # will run `yarn build` command
|