Skip to content

Conversation

@kenibrewer
Copy link
Member

This pull request introduces a new GitHub Actions workflow to automate the approval process for pipeline proposals. The workflow handles issue creation, comment-based voting, and status updates, ensuring that proposals are reviewed and approved or rejected based on team member input. It includes logic to manage labels, track votes, and update issue status dynamically.

New Workflow for Pipeline Proposal Approval:

  • Workflow Setup: Added a new workflow file .github/workflows/pipeline_proposals.yml to automate the approval process for pipeline proposals triggered by issue events (opened, closed, labeled, unlabeled) and comments (created, edited).

  • Approval Logic: Implemented logic to fetch team members, track approvals/rejections, and determine the proposal status based on voting rules (e.g., approvals required from either 2 core members or 1 core member + 1 maintainer).

  • Dynamic Status Updates: Added functions to generate detailed status comments, format user lists, and update issue labels and states based on the current approval/rejection status.

  • Timed-Out and Label Handling: Integrated label-based handling to mark proposals as "timed-out" and update the status accordingly.

@kenibrewer kenibrewer requested a review from Copilot May 28, 2025 21:24

This comment was marked as outdated.

@kenibrewer kenibrewer changed the title ✨ feat(pipeline-proposals): add github action bot for tracking status ✨ feat: add bot for tracking status of pipeline proposals and SIGs Jul 20, 2025
@github-actions
Copy link

github-actions bot commented Jul 20, 2025

📊 Test Coverage Report

Metric Coverage Status
Statements 100%
Branches 93.75%
Functions 100%
Lines 100%

Tests: 81 statements covered out of 81

🎉 Excellent coverage!

- Removes package-lock.json from .gitignore to fix GitHub Action cache dependency path
- Commits package-lock.json to ensure consistent dependency versions
- Resolves 'Some specified paths were not resolved, unable to cache dependencies' error
@kenibrewer kenibrewer force-pushed the pipeline_proposals_github_action branch from c302e6d to 441e208 Compare July 20, 2025 16:09
@kenibrewer kenibrewer requested review from Copilot and ewels July 20, 2025 16:10
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 pull request introduces comprehensive automation for the approval process of pipeline proposals and RFCs in the nf-core community. The system replaces manual tracking with GitHub Actions workflows that monitor issue comments for /approve and /reject commands from team members and automatically update proposal statuses.

Key changes include:

  • Addition of automated approval workflows for pipeline proposals and RFCs with different voting requirements
  • Comprehensive test suite with unit and integration tests covering all workflow scenarios
  • Updated documentation reflecting the new automated processes alongside remaining manual steps

Reviewed Changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/pipeline_proposals.yml New workflow automating pipeline proposal approvals (2 core OR 1 core + 1 maintainer)
.github/workflows/rfc_approval.yml Refactored RFC approval workflow to use shared ApprovalManager class
.github/workflows/sig_approval.yml New SIG approval workflow requiring 2 core team approvals
.github/workflows/lib/approval.js Core ApprovalManager class handling team fetching, comment processing, and status updates
.github/workflows/lib/approval.test.js Comprehensive unit tests for ApprovalManager functionality
.github/workflows/lib/workflow-integration.test.js End-to-end integration tests for complete workflow scenarios
.github/workflows/test-approval-automation.yml CI workflow for testing approval automation with coverage reporting
README.md Updated documentation explaining automated vs manual workflow steps
Comments suppressed due to low confidence (2)

Copy link
Member

@ewels ewels left a comment

Choose a reason for hiding this comment

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

Too large to review in detail, but a quick skim looks good to me!

Co-authored-by: Maxime U Garcia <maxime.garcia@seqera.io>
@kenibrewer kenibrewer merged commit da0116e into main Aug 20, 2025
3 checks passed
@kenibrewer kenibrewer deleted the pipeline_proposals_github_action branch August 20, 2025 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

4 participants