HomeChallengesRepsProblemsLeaderboardTake a challenge

A Pipeline That Pays For Itself

The same workflow everyone writes, then the five lines that stop it wasting twenty minutes and half your Actions bill on every push.

Intermediate20 min on the clock6 graded checks · 100 pointsDocker + Deploy SprintPro
Graded by reading your code against the checklist below.

What you build

  • Cancel the run already in flight when the branch is pushed again
  • Test across more than one runtime version
  • Cache dependencies between runs
  • Grant the workflow the least permission it needs
  • Lint, test and build as separate steps
  • Upload the build output as an artifact

Done means

A second push cancels the first, a cached run is under a minute, and a lint failure is distinguishable from a test failure.

How it is graded

Published in full, before you start — every point is one of these and there is nothing else.

  1. Cancel the superseded run+20Continuous delivery
  2. Test across more than one version+20Continuous delivery
  3. Cache dependencies between runs+20Continuous delivery
  4. Grant least privilege+15Continuous delivery
  5. Lint, test and build as separate steps+15Continuous delivery
  6. Keep the build output+10Continuous delivery

What it teaches

The rest of Docker + Deploy Sprint