What GrainHack is

GrainHack is Grainlify's event programme. Each event has a sponsor-funded contributor pool and a set of issues from projects accepted into it. You apply for issues, a weighted draw assigns each one, and the work that's accepted shares the event's pool. This page explains how an event runs and where to find one.

Find an event

  1. Choose GrainHack in the rail. Live events lists every announced event with its phase and its contributor pool. A pool that hasn't been set yet shows "Contributor pool TBD".

    The GrainHack events list, with events in different phases

  2. Choose an event. Its page shows the phase, the Contributor pool, and the event's issues. Each issue shows its repository, difficulty, how long is left to apply, and View issue.

    A live event's page, listing its issues

  3. Choose View issue to read the issue and apply. Apply for a GrainHack issue walks through it.

Your own applications, assignments and results are in My GrainHack in the rail.

An event's phases

An event moves forward one phase at a time and never goes back.

PhaseWhat's happeningWhat you can do
Applications openProjects are applying to take part. This is not about your applications: there are no issues yet.Wait. The event page says "Issues have not been added yet".
Issue prepAccepted projects are preparing their issues.Nothing to apply to yet. The event page says "Issues are being added".
LiveIssues are published and take applications. Each issue's draw runs when its window closes.Apply for issues, and work on the ones you win.
ClosedThe event has ended. Open assignments are released.A pull request merged within the event's merge grace period after the end still counts.
Results publishedGrades for merged pull requests are published, and the appeal window is open.Read your results and appeal.
SettledThe appeal window has closed.Nothing more to do.

An event in Issue prep, with no issues yet

How issues enter an event

A project takes part once it's accepted into the event. A maintainer of that project then adds the event's GrainHack label to an issue on GitHub, and sets its acceptance criteria and difficulty on Grainlify. When both are set, the issue is published: it appears on the event page, and its application window opens. If the label comes off an issue nobody holds, the issue leaves the event.

Only the draw assigns GrainHack issues. A pull request for an issue you weren't assigned through Grainlify doesn't qualify, however good it is.

How you're paid

Accepted work shares the event's contributor pool, so what a contribution earns depends on the grades everyone's work gets. How payouts work covers the rest.

The rules

My GrainHack → Rules publishes the settings events run on: the checks before the draw, the draw weights, slots and timers, and judging. It shows the platform defaults, which apply to any new event unless it overrides them. An event's own rules can still change until it goes live, and are frozen from then on.

Next