Skip to content

Rebrand project as osls compose (#28) #80

Rebrand project as osls compose (#28)

Rebrand project as osls compose (#28) #80

Workflow file for this run

name: Validate
on:
pull_request:
branches: [main]
push:
branches: [main]
env:
FORCE_COLOR: 1
jobs:
lint:
name: '[Linux] Node 24: Formatting, lint & package smoke test'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 30
- name: Retrieve last main commit (for `git diff` purposes)
run: |
git checkout -b pr
git fetch --prune --depth=30 origin +refs/heads/main:refs/remotes/origin/main
git checkout main
git checkout pr
- name: Restore npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-no-lock-v1-${{ runner.os }}-node24-${{ hashFiles('package.json') }}
restore-keys: |
npm-no-lock-v1-${{ runner.os }}-node24-
- name: Install Node.js and npm
uses: actions/setup-node@v6
with:
node-version: 24.x
package-manager-cache: false
- name: Install dependencies
run: npm install --package-lock=false
- name: Validate formatting
run: npm run prettier-check:updated
- name: Validate lint rules
run: npm run lint:updated
- name: Verify package contents
run: npm pack --dry-run
- name: Packed install smoke test
run: node ./scripts/ci/pack-smoke.js
linuxNode22:
name: '[Linux] Node 22: Unit tests'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Restore npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-no-lock-v1-${{ runner.os }}-node22-${{ hashFiles('package.json') }}
restore-keys: |
npm-no-lock-v1-${{ runner.os }}-node22-
- name: Install Node.js and npm
uses: actions/setup-node@v6
with:
node-version: 22.x
package-manager-cache: false
- name: Install dependencies
run: npm install --package-lock=false
- name: Unit tests
run: npm test
windowsNode22:
name: '[Windows] Node 22: Unit tests'
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Restore npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-no-lock-v1-${{ runner.os }}-node22-${{ hashFiles('package.json') }}
restore-keys: |
npm-no-lock-v1-${{ runner.os }}-node22-
- name: Install Node.js and npm
uses: actions/setup-node@v6
with:
node-version: 22.x
package-manager-cache: false
- name: Install dependencies
run: npm install --package-lock=false
- name: Unit tests
run: npm test
linuxNode20:
name: '[Linux] Node 20: Unit tests'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Restore npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-no-lock-v1-${{ runner.os }}-node20-${{ hashFiles('package.json') }}
restore-keys: |
npm-no-lock-v1-${{ runner.os }}-node20-
- name: Install Node.js and npm
uses: actions/setup-node@v6
with:
node-version: 20.x
package-manager-cache: false
- name: Install dependencies
run: npm install --package-lock=false
- name: Unit tests
run: npm test