fix(submit): website submissions now reach the pipeline (#19)#144
Open
Jose-Gael-Cruz-Lopez wants to merge 1 commit into
Open
fix(submit): website submissions now reach the pipeline (#19)#144Jose-Gael-Cruz-Lopez wants to merge 1 commit into
Jose-Gael-Cruz-Lopez wants to merge 1 commit into
Conversation
The Submit button built a free-text issue (issues/new?title=&body=). The pipeline does not read free text: contribution_approved.py looks up issue-FORM fields by id, and auto_extract.yml only runs on issues carrying the auto_extract label, which only the form applies. So every hackathon submitted through the website produced an issue that, once a maintainer approved it, failed with 'Missing required field: URL'. The button looked like it worked and quietly fed the pipeline something it cannot digest. Now targets ?template=link_only.yaml and prefills the form's own 'url' field, matching the title prefix the template already uses. The test pins the query param to a field id the template actually declares - rename the input and the prefill silently stops filling anything, which is the same class of quiet failure this commit is fixing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #19
This is not the cosmetic fix the issue described
#19 asked for the Submit button to use the
link_only.yamltemplate instead of a hand-builtissues/new?title=&body=URL. Looking at what the automation actually reads, that's not a polish item — every hackathon submitted through the website was dead on arrival.The pipeline does not read free text:
contribution_approved.pylooks up issue-form fields by id (link_to_hackathon_page, …). A free-text body has none, so it raisesMissing required field: URL.auto_extract.ymlonly runs on issues carrying theauto_extractlabel — which only the issue form applies.So the button appeared to work, opened a nice prefilled issue, and handed the pipeline something it cannot digest. A maintainer approving one got an error comment.
The fix
submitIssueUrl()now targets?template=link_only.yamland prefills the form's ownurlfield, matching theAdd:title prefix the template already uses.Verified against the real GitHub form — the template loads, the title is prefilled
Add: HackMIT 2026, and the "Link to Hackathon" input carries the URL. (I loaded the page only; nothing was submitted.)The test pins the query param to a field id the template actually declares: GitHub prefills by
id:, so renaming the input would silently stop the prefill and drop submitters onto a blank form — the same class of quiet failure this PR is fixing.While verifying, I found the repo has only one label:
community.auto_extract,new_opportunity, andapproveddo not exist.GitHub silently drops template labels that don't exist. So an issue created from
link_only.yamlgetscommunityand nothing else — which means:auto_extract.ymlrequiresapprovedandauto_extract→ can never firecontribution_approved.ymlrequiresapproved→ can never fireThe entire documented contribution flow in CONTRIBUTING ("paste a link → maintainer adds
approved→ AI extracts → automation adds it") is currently dormant, regardless of this PR. That would explain why recent hackathons have been landing via hand-written PRs.Creating those three labels is a repo-settings change, so I have not done it. Say the word and I'll add
auto_extract,new_opportunity, andapproved— after that this PR's fix actually completes the loop.Verification
npm run test(85 pass, 5 new),npm run build,npx tsc --noEmit,npm run lintall clean.