Update dependencies #168
This file contains 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: | |
branches: | |
- master | |
- next | |
tags: | |
- v* | |
pull_request: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4.2.2 | |
- name: "Setup node & npm" | |
uses: "relative-ci/.github/actions/setup-node-npm@v1.1.0" | |
- name: "Lint" | |
run: npm run lint | |
test-unit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4.2.2 | |
- name: "Setup node & npm" | |
uses: "relative-ci/.github/actions/setup-node-npm@v1.1.0" | |
- name: "Test" | |
run: npm run test:unit | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4.2.2 | |
- name: "Setup node & npm" | |
uses: "relative-ci/.github/actions/setup-node-npm@v1.1.0" | |
- name: "Build" | |
run: yarn run build | |
- name: "Upload build files" | |
uses: actions/upload-artifact@v4.6.0 | |
with: | |
name: build-artifacts | |
retention-days: 1 | |
path: dist*/ | |
test-package: | |
name: "Test package on rollup v${{ matrix.rollup }} / node ${{ matrix.node }} / ${{ matrix.os }}" | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: ["22", "20", "18"] | |
os: [ubuntu-latest, windows-latest] | |
rollup: ["3", "4"] | |
exclude: | |
- os: windows-latest | |
node: 20 | |
- os: windows-latest | |
node: 18 | |
- rollup: 3 | |
node: 20 | |
- rollup: 3 | |
node: 18 | |
steps: | |
- name: "Checkout repo" | |
uses: actions/checkout@v4.2.2 | |
- name: "Setup node & npm" | |
uses: "relative-ci/.github/actions/setup-node-npm@v1.1.0" | |
with: | |
cache: "never" | |
version: ${{ matrix.node }} | |
install: false | |
- name: "Install test dependencies" | |
run: npm install vitest | |
- name: "Download build files" | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: build-artifacts | |
- name: "Setup local npm registry" | |
run: ./scripts/setup-registry.sh | |
- name: "Install test package dependencies" | |
run: | | |
npm install | |
npm install rollup@${{ matrix.rollup }} --force | |
npx rollup -v | |
working-directory: test/package | |
- name: "Test package" | |
run: npm run test:package | |
tests: | |
needs: | |
- lint | |
- test-unit | |
- build | |
- test-package | |
runs-on: ubuntu-latest | |
steps: | |
- run: exit 0 | |
publish: | |
# Run only for version tags | |
if: contains(github.ref, 'refs/tags/v') | |
needs: | |
- "tests" | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- name: "Setup node & npm" | |
uses: "relative-ci/.github/actions/setup-node-npm@v1.1.0" | |
- name: "Download build" | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: build-artifacts | |
- name: "Release package" | |
run: npm run release | |
env: | |
NPM_CONFIG_PROVENANCE: true | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |