Skip to content

feat: add reusable CTA assistant GitHub action#32

Merged
bkrem merged 9 commits intomasterfrom
feat/cta-bot-action
Aug 25, 2025
Merged

feat: add reusable CTA assistant GitHub action#32
bkrem merged 9 commits intomasterfrom
feat/cta-bot-action

Conversation

@bkrem
Copy link
Member

@bkrem bkrem commented Aug 20, 2025

Summary

  • Converted existing CLA workflow to reusable composite action
  • Updated all terminology from CLA to CTA (Copyright Transfer Agreement)
  • Maintained full backward compatibility with all configuration options
  • Added comprehensive documentation and usage examples

Key Features

  • Reusable composite action - Can be used across multiple repositories
  • Configurable CTA document URL - Point to your organization's CTA
  • Flexible signature storage - Local or remote repository options
  • Customizable messaging - All PR comments and commit messages configurable
  • Full permission control - Explicit permission requirements documented

Implementation Details

This action is a wrapper around the upstream contributor-assistant/github-action that provides:

  • Simplified configuration for WalletConnect repositories
  • CTA-specific terminology and defaults
  • Reusable composite action structure
  • Comprehensive documentation and examples

Usage Example

name: "CTA Assistant"
on:
  issue_comment:
    types: [created]
  pull_request_target:
    types: [opened, closed, synchronize]

permissions:
  actions: write
  contents: write
  pull-requests: write
  statuses: write

jobs:
  CTA:
    runs-on: ubuntu-latest
    steps:
      - uses: walletconnect/actions/github/cta-assistant@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Test plan

  • Test basic CTA workflow with default settings
  • Test custom CTA document URL configuration
  • Test remote signature storage functionality
  • Verify all permission requirements work correctly
  • Test contributor signing flow end-to-end

TODOs

- Convert existing CLA workflow to reusable composite action
- Update terminology from CLA to CTA (Copyright Transfer Agreement)
- Maintain all configuration options and defaults
- Add comprehensive documentation with usage examples
- Support both local and remote signature storage

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 20, 2025 14:23
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a reusable GitHub Action for managing Copyright Transfer Agreement (CTA) signatures from contributors. The action is built as a composite action that wraps the existing contributor-assistant/github-action and provides a standardized interface for CTA workflows across repositories.

Key changes:

  • Created a composite action configuration file with comprehensive input parameters for CTA customization
  • Added detailed documentation with usage examples, configuration options, and troubleshooting guidance
  • Implemented flexible signature storage options supporting both local and remote repository configurations

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
github/cta-assistant/action.yml Defines the composite action with inputs for CTA document URL, signature storage, commit messages, and remote storage options
github/cta-assistant/README.md Comprehensive documentation covering setup, configuration, permissions, and troubleshooting for the CTA assistant action

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@bkrem bkrem requested review from arein and ganchoradkov August 20, 2025 14:25
bkrem and others added 5 commits August 20, 2025 16:26
- Add allowlist input parameter that appends to existing team allowlist
- Use environment variable to eliminate static allowlist duplication
- Maintain backward compatibility with optional input
- Update documentation with allowlist configuration examples

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@bkrem bkrem force-pushed the feat/cta-bot-action branch from 269ab32 to 35fcbde Compare August 21, 2025 09:57
bkrem and others added 3 commits August 25, 2025 10:21
- Add explicit signature branch creation step for maintainers
- Remove remote storage section to focus on local storage
- Clean up configuration examples and troubleshooting
- Update action references from @v1 to @master
- Clarify repository setup requirements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@bkrem bkrem merged commit 9fd44c0 into master Aug 25, 2025
@bkrem bkrem deleted the feat/cta-bot-action branch August 25, 2025 14:31
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.

3 participants