My First GitLab Open Source Contribution: From Issue to Merge Request
Описание и применение
Автор внес небольшое изменение в схему PostgreSQL, установив fillfactor=90 для двух таблиц, и успешно прошёл процесс открытого вклада в GitLab, изучив рабочий поток, CI и важность анализа ошибок.
Задача
Contributing to a large open‑source project can feel intimidating when you are seeing the codebase for the first time.
Результат
A small migration was successfully merged into GitLab after navigating the community fork workflow, handling CI failures, and applying PostgreSQL fillfactor changes.
Рабочий процесс
- 1. Search GitLab issues for community‑contributable tasks.
- 2. Select issue #629994 about lowering fillfactor on vulnerability tables.
- 3. Read issue details and HOT‑update measurements.
- 4. Write a post‑deployment migration in Ruby to set fillfactor=90 on vulnerability_identifiers and vulnerability_occurrence_identifiers.
- 5. Add up and down methods for reversible migration.
- 6. Create a branch 629994-lower-fillfactor-on-vulnerability-identifiers and push to the GitLab Community Fork.
- 7. Open a merge request against the main repository and link it to issue #629994.
- 8. Include instructions to validate the migration (bin/rake db:migrate:up VERSION=20261006165253).
- 9. Observe CI pipeline failures and investigate the shell error "pop_var_context: head of shell_variables not a function context".
- 10. Determine that CI failures were unrelated to the migration and continue the review process.
- 11. Learn lessons about reading issues, understanding technology, following workflows, and investigating CI failures.
Доказательства
I started by looking through GitLab issues that were suitable for a community contribution.
The issue concerned two tables: vulnerability_identifiers, vulnerability_occurrence_identifiers.
The migration uses GitLab's database migration framework and applies a fillfactor of 90 to both tables: ...
I created my contribution branch: 629994-lower-fillfactor-on-vulnerability-identifiers and pushed the branch to the GitLab Community Fork.
The initial pipeline contained failures across several different jobs. An important part of the investigation was that multiple unrelated jobs showed the same shell error: pop_var_context: head of shell_variables not a function context
- Дата записи: 2026-10-07T02:41:09.921Z