Add committer email to x509 commit signatures
Why
Add committer email to x509 commit signatures
In order to support #550372 (closed), we want to add a committer email to the x509_commit_signatures table. This will eventually be used to check if the email is also verified to the user who made the original commit in the context of mailmap.
What
- migration to add the column
- limit the column to 255
I used a similar approach as in !198686 (merged) since it is recent and related.
Migration output
Migrate up
➜ gitlab git(550372-committer-email-migration) bin/rails db:migrate:up:main VERSION=20250728182048
main: == [advisory_lock_connection] object_id: 143600, pg_backend_pid: 39772
main: == 20250728182048 AddCommitterEmailToX509CommitSignatures: migrating ==========
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- add_column(:x509_commit_signatures, :committer_email, :text, {:if_not_exists=>true})
main: -> 0.0264s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE x509_commit_signatures
ADD CONSTRAINT check_f6d2a73190
CHECK ( char_length(committer_email) <= 255 )
NOT VALID;
")
main: -> 0.0009s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0004s
main: -- execute("ALTER TABLE x509_commit_signatures VALIDATE CONSTRAINT check_f6d2a73190;")
main: -> 0.0007s
main: -- execute("RESET statement_timeout")
main: -> 0.0004s
main: == 20250728182048 AddCommitterEmailToX509CommitSignatures: migrated (0.0560s) =
main: == [advisory_lock_connection] object_id: 143600, pg_backend_pid: 39772
Migrate down
➜ gitlab git(550372-committer-email-migration) bin/rails db:migrate:down:main VERSION=20250728182048
main: == [advisory_lock_connection] object_id: 143600, pg_backend_pid: 40331
main: == 20250728182048 AddCommitterEmailToX509CommitSignatures: reverting ==========
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- remove_column(:x509_commit_signatures, :committer_email, {:if_exists=>true})
main: -> 0.0249s
main: == 20250728182048 AddCommitterEmailToX509CommitSignatures: reverted (0.0454s) =
main: == [advisory_lock_connection] object_id: 143600, pg_backend_pid: 40331
Related to #550372 (closed)