Skip to content

Make it easier to create new commitfests #25

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
JelteF opened this issue Feb 5, 2025 · 5 comments
Open

Make it easier to create new commitfests #25

JelteF opened this issue Feb 5, 2025 · 5 comments
Assignees
Labels
good first issue Good for newcomers

Comments

@JelteF
Copy link
Collaborator

JelteF commented Feb 5, 2025

Currently new commitfests need to be created from the admin panel, and dates need to be filled in manually. I think the easiest would probably be to have a "start commitfest" button that does:

  1. Change the currently "Open" commitfest to "In Progress"
  2. Create a new "Open" commitfest

Then there could also be an "end commitfest" button that does:

  1. Change the currently "In Progress" commitfest to "Closed"

Obviously these buttons should only be pressable by some type of administrator role.

@JelteF JelteF added the good first issue Good for newcomers label Feb 5, 2025
@ChiragAJain
Copy link

Hi @JelteF , I have been meaning to start my open source contributions and thought this might be a good issue to begin with. I have good grasp on Python and related frameworks. Can I take up this issue and try to resolve it?

@JelteF
Copy link
Collaborator Author

JelteF commented Feb 9, 2025

Sounds great. Feel free to ask questions in the #commitfest-dev channel in the "PostgreSQL Hackers Mentoring" discord: https://discord.gg/XZy2DXj7Wz

@ChiragAJain
Copy link

Sure! Thanks for letting me know. I will check it out.

ChiragAJain added a commit to ChiragAJain/pgcommitfest that referenced this issue Feb 17, 2025
Updated commitfest\admin.py to ease the starting and ending action on a commitfest via a drop-down list.
ChiragAJain added a commit to ChiragAJain/pgcommitfest that referenced this issue Feb 17, 2025
Updated commitfest\admin.py to ease the starting and ending action on a commitfest via a drop-down list.
@polobo
Copy link
Contributor

polobo commented Apr 15, 2025

My plan for this is to have a python script that knows the workflow schedule, looks the current date and the collection of open CFs, and determines whether it is in a new month AND the set of CFs represents the prior month. If that is the case it can perform the few actions (create new and status change) needed to change the overall workflow state from the prior month to the current one. If that isn't the case it does nothing. Schedule it to run via cron on the first of the month. Optionally, run it daily since its behavior should be idempotent.

@polobo
Copy link
Contributor

polobo commented Apr 15, 2025

Specifically, I can already use the calendar I posted on Discord to derive these 2025 month changes:

Change Summary for January (compared to December):
[
  {
    "name": "Drafts PG18",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-01",
    "action": "2 - Status Change",
    "status": "in_progress"
  },
  {
    "name": "2025-03",
    "action": "3 - Create",
    "status": "open"
  }
]
----------------------------------------
Change Summary for February (compared to January):
[
  {
    "name": "2025-03",
    "action": "0 - No Change",
    "status": "open"
  },
  {
    "name": "Drafts PG18",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-01",
    "action": "1 - Close",
    "status": "closed"
  }
]
----------------------------------------
Change Summary for March (compared to February):
[
  {
    "name": "Drafts PG18",
    "action": "1 - Close",
    "status": "closed"
  },
  {
    "name": "2025-03",
    "action": "2 - Status Change",
    "status": "in_progress"
  },
  {
    "name": "2025-07",
    "action": "3 - Create",
    "status": "open"
  },
  {
    "name": "Drafts PG19",
    "action": "3 - Create",
    "status": "draft"
  }
]
----------------------------------------
Change Summary for April (compared to March):
[
  {
    "name": "2025-07",
    "action": "0 - No Change",
    "status": "open"
  },
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-03",
    "action": "1 - Close",
    "status": "closed"
  }
]
----------------------------------------
Change Summary for May (compared to April):
[
  {
    "name": "2025-07",
    "action": "0 - No Change",
    "status": "open"
  },
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  }
]
----------------------------------------
Change Summary for June (compared to May):
[
  {
    "name": "2025-07",
    "action": "0 - No Change",
    "status": "open"
  },
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  }
]
----------------------------------------
Change Summary for July (compared to June):
[
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-07",
    "action": "2 - Status Change",
    "status": "in_progress"
  },
  {
    "name": "2025-09",
    "action": "3 - Create",
    "status": "open"
  }
]
----------------------------------------
Change Summary for August (compared to July):
[
  {
    "name": "2025-09",
    "action": "0 - No Change",
    "status": "open"
  },
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-07",
    "action": "1 - Close",
    "status": "closed"
  }
]
----------------------------------------
Change Summary for September (compared to August):
[
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-09",
    "action": "2 - Status Change",
    "status": "in_progress"
  },
  {
    "name": "2025-11",
    "action": "3 - Create",
    "status": "open"
  }
]
----------------------------------------
Change Summary for October (compared to September):
[
  {
    "name": "2025-11",
    "action": "0 - No Change",
    "status": "open"
  },
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-09",
    "action": "1 - Close",
    "status": "closed"
  }
]
----------------------------------------
Change Summary for November (compared to October):
[
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-11",
    "action": "2 - Status Change",
    "status": "in_progress"
  },
  {
    "name": "2026-01",
    "action": "3 - Create",
    "status": "open"
  }
]
----------------------------------------
Change Summary for December (compared to November):
[
  {
    "name": "2026-01",
    "action": "0 - No Change",
    "status": "open"
  },
  {
    "name": "Drafts PG19",
    "action": "0 - No Change",
    "status": "draft"
  },
  {
    "name": "2025-11",
    "action": "1 - Close",
    "status": "closed"
  }
]
----------------------------------------

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants