49 lines
1.2 KiB
Ruby
49 lines
1.2 KiB
Ruby
![]() |
# frozen_string_literal: true
|
||
|
|
||
|
class AddPlanLimitsForMaxSizePerArtifactType < ActiveRecord::Migration[6.0]
|
||
|
DOWNTIME = false
|
||
|
|
||
|
def change
|
||
|
# We need to set the 20mb default for lsif for backward compatibility
|
||
|
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34767#note_371619075
|
||
|
add_column :plan_limits, "ci_max_artifact_size_lsif", :integer, default: 20, null: false
|
||
|
|
||
|
artifact_types.each do |type|
|
||
|
add_column :plan_limits, "ci_max_artifact_size_#{type}", :integer, default: 0, null: false
|
||
|
end
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def artifact_types
|
||
|
# The list of artifact types (except lsif) from Ci::JobArtifact file_type enum as of this writing.
|
||
|
# Intentionally duplicated so that the migration won't change behavior
|
||
|
# if ever we remove or add more to the list later on.
|
||
|
%w[
|
||
|
archive
|
||
|
metadata
|
||
|
trace
|
||
|
junit
|
||
|
sast
|
||
|
dependency_scanning
|
||
|
container_scanning
|
||
|
dast
|
||
|
codequality
|
||
|
license_management
|
||
|
license_scanning
|
||
|
performance
|
||
|
metrics
|
||
|
metrics_referee
|
||
|
network_referee
|
||
|
dotenv
|
||
|
cobertura
|
||
|
terraform
|
||
|
accessibility
|
||
|
cluster_applications
|
||
|
secret_detection
|
||
|
requirements
|
||
|
coverage_fuzzing
|
||
|
]
|
||
|
end
|
||
|
end
|