Skip to content

Conversation

@grdsdev
Copy link
Contributor

@grdsdev grdsdev commented Jan 21, 2026

Summary

Integrates reusable CI workflows from the supabase/actions repository to standardize CI processes across Supabase client libraries, following the pattern established in supabase-swift#887 and supabase-js#2041.

Changes

New Workflows

  1. block-merge.yml - Prevents accidental merging of incomplete work

    • Blocks draft PRs automatically
    • Blocks PRs with do-not-merge or blocked labels
    • Blocks PRs containing "wip" or "do not merge" in the title
  2. stale.yml - Manages inactive issues and pull requests

    • Issues: 180 days to stale status, 30 days before closure
    • PRs: 90 days to stale status, 14 days before closure
    • Exempts priority, security, planned, and good first issue labels
    • Runs weekly on Sundays
  3. label-issues.yml - Auto-labels issues and PRs by module

    • Extracts scope from conventional commit PR titles (e.g., fix(auth):auth label)
    • Supports all Flutter package modules: auth, storage, realtime, postgrest, functions, auth-ui
    • Parses issue templates for affected module identification

Benefits

  • ✅ Consistent CI behavior across all Supabase client libraries
  • ✅ Reduced maintenance burden through shared workflow definitions
  • ✅ Automated issue triaging and management
  • ✅ Better PR hygiene with WIP blocking
  • ✅ Improved discoverability through automatic labeling

Test Plan

  • Verify block-merge workflow prevents merging of draft PRs
  • Verify block-merge workflow blocks PRs with appropriate labels/keywords
  • Verify label-issues workflow correctly labels this PR based on the ci scope
  • Stale workflow will be tested over time with scheduled runs

References

🤖 Generated with Claude Code

Adds three reusable workflows to standardize CI processes:
- block-merge: Prevents merging of WIP/draft PRs and those with do-not-merge labels
- stale: Automates management of inactive issues (180 days) and PRs (90 days)
- label-issues: Auto-labels issues and PRs based on module scope from conventional commits

These workflows align with the CI patterns used across other Supabase client libraries (supabase-swift, supabase-js) and reduce maintenance burden through shared workflow definitions.

Closes SDK-624

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@coveralls
Copy link

coveralls commented Jan 21, 2026

Pull Request Test Coverage Report for Build 21247894551

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 5 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.4%) to 80.342%

Files with Coverage Reduction New Missed Lines %
packages/gotrue/lib/src/gotrue_client.dart 5 64.09%
Totals Coverage Status
Change from base Build 20716397421: 0.4%
Covered Lines: 3380
Relevant Lines: 4207

💛 - Coveralls

@grdsdev grdsdev requested review from a team and Vinzent03 January 22, 2026 12:21
@grdsdev grdsdev merged commit af88212 into main Jan 22, 2026
4 checks passed
@grdsdev grdsdev deleted the guilherme/sdk-624-apply-reusable-ci-workflows-to-supabase-flutter branch January 22, 2026 13:22
@Vinzent03
Copy link
Collaborator

I'm not really a fan of this change. I think there are multiple issues and pr that are valid, but not yet have the time and ressource to fully investigate them. Just closing them does not really help. I don't think we have that many open issues we need such automatic issue and pr closes.

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.

5 participants