From fdc57817adc3da7652a253a5ae4ee47056f1533f Mon Sep 17 00:00:00 2001 From: Cody Date: Fri, 3 Apr 2026 19:09:10 -0400 Subject: [PATCH 1/4] docs(readme): standardize README with badges and install section Co-Authored-By: Claude Opus 4.6 (1M context) --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 01e24ee..2d9e817 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,9 @@ -# stringflow +# Stringflow + +[![crates.io](https://img.shields.io/crates/v/stringflow?color=blue)](https://crates.io/crates/stringflow) +[![PyPI](https://img.shields.io/pypi/v/stringflow?color=blue)](https://pypi.org/project/stringflow/) +[![CI](https://img.shields.io/github/actions/workflow/status/dkdc-io/stringflow/ci.yml?branch=main&label=CI)](https://github.com/dkdc-io/stringflow/actions/workflows/ci.yml) +[![License: MIT](https://img.shields.io/badge/license-MIT-8A2BE2.svg)](https://github.com/dkdc-io/stringflow/blob/main/LICENSE) Flow strings through language models. From 3f2efb2a2d47c1300ff817a64ed6c47eddbe5bbf Mon Sep 17 00:00:00 2001 From: Cody Date: Fri, 3 Apr 2026 19:13:32 -0400 Subject: [PATCH 2/4] chore(ci): migrate to org reusable workflows Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/check.yml | 24 -------- .github/workflows/ci.yml | 2 +- .github/workflows/release-python.yml | 84 +--------------------------- .github/workflows/release-rust.yml | 8 ++- 4 files changed, 9 insertions(+), 109 deletions(-) delete mode 100644 .github/workflows/check.yml diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml deleted file mode 100644 index c477ad8..0000000 --- a/.github/workflows/check.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Check - -on: - workflow_call: - -jobs: - check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - uses: actions/cache@v4 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - ~/.cache/uv - target - key: check-${{ runner.os }}-${{ hashFiles('**/Cargo.lock', 'uv.lock') }} - restore-keys: check-${{ runner.os }}- - - run: bin/setup - - run: bin/check diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 15bcf34..a467399 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,4 +8,4 @@ on: jobs: check: - uses: ./.github/workflows/check.yml + uses: dkdc-io/.github/.github/workflows/check.yml@v1 diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index 829f334..88b6f8c 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -13,86 +13,8 @@ permissions: contents: read jobs: - check: - uses: ./.github/workflows/check.yml - - build: - name: Build (${{ matrix.target }}) - needs: check - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - include: - - target: x86_64-unknown-linux-gnu - os: ubuntu-latest - - target: aarch64-unknown-linux-gnu - os: ubuntu-24.04-arm - - target: x86_64-apple-darwin - os: macos-latest - - target: aarch64-apple-darwin - os: macos-latest - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.inputs.tag || github.ref }} - - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - uses: actions/cache@v4 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - ~/.cache/uv - ~/Library/Caches/uv - key: wheel-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock', 'uv.lock') }} - restore-keys: wheel-${{ matrix.target }}- - - run: bin/setup - - run: rustup target add ${{ matrix.target }} - - run: bin/build-wheels --target ${{ matrix.target }} --out dist - - uses: actions/upload-artifact@v4 - with: - name: wheel-${{ matrix.target }} - path: dist/*.whl - if-no-files-found: error - - sdist: - name: Build sdist - needs: check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.inputs.tag || github.ref }} - - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - uses: actions/cache@v4 - with: - path: ~/.cache/uv - key: sdist-${{ runner.os }}-${{ hashFiles('uv.lock') }} - restore-keys: sdist-${{ runner.os }}- - - run: bin/setup - - run: bin/build-sdist - - uses: actions/upload-artifact@v4 - with: - name: sdist - path: dist/*.tar.gz - if-no-files-found: error - - publish: - name: Publish to PyPI - needs: [build, sdist] - runs-on: ubuntu-latest - environment: pypi + release: + uses: dkdc-io/.github/.github/workflows/release-python.yml@v1 permissions: + contents: read id-token: write - steps: - - uses: actions/download-artifact@v4 - with: - path: dist - merge-multiple: true - - uses: pypa/gh-action-pypi-publish@release/v1 - with: - packages-dir: dist/ diff --git a/.github/workflows/release-rust.yml b/.github/workflows/release-rust.yml index 8a0c303..d4424a2 100644 --- a/.github/workflows/release-rust.yml +++ b/.github/workflows/release-rust.yml @@ -14,7 +14,7 @@ permissions: jobs: check: - uses: ./.github/workflows/check.yml + uses: dkdc-io/.github/.github/workflows/check.yml@v1 publish: name: Publish to crates.io @@ -37,7 +37,9 @@ jobs: restore-keys: crates-io- - uses: rust-lang/crates-io-auth-action@v1 id: auth - - name: Publish crates + - uses: dkdc-io/.github/actions/publish-crate@v1 + with: + crate: stringflow + last: "true" env: CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }} - run: cargo publish -p stringflow || echo "stringflow already published, skipping" From c9fa64bf9be0a8ae21725be06c8705a8f9ad16d9 Mon Sep 17 00:00:00 2001 From: Cody Date: Fri, 3 Apr 2026 19:22:55 -0400 Subject: [PATCH 3/4] chore: retrigger CI From 93b3b31754c70eb3883ec5a2f9072f2fc03c1b14 Mon Sep 17 00:00:00 2001 From: Cody Date: Fri, 3 Apr 2026 19:31:42 -0400 Subject: [PATCH 4/4] chore(ci): add release-github.yml workflow Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/release-github.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/release-github.yml diff --git a/.github/workflows/release-github.yml b/.github/workflows/release-github.yml new file mode 100644 index 0000000..73cae42 --- /dev/null +++ b/.github/workflows/release-github.yml @@ -0,0 +1,16 @@ +name: Release GitHub + +on: + push: + tags: ["v*.*.*"] + workflow_dispatch: + inputs: + tag: + description: "Tag to release (e.g. v0.1.0)" + required: true + +jobs: + release: + uses: dkdc-io/.github/.github/workflows/release-github.yml@v1 + permissions: + contents: write