T19-L04 · Share & review code · Level 4 Integrator · 18-minute read, plus 2 hours of doing

Almost what you need

Since T19-L03 · Propose, Review and Merge Changes With Pull Requests, every change to the qPCR protocol is read by a second person. One slipped through anyway: a change lowered the cDNA to 4 µl but left the water unchanged, so the well held 19 µl instead of 20. The reviewer judged the idea, not the sum. Arithmetic is exactly what people overlook and programs don't. And when a new version is ready, the lab only hears about it if someone remembers to post in the chat.

In this book Gitea checks every pull request automatically, blocks the merge when the check fails, publishes approved versions as numbered releases, and tells the lab chat. You are at Level 4 Integrator: the repository now talks to the lab chat, so a mistake reaches people who never open Gitea.

After this you can

  • Run an automatic check on every pull request with Gitea Actions.
  • Make that check required, so a failing pull request can't be merged.
  • Send pull request and release events to the lab chat with a webhook.
  • Keep an address or password as a secret that a workflow can use but nobody can read back.
  • Publish an approved version as a numbered release that announces itself.

Before you start

  • Books: T19-L03 · Propose, Review and Merge Changes With Pull Requests. main is protected; you and a colleague work through pull requests.
  • A runner. Actions need a runner, a computer that runs the checks. Ask IT to register one for your Gitea; step 1 shows how to see it.
  • Your chat's incoming webhook address (Mattermost, Slack, Teams or Matrix), from whoever runs the chat: a link that lets programs post into one channel. Treat it like a password.
  • About 2 hours 20 minutes: 18 to read, 2 hours to do.

Last verified 25 September 2026. Gitea Actions are free and built in, but they need a runner that your organisation (or you) operates. Details for experts at the end of this book.

The idea in one page

  • A workflow is a small file in the repository (in .gitea/workflows/) that says: when this happens, run these steps. Events are, for example, a pull request, a push to main, or a published release.