perf(ci): 'Free port 5432' step purges Postgres with apt and takes 5-31 s per job (<1 s with the fixed template)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 66/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- github-actions, shell, yaml
- Domain
- ci-cd, performance
Research direction
Start by reading the two 'Free port 5432' steps in .github/workflows/ci.yml (doctor and e2e/smoke jobs), then fetch the reference step from docs/examples/ci/flisk-ci.yml in flisk-sh/flisk. Swap both steps for that template: check ss -ltn for :5432 and exit 0 when free, otherwise stop and mask the postgres units and run fuser -k 5432/tcp, with no apt-get remove. Done when grep -c "apt-get remove" .github/workflows/ci.yml returns 0 and the step runs in under a second across five CI runs.
Written by the indexing model from the issue text.
Description
Measured
2026-11-14, step Free port 5432 in .github/workflows/ci.yml (gh run view --json jobs, last 6 successful runs): 7, 10, 8, 10, 31, 9 s (doctor job) and 25, 8, 7, 13, 10, 8 s (smoke job). That is about 30-40 % of each doctor job (17-30 s) and 5-10 % of the smoke job.
The same step in flisk-sh/flisk costs well under a second since flisk-sh/flisk#4087, and the docs template was fixed in flisk-sh/flisk#4181 (closes flisk-sh/flisk#4177).
Cause
.github/workflows/ci.yml (2 places, doctor and e2e jobs) still runs sudo DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y 'postgresql*' on every job, even when nothing listens on 5432.
Proposal
Replace both steps with the template from docs/examples/ci/flisk-ci.yml in flisk-sh/flisk (check ss -ltn for :5432 and exit 0 when free; otherwise stop and mask the postgres units and fuser -k 5432/tcp; no apt purge).
Acceptance
- The "Free port 5432" step takes under 1 s in both jobs over the next 5 runs.
grep -c "apt-get remove" .github/workflows/ci.ymlreturns 0.
- Dominant language
- Shell
- Stars
- 3
- Forks
- 0
- Avg merge
- 5m
- Merged PRs (30d)
- 6
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from flisk-sh/flisk-example
-
agents area: runtime automation chore cli consistency dependencies developer-experience difficulty: easy documentation enhancement good first issue help wanted hygiene json-output priority: P3 starters tests
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
flisk-sh/flisk-example#41 ·
Maintainers usually reply within 1 day
-
area: ci difficulty: easy good first issue hacktoberfest help wanted
Difficulty 1/5 1-3 hours Newbie friendliness 84/100
flisk-sh/flisk-example#14 ·
Maintainers usually reply within 1 day
-
area: docs difficulty: easy good first issue hacktoberfest help wanted
Difficulty 1/5 Under an hour Newbie friendliness 92/100
flisk-sh/flisk-example#13 ·
Maintainers usually reply within 1 day
-
area: tests difficulty: medium hacktoberfest help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
flisk-sh/flisk-example#12 ·
Maintainers usually reply within 1 day
-
area: docs difficulty: easy good first issue hacktoberfest help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
flisk-sh/flisk-example#11 ·
Maintainers usually reply within 1 day
All issues in flisk-sh/flisk-example
Similar issues
-
agents area: runtime automation chore cli consistency dependencies developer-experience difficulty: easy documentation enhancement good first issue help wanted hygiene json-output priority: P3 starters tests
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
area:claude-code-web bug has repro platform:linux platform:web
Difficulty 1/5 Under an hour Newbie friendliness 66/100
anthropics/claude-code#110168 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
devcontainers/features#1776 · 1 comment ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
btclib-org/portanode#968 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day