Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

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