Skip to content

feat: simplify mood tags to positive and negative #95

feat: simplify mood tags to positive and negative

feat: simplify mood tags to positive and negative #95

Workflow file for this run

name: Test
on:
push:
branches:
- main
pull_request:
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Install Bowtie
uses: bowtie-json-schema/bowtie@v2026.2.4
- name: Validate
run: bash scripts/validate.sh
rust-codegen:
runs-on: ubuntu-latest
# styles.rs and the Cargo.toml [features] table are generated from
# src/*.json by scripts/build.sh and committed. Adding a style without
# regenerating them would silently publish a crate missing that style —
# `cargo check` can't see a style that isn't listed — so fail the PR if the
# committed files are stale. (Only the deterministic, ASCII Rust outputs are
# checked; the locale-sensitive LICENSE.md padding is not.)
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Regenerate the Rust crate from src/
run: bash scripts/build.sh
- name: Fail if styles.rs or Cargo.toml is out of sync with src/
run: git diff --exit-code -- styles.rs Cargo.toml
go:
runs-on: ubuntu-latest
# styles.go is generated from src/*.json by scripts/build.sh and committed.
# Adding a style without regenerating it would silently publish a Go module
# missing that style, so fail the PR if the committed file is stale, then
# confirm the module builds and the embeds resolve.
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.23'
- name: Regenerate styles.go from src/
run: bash scripts/build.sh
- name: Fail if styles.go is out of sync with src/
run: git diff --exit-code -- styles.go
- name: Vet and build
run: |
go vet ./...
go build ./...
dart:
runs-on: ubuntu-latest
# lib/ is generated from src/*.json by scripts/build.sh and git-ignored,
# like the minified npm dist/. Only the pub.dev publish ships it, built
# fresh, so there is no drift to check. Generate it here, then prove every
# embedded constant is byte-identical to its src/ JSON (this guards the
# generator's string escaping) and that the package analyzes cleanly.
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Dart
uses: dart-lang/setup-dart@v1
- name: Generate lib/ from src/
run: bash scripts/build.sh
- name: Analyze
run: |
dart pub get
dart analyze --fatal-infos
- name: Verify byte parity with src/
run: dart run tool/check_parity.dart