Working with Codeberg's CI

Every piece of code should be tested regularly. Ideally developers already implement unit-tests to test the functionality of code sections. Some projects even implement a suite of integration tests, testing whether the code in different parts of the software works as a whole and (still) provides the functionality the software promises to deliver. Running these tests regularly (or continuously) is the job of a Continuous Integration solution. The results of the tests are displayed to the project members and maintainers, enabling them to identify problems and react if errors occur.

Using Codeberg's instance of Woodpecker CI

Codeberg provides a Woodpecker CI instance at ci.codeberg.org.

Onboarding requires a few manual steps, as to prevent the abuse of Codeberg's limited resources. You will need to request access by filling out this form. Eventually, a Codeberg volunteer will review your request and grant you access.

In order to ensure a fast approval, please take a minute to read about the criteria that your project has to adhere to.

After your request gets approved, you will be able to login to ci.codeberg.org. To start builds for your repository, you must enable them in Woodpecker specifically using https://ci.codeberg.org/repos/add.

Caveats

For the usage of our Woodpecker instance, keep the following in mind:

  • CI access is provided as-is and might break at any time and for an undefined period of time, due to server issues, for testing and maintenance purpose or human error.
  • Resource usage must be reasonable for the intended use-case. CI requires substantial computing resources (cloning the repo and pulling the image, installing required tools, building and throwing everything away). Please try to ensure a good balance between code quality/automation and resource usage. Therefore, please consider twice how to create a good balance between ensuring code quality for your project and resource usage therefore.
  • The CI service requires manual onboarding and Woodpecker has limited RBAC capabilities, which will be a problem for projects with a team-based permission structure or many individual collaborators. Issues and general feedback should be reported in our dedicated Codeberg CI feedback repository.

Usage

If you are curious about Woodpecker or are already using a third-party Woodpecker instance, please consult Woodpecker's documentation.

Custom Woodpecker Instances

You can alternatively host your own Woodpecker instance and link it to Codeberg. This will give you a lot more freedom and capabilities with the downside of having to utilize your own hardware. Please consult Woodpecker's Forgejo integration documentation for more information.

Using Forgejo Actions

Forgejo, the software Codeberg is built on, offers a CI/CD feature called Actions. It offers compatibility with GitHub Actions, with some differences.

Further information such as how to run it is available in Using Forgejo Actions (Self-hosted) page.


Hey there! 👋 Thank you for reading this article!

Is there something missing, or do you have an idea on how to improve the documentation? Do you want to write your own article?

You're invited to contribute to the Codeberg Documentation at its source code repository, for example, by adding a pull request or joining in on the discussion in the issue tracker.

For an introduction on contributing to Codeberg Documentation, please have a look at the Contributor FAQ.

© Codeberg Docs Contributors. See LICENSE