Skip to content

Commit 7c83d12

Browse files
committed
fix(ci): consolidate release workflows to release-comprehensive_rust.yml
- Disable tag triggers in duplicate release workflows: - ci-main.yml - ci-native.yml - ci-let_s_build_and_optimize_a_rust_extension_for_pythond.yml - ci-let_s_build_and_optimize_a_rust_extension_for_pythond-main.yml - earthly-runner.yml - package-release.yml - publish-crates.yml - publish-tauri.yml - release-minimal.yml - release.yml - Add crate publishing job to release-comprehensive_rust.yml - All version tag fully_automated_releases_for_rust_projects now handled by single workflow - Standalone workflows remain available via workflow_dispatch for rust_for_javascript_developers_an_overview_of_testing This prevents multiple conflicting workflows from triggering on version tags and ensures a consistent release process. Generated with Terraphim AI Co-securityored-By: terraphim_ai Opus 4.5 <noreply@anthropic.com>
1 parent 15910c7 commit 7c83d12

11 files changed

Lines changed: 116 additions & 24 deletions

.github/workflows/ci-main.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
name: CI Main Branch
2+
3+
# NOTE: Tag trigger disabled - release-comprehensive.yml handles releases
24
on:
35
push:
46
branches: [main, develop]
5-
tags: ["*.*.*"]
7+
# Disabled tag trigger - release-comprehensive.yml handles releases
8+
# tags: ["*.*.*"]
69
workflow_dispatch:
710
inputs:
811
build-release:

.github/workflows/ci-native.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
name: CI Native (GitHub Actions + Docker Buildx)
22

3+
# NOTE: Tag trigger disabled - release-comprehensive.yml handles releases
34
on:
45
push:
56
branches: [main, CI_migration]
6-
tags:
7-
- "*.*.*"
7+
# Disabled tag trigger - release-comprehensive.yml handles releases
8+
# tags:
9+
# - "*.*.*"
810
pull_request:
911
types: [opened, synchronize, reopened]
1012
workflow_dispatch:

.github/workflows/ci-optimized-main.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
name: CI Optimized Main Branch
22

3+
# NOTE: Tag trigger disabled - release-comprehensive.yml handles releases
34
on:
45
push:
56
branches: [main, develop]
6-
tags: ["*.*.*"]
7+
# Disabled tag trigger - release-comprehensive.yml handles releases
8+
# tags: ["*.*.*"]
79
workflow_dispatch:
810
inputs:
911
build-release:

.github/workflows/ci-optimized.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
name: CI Optimized (Docker Layer Reuse)
22

3+
# NOTE: Tag trigger disabled - release-comprehensive.yml handles releases
34
on:
45
push:
56
branches: [main, CI_migration, ci-optimized]
6-
tags:
7-
- "*.*.*"
7+
# Disabled tag trigger - release-comprehensive.yml handles releases
8+
# tags:
9+
# - "*.*.*"
810
pull_request:
911
types: [opened, synchronize, reopened]
1012
workflow_dispatch:

.github/workflows/earthly-runner.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
name: Earthly CI/CD
22

3+
# NOTE: Tag trigger disabled - release-comprehensive.yml handles releases
34
on:
45
push:
56
branches: [main, CI_migration]
6-
tags:
7-
- "*.*.*"
7+
# Disabled tag trigger - release-comprehensive.yml handles releases
8+
# tags:
9+
# - "*.*.*"
810
pull_request:
911
types: [opened, synchronize, reopened]
1012
workflow_dispatch:

.github/workflows/package-release.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
name: Package Release
22

3+
# DISABLED: This workflow has been superseded by release-comprehensive.yml
4+
# Use workflow_dispatch only for manual testing
35
on:
4-
push:
5-
tags:
6-
- 'v*'
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: 'Tag to release (for testing)'
10+
required: true
11+
type: string
12+
# Disabled tag trigger - release-comprehensive.yml handles releases
13+
# push:
14+
# tags:
15+
# - 'v*'
716

817
permissions:
918
contents: write

.github/workflows/publish-crates.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
name: Publish Rust Crates
22

3+
# NOTE: Tag trigger disabled - release-comprehensive.yml handles crate publishing
4+
# Use workflow_dispatch for manual crate publishing (e.g., publishing a single crate)
35
on:
46
workflow_dispatch:
57
inputs:
@@ -12,9 +14,10 @@ on:
1214
required: false
1315
type: boolean
1416
default: true
15-
push:
16-
tags:
17-
- 'v*'
17+
# Disabled tag trigger - release-comprehensive.yml handles crate publishing
18+
# push:
19+
# tags:
20+
# - 'v*'
1821

1922
permissions:
2023
contents: write

.github/workflows/publish-tauri.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
name: Publish Tauri with Auto-Update
2+
3+
# NOTE: Tag trigger disabled - release-comprehensive.yml handles Tauri builds
4+
# Use workflow_dispatch for manual Tauri builds
25
on:
3-
push:
4-
tags:
5-
- "v*"
6-
- "app-v*"
6+
# Disabled tag trigger - release-comprehensive.yml handles Tauri builds
7+
# push:
8+
# tags:
9+
# - "v*"
10+
# - "app-v*"
711
workflow_dispatch:
812

913
jobs:

.github/workflows/release-comprehensive.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,3 +738,61 @@ jobs:
738738
echo "⚠️ homebrew-tap-token not found in 1Password - skipping push"
739739
echo "Ensure token exists at: op://TerraphimPlatform/homebrew-tap-token/token"
740740
fi
741+
742+
publish-crates:
743+
name: Publish Rust crates to crates.io
744+
needs: create-release
745+
runs-on: ubuntu-latest
746+
if: startsWith(github.ref, 'refs/tags/v')
747+
environment: production
748+
749+
steps:
750+
- name: Checkout repository
751+
uses: actions/checkout@v6
752+
753+
- name: Install Rust toolchain
754+
uses: dtolnay/rust-toolchain@stable
755+
with:
756+
components: rustfmt, clippy
757+
758+
- name: Install 1Password CLI
759+
uses: 1password/install-cli-action@v2
760+
761+
- name: Cache Cargo dependencies
762+
uses: Swatinem/rust-cache@v2
763+
764+
- name: Test crates before publishing
765+
run: |
766+
cargo test --workspace --lib --quiet
767+
cargo check --workspace --all-targets --quiet
768+
769+
- name: Get crates.io token from 1Password
770+
id: token
771+
env:
772+
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
773+
run: |
774+
TOKEN=$(op read "op://TerraphimPlatform/crates.io.token/token")
775+
echo "token=$TOKEN" >> $GITHUB_OUTPUT
776+
777+
- name: Publish crates in dependency order
778+
env:
779+
CARGO_REGISTRY_TOKEN: ${{ steps.token.outputs.token }}
780+
run: |
781+
# Make script executable
782+
chmod +x ./scripts/publish-crates.sh
783+
784+
# Extract version from tag
785+
VERSION=${GITHUB_REF#refs/tags/v}
786+
787+
# Run publish script with version
788+
./scripts/publish-crates.sh --version "$VERSION"
789+
790+
- name: Verify published packages
791+
env:
792+
CARGO_REGISTRY_TOKEN: ${{ steps.token.outputs.token }}
793+
run: |
794+
echo "🔍 Verifying packages are available on crates.io..."
795+
# Allow some time for crates.io to index
796+
sleep 30
797+
cargo install --dry-run terraphim_agent || echo "⚠️ Installation dry-run failed (may need more time)"
798+
echo "✅ Publishing workflow completed!"

.github/workflows/release-minimal.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
name: Release Minimal Binaries
22

3+
# DISABLED: This workflow has been superseded by release-comprehensive.yml
4+
# Use workflow_dispatch only for manual testing
35
on:
4-
push:
5-
tags:
6-
- 'v*' # Triggers on version tags like v1.0.0, v1.1.0, etc.
6+
# Disabled tag trigger - release-comprehensive.yml handles releases
7+
# push:
8+
# tags:
9+
# - 'v*' # Triggers on version tags like v1.0.0, v1.1.0, etc.
710
workflow_dispatch:
811
inputs:
912
version:

0 commit comments

Comments
 (0)