fix(store): synthesize session ID when empty in claude_code, codex, and pi #248
Workflow file for this run
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: ci | |
| # The quality gate: every push and PR runs the same checks the publish tags | |
| # assume. Formatting, the full clippy deny set, tests across all features, | |
| # the wasm32 build, the declared MSRV, and the packaging steps the release | |
| # performs: crate dry-run, npm bundle, and a release build of the CLI. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| env: | |
| RUSTFLAGS: -D warnings | |
| jobs: | |
| lint-test: | |
| name: Lint and test (stable) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - run: cargo fmt --all --check | |
| - run: cargo clippy --workspace --all-targets --all-features | |
| - run: cargo clippy -p txcript --lib --no-default-features | |
| - run: cargo test --workspace --all-features | |
| windows: | |
| name: Lint and test (windows) | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - run: cargo clippy --workspace --all-targets --all-features | |
| - run: cargo test --workspace --all-features | |
| wasm: | |
| name: wasm32 build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - run: cargo check -p txcript --lib --target wasm32-unknown-unknown --no-default-features --features wasm | |
| - run: cargo check -p txcript --lib --target wasm32-unknown-unknown --no-default-features --features wasm,search | |
| msrv: | |
| name: MSRV (1.96) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@1.96 | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - run: cargo check --workspace --all-features | |
| # Publish readiness. Every merged head must be releasable as-is, so the | |
| # packaging steps the release runs are proven here, on the PR. | |
| crate-package: | |
| name: crates.io package (dry-run) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - run: cargo publish --dry-run --locked -p txcript | |
| npm-package: | |
| name: npm package (dry-run) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: wasm-bindgen-cli@0.2.126 | |
| - uses: oven-sh/setup-bun@v2 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - run: bun run build | |
| - run: npm pack --dry-run --ignore-scripts | |
| cli-release-build: | |
| name: CLI release build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - run: cargo build --release --locked -p txcript-cli | |
| - run: ./target/release/txcript --version |