|
1 | 1 | # Contributing to the project |
2 | 2 |
|
3 | | -This document provides guidelines for contributing, with a focus on the process of adding new images. |
| 3 | +This document provides guidelines for contributing, with a focus on the process of managing built images. |
4 | 4 |
|
5 | | -## Adding a New Image |
| 5 | +## Adding a new image |
6 | 6 |
|
7 | 7 | The Containerfiles and GitHub Actions workflows in this repository are generated from templates using Ansible. This makes it easier to manage multiple distributions and versions. To add a new OS image, you'll need to follow these steps. |
8 | 8 |
|
@@ -74,3 +74,39 @@ Once you have completed these steps, commit your changes and open a pull request |
74 | 74 | 1. Changes to `src/systemd/matrix.yml`. |
75 | 75 | 2. The newly generated/updated `Containerfile`s and CI files. |
76 | 76 | 3. The updated `Containerfiles/systemd/README.md`. |
| 77 | + |
| 78 | + |
| 79 | +## Removing an image |
| 80 | + |
| 81 | +Once image reaches its EOL, we remove such image from regular build to save CI cycles and avoid potential CI failures once image mirrors become unavailable. |
| 82 | + |
| 83 | +The process is almost a reverse to adding a new image, except we leave previously buiilt Containerfiles in the repository. |
| 84 | + |
| 85 | +### 1. Modify `src/systemd/matrix.yml` |
| 86 | + |
| 87 | +In the [`src/systemd/matrix.yml`](../../src/systemd/matrix.yml) file we need to remove EOLed version of distribution. For example, to remove Debian "buster", you would remove the following from the `outputs` under `Debian`: |
| 88 | + |
| 89 | +```yaml |
| 90 | + - baseimage_version: buster |
| 91 | + vars: |
| 92 | + extra_CI_image_tags: |
| 93 | + - "10" |
| 94 | +``` |
| 95 | + |
| 96 | +### 2. Remove GitHub Workflow |
| 97 | + |
| 98 | +Each existing image has own GitHub workflow defined. We need to remove the file defining the workflow to prevent further periodic builds of the image. For this simply remove the corresponding file in `.github/workflows` folder. |
| 99 | + |
| 100 | +For instance, to remove a workflow for Debian 10, remove the file `.github/workflows/systemd-Debian.buster-ci.yml` |
| 101 | + |
| 102 | +### 3. Update `Containerfiles/systemd/README.md` |
| 103 | + |
| 104 | +You need to manually update the documentation to reflect the changes you've made. Please edit [`Containerfiles/systemd/README.md`](README.md) to remove information about the EOLed distribution version. |
| 105 | + |
| 106 | +### Submitting your contribution |
| 107 | + |
| 108 | +Once you have completed these steps, commit your changes and open a pull request. Please include: |
| 109 | + |
| 110 | +1. Changes to `src/systemd/matrix.yml`. |
| 111 | +2. Removal of `.github/workflows/` files. |
| 112 | +3. The updated `Containerfiles/systemd/README.md`. |
0 commit comments