open-feature 0.3.0

The official OpenFeature Rust SDK.
Documentation
# This workflow creates a running release please PR, which tracks all changes
# based on semantic PR titles. When that PR is merged, a publish occurs after
# release please increments the version.

on:
  push:
    branches:
      - main

name: Run Release Please
permissions:
  contents: read

jobs:
  release-please:
    permissions:
      contents: write  # for google-github-actions/release-please-action to create release commit
      pull-requests: write  # for google-github-actions/release-please-action to create release PR
    runs-on: ubuntu-latest

    # Release-please creates a PR that tracks all changes
    steps:
      - uses: googleapis/release-please-action@v4
        id: release
        with:
          command: manifest
          token: ${{secrets.GITHUB_TOKEN}}
          default-branch: main
    outputs:
      release_created: ${{ steps.release.outputs.release_created }}
      release_tag_name: ${{ steps.release.outputs.tag_name }}

  cargo-publish:
    needs: release-please
    runs-on: ubuntu-latest
    if: ${{ needs.release-please.outputs.release_created }}
    steps:
      - name: checkout
        uses: actions/checkout@v6
        with:
          ref: ${{ needs.release-please.outputs.release_tag_name }}

      - name: Publish
        run: |
          cargo publish
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}