claude-code 0.1.2

A Rust library for executing Claude Code CLI
Documentation
name: Release

on:
  push:
    branches:
      - main

permissions:
  contents: write
  pull-requests: write

jobs:
  release-please:
    runs-on: ubuntu-latest
    outputs:
      release_created: ${{ steps.release.outputs.release_created }}
    steps:
      - uses: googleapis/release-please-action@v4
        id: release

  publish:
    needs: release-please
    if: ${{ needs.release-please.outputs.release_created }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - run: cargo publish --all-features
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

  sync-develop:
    needs: release-please
    if: ${{ needs.release-please.outputs.release_created }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - name: Merge main into develop
        run: |
          git checkout develop
          if git merge main --no-edit; then
            git push origin develop
          else
            git merge --abort
            gh pr create \
              --base develop \
              --head main \
              --title "chore: sync main back into develop after release" \
              --body "Auto-merge of main into develop failed due to conflicts. Please resolve manually."
          fi
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}