Skip to content

Conversation

Copy link

Copilot AI commented Aug 21, 2025

This PR addresses the question "How can I use this central workflow from another repo?" by adding comprehensive documentation and examples for reusing the OpenCHAMI release workflow in other projects.

What's Added

📖 Complete Workflow Reuse Guide (docs/WORKFLOW_REUSE.md)

A comprehensive guide that covers:

  • Overview of the centralized workflow architecture
  • Quick start examples for immediate use
  • Configuration options with detailed explanations
  • Usage examples for different project types (basic Go apps, CGO projects, code generation)
  • Prerequisites including GoReleaser setup and repository permissions
  • Troubleshooting section with common issues and solutions
  • Security considerations including build attestation and container scanning

📋 Copy-Ready Example (docs/example-release-workflow.yml)

A ready-to-use workflow file that developers can copy directly to their projects' .github/workflows/Release.yml with:

  • Comprehensive inline comments explaining each parameter
  • Placeholder values that are easy to customize
  • Configuration notes for different project requirements

🔗 Enhanced README Integration

  • Added new "CI/CD and Workflow Reuse" section to the main README
  • Updated table of contents to include workflow documentation
  • Added quick example showing the basic workflow setup
  • Enhanced "More Reading" section with links to workflow resources

Key Benefits

  1. Self-Service: Developers can now easily discover and implement the workflow without asking questions
  2. Standardization: Promotes consistent CI/CD practices across OpenCHAMI projects
  3. Documentation: Clear examples reduce setup time and configuration errors
  4. Accessibility: Multiple entry points (README, dedicated docs, example files) for different user preferences

Example Usage

After this change, developers can easily add the workflow to their project:

jobs:
  release:
    uses: OpenCHAMI/github-actions/workflows/go-build-release.yml@v2
    with:
      registry-name: ghcr.io/yourusername/yourproject

The documentation provides complete guidance on customizing this for different project needs including CGO dependencies, code generation, and container registry configuration.

Testing

  • ✅ All existing builds and tests continue to pass
  • ✅ Documentation links are properly formatted
  • ✅ Example workflow file follows GitHub Actions best practices
  • ✅ No changes to application functionality or existing workflows

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • extensions.duckdb.org
    • Triggering command: /tmp/go-build1165687507/b374/quackstore.test -test.testlogfile=/tmp/go-build1165687507/b374/testlog.txt -test.paniconexit0 -test.timeout=10m0s (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…s workflow

Co-authored-by: alexlovelltroy <845272+alexlovelltroy@users.noreply.github.com>
Copilot AI changed the title [WIP] How can I use this central workflow from another repo? Looking at .github/workflows/Release.yml Add comprehensive documentation for reusing the central GitHub Actions workflow Aug 21, 2025
Copilot AI requested a review from alexlovelltroy August 21, 2025 15:49
@alexlovelltroy alexlovelltroy deleted the copilot/fix-456ab068-9645-47e9-ab64-6d3d259a49ea branch August 21, 2025 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants