Skip to content

build: migrate from release-please to changie #225

build: migrate from release-please to changie

build: migrate from release-please to changie #225

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
workflow_call:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
target: [erlang, javascript]
name: Test (${{ matrix.target }})
steps:
- uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup
with:
node: ${{ matrix.target == 'javascript' }}
- name: Check formatting
run: just format-check
- name: Build (warnings as errors)
run: just ${{ matrix.target == 'javascript' && 'build-strict-js' || 'build-strict' }}
- name: Run tests
run: just ${{ matrix.target == 'javascript' && 'test-js' || 'test-erlang' }}
integration-test:
runs-on: ubuntu-latest
strategy:
matrix:
runtime: [node, deno, bun]
name: Integration Test (${{ matrix.runtime }})
steps:
- uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup
with:
node: true
- name: Setup Deno
if: matrix.runtime == 'deno'
uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: Setup Bun
if: matrix.runtime == 'bun'
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Build for JavaScript (warnings as errors)
run: just build-strict-js
- name: Run integration tests
run: just test-integration-${{ matrix.runtime }}
examples:
runs-on: ubuntu-latest
strategy:
matrix:
example:
- 01-quick-start
- 02-log-levels
- 03-metadata
- 04-named-loggers
- 05-console-handler
- 06-json-handler
- 07-file-handler
- 08-custom-handlers
- 09-global-config
- 10-lazy-evaluation
- 11-error-helpers
- 12-scoped-context
- 13-async-handler
- 14-sampling
- 15-testing-support
- 16-erlang-logger
- 17-handler-errors
target: [erlang, node, deno, bun]
exclude:
# Erlang-only example
- example: 16-erlang-logger
target: node
- example: 16-erlang-logger
target: deno
- example: 16-erlang-logger
target: bun
name: Example ${{ matrix.example }} (${{ matrix.target }})
steps:
- uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup
with:
node: ${{ matrix.target != 'erlang' }}
- name: Setup Deno
if: matrix.target == 'deno'
uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: Setup Bun
if: matrix.target == 'bun'
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Test example (Erlang)
if: matrix.target == 'erlang'
run: just test-example-erlang ${{ matrix.example }}
- name: Test example (Node.js)
if: matrix.target == 'node'
run: just test-example-node ${{ matrix.example }}
- name: Test example (Deno)
if: matrix.target == 'deno'
run: just test-example-deno ${{ matrix.example }}
- name: Test example (Bun)
if: matrix.target == 'bun'
run: just test-example-bun ${{ matrix.example }}
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup
- name: Build docs
run: just docs