Skip to content

Commit 7fcfa4f

Browse files
committed
docs(issues): add issue 1748 spec
1 parent c3eab6e commit 7fcfa4f

1 file changed

Lines changed: 58 additions & 0 deletions

File tree

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Remove Redundant Compose Step From Container Workflow
2+
3+
## Overview
4+
5+
The `container` workflow still includes a `Compose` step that runs:
6+
7+
- `docker compose -f compose.qbittorrent-e2e.sqlite3.yaml build`
8+
- `docker compose -f compose.qbittorrent-e2e.mysql.yaml build`
9+
- `docker compose -f compose.qbittorrent-e2e.postgresql.yaml build`
10+
11+
This step no longer provides unique verification value and adds significant CI time.
12+
13+
- GitHub issue: [#1748](https://github.com/torrust/torrust-tracker/issues/1748)
14+
- Affected workflow: [`.github/workflows/container.yaml`](../../.github/workflows/container.yaml)
15+
- Related workflow: [`.github/workflows/testing.yaml`](../../.github/workflows/testing.yaml)
16+
17+
## Background
18+
19+
Historically, the `Compose` step in `container.yaml` was used as a lightweight check to ensure
20+
compose configuration remained buildable.
21+
22+
The project now has dedicated compose runtime coverage in `testing.yaml` (`docker-e2e` job):
23+
24+
- `e2e_tests_runner --tracker-image torrust-tracker:e2e-local --skip-build`
25+
- `qbittorrent_e2e_runner --tracker-image torrust-tracker:e2e-local --skip-build --db-driver sqlite3`
26+
- `qbittorrent_e2e_runner --tracker-image torrust-tracker:e2e-local --skip-build --db-driver mysql`
27+
- `qbittorrent_e2e_runner --tracker-image torrust-tracker:e2e-local --skip-build --db-driver postgresql`
28+
29+
As a result, compose files are actively validated by tests that matter at runtime.
30+
31+
## Problem
32+
33+
The `Compose` step in `container.yaml` is redundant and expensive:
34+
35+
- It performs only extra build invocations, not runtime verification.
36+
- It can trigger repeated image builds in the same job.
37+
- It increases CI duration in the `container` workflow substantially.
38+
- It makes Docker layer-cache behavior harder to reason about in workflow diagnostics.
39+
40+
## Proposed Change
41+
42+
Remove the `Compose` step from the `test` job in `.github/workflows/container.yaml`.
43+
44+
Keep the existing `Build` + `Inspect` steps in `container.yaml` for image build integrity checks,
45+
while retaining compose runtime validation in `testing.yaml` (`docker-e2e`).
46+
47+
## Goals
48+
49+
- [ ] Remove the `Compose` step from `.github/workflows/container.yaml`.
50+
- [ ] Keep `container` workflow matrix build behavior unchanged (`debug` and `release`).
51+
- [ ] Keep compose runtime verification in `.github/workflows/testing.yaml`.
52+
- [ ] Confirm reduced CI duration for `container` workflow after merge.
53+
54+
## Non-Goals
55+
56+
- Changing compose files used by E2E tests.
57+
- Modifying test logic in `e2e_tests_runner` or `qbittorrent_e2e_runner`.
58+
- Altering publish jobs in `container.yaml`.

0 commit comments

Comments
 (0)