codenexus 0.3.4

A queryable code knowledge graph tool built on LadybugDB and tree-sitter
# Release workflow — creates a GitHub Release when a `v*` tag is pushed.
# GitHub auto-attaches the source archives (Source code zip/tar.gz) for the
# tag. If CARGO_REGISTRY_TOKEN is set, also publishes to crates.io.
#
# Trigger:  git tag v0.3.3 && git push origin v0.3.3

name: Release

on:
  push:
    tags:
      - "v*.*.*"
  workflow_dispatch:

permissions:
  contents: write

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: false

jobs:
  release:
    name: Create GitHub Release
    runs-on: ubuntu-latest
    env:
      CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
    steps:
      - name: Checkout
        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

      - name: Install Rust 1.95
        uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
        with:
          toolchain: "1.95"

      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y libssl-dev pkg-config protobuf-compiler

      - name: Verify build
        run: cargo build --release --lib

      - name: Create GitHub Release
        uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
        with:
          generate_release_notes: true
          draft: false
          prerelease: ${{ contains(github.ref, '-rc') || contains(github.ref, '-beta') || contains(github.ref, '-alpha') }}

      - name: Publish to crates.io
        if: env.CARGO_REGISTRY_TOKEN != ''
        run: cargo publish --no-verify --token "$CARGO_REGISTRY_TOKEN"