feat: simplify mood tags to positive and negative #95
This file contains hidden or 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: 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 |