Commit 4f8a1c0d authored by Lin Jen-Shin's avatar Lin Jen-Shin

Just use the url from options, not saving it as a column

parent 20dcd522
......@@ -26,10 +26,6 @@ def persisted_environment
validates :coverage, numericality: true, allow_blank: true
validates :ref, presence: true
validates :environment_url,
length: { maximum: 255 },
allow_nil: true,
addressable_url: true
scope :unstarted, ->() { where(runner_id: nil) }
scope :ignore_failures, ->() { where(allow_failure: false) }
......@@ -147,6 +143,10 @@ def expanded_environment_url
environment_url
end
def environment_url
options.dig(:environment, :url)
end
def has_environment?
environment.present?
end
......
......@@ -2,8 +2,8 @@ module Ci
class RetryBuildService < ::BaseService
CLONE_ACCESSORS = %i[pipeline project ref tag options commands name
allow_failure stage stage_idx trigger_request
yaml_variables when environment environment_url
coverage_regex description tag_list].freeze
yaml_variables when environment coverage_regex
description tag_list].freeze
def execute(build)
reprocess!(build).tap do |new_build|
......
class AddEnvironmentUrlToCiBuilds < ActiveRecord::Migration
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
def change
add_column(:ci_builds, :environment_url, :string)
end
end
......@@ -233,7 +233,6 @@
t.string "coverage_regex"
t.integer "auto_canceled_by_id"
t.boolean "retried"
t.string "environment_url"
end
add_index "ci_builds", ["auto_canceled_by_id"], name: "index_ci_builds_on_auto_canceled_by_id", using: :btree
......@@ -1493,4 +1492,4 @@
add_foreign_key "trending_projects", "projects", on_delete: :cascade
add_foreign_key "u2f_registrations", "users"
add_foreign_key "web_hook_logs", "web_hooks", on_delete: :cascade
end
end
\ No newline at end of file
......@@ -61,7 +61,6 @@ def build_attributes(name)
allow_failure: job[:ignore],
when: job[:when] || 'on_success',
environment: job[:environment_name],
environment_url: job[:environment_url],
coverage_regex: job[:coverage],
yaml_variables: yaml_variables(name),
options: {
......
......@@ -141,7 +141,6 @@ def to_hash
variables: variables_defined? ? variables_value : nil,
environment: environment_defined? ? environment_value : nil,
environment_name: environment_defined? ? environment_value[:name] : nil,
environment_url: environment_defined? ? environment_value[:url] : nil,
coverage: coverage_defined? ? coverage_value : nil,
artifacts: artifacts_value,
after_script: after_script_value,
......
......@@ -63,7 +63,6 @@
trait :teardown_environment do
environment 'staging'
environment_url 'http://staging.example.com/$CI_JOB_NAME'
options environment: { name: 'staging',
action: 'stop',
url: 'http://staging.example.com/$CI_JOB_NAME' }
......
......@@ -105,7 +105,6 @@ module Ci
allow_failure: false,
when: "on_success",
environment: nil,
environment_url: nil,
yaml_variables: []
})
end
......@@ -524,7 +523,6 @@ module Ci
allow_failure: false,
when: "on_success",
environment: nil,
environment_url: nil,
yaml_variables: []
})
end
......@@ -554,7 +552,6 @@ module Ci
allow_failure: false,
when: "on_success",
environment: nil,
environment_url: nil,
yaml_variables: []
})
end
......@@ -801,7 +798,6 @@ module Ci
when: "on_success",
allow_failure: false,
environment: nil,
environment_url: nil,
yaml_variables: []
})
end
......@@ -853,7 +849,6 @@ module Ci
it 'does return production and URL' do
expect(builds.size).to eq(1)
expect(builds.first[:environment]).to eq(environment[:name])
expect(builds.first[:environment_url]).to eq(environment[:url])
expect(builds.first[:options]).to include(environment: environment)
end
......@@ -866,7 +861,6 @@ module Ci
it 'allows a variable for the port' do
expect(builds.size).to eq(1)
expect(builds.first[:environment]).to eq(environment[:name])
expect(builds.first[:environment_url]).to eq(environment[:url])
expect(builds.first[:options]).to include(environment: environment)
end
end
......@@ -1007,7 +1001,6 @@ module Ci
when: "on_success",
allow_failure: false,
environment: nil,
environment_url: nil,
yaml_variables: []
})
end
......@@ -1054,7 +1047,6 @@ module Ci
when: "on_success",
allow_failure: false,
environment: nil,
environment_url: nil,
yaml_variables: []
})
expect(subject.second).to eq({
......@@ -1068,7 +1060,6 @@ module Ci
when: "on_success",
allow_failure: false,
environment: nil,
environment_url: nil,
yaml_variables: []
})
end
......
......@@ -225,7 +225,6 @@ CommitStatus:
- erased_at
- artifacts_expire_at
- environment
- environment_url
- artifacts_size
- when
- yaml_variables
......
......@@ -20,7 +20,6 @@
it { is_expected.to validate_presence_of(:ref) }
it { is_expected.to respond_to(:has_trace?) }
it { is_expected.to respond_to(:trace) }
it { is_expected.to validate_length_of(:environment_url).is_at_most(255) }
describe '#actionize' do
context 'when build is a created' do
......@@ -435,7 +434,7 @@
let(:build) do
create(:ci_build,
ref: 'master',
environment_url: 'http://review/$CI_COMMIT_REF_NAME')
options: { environment: { url: 'http://review/$CI_COMMIT_REF_NAME' } })
end
it { is_expected.to eq('http://review/master') }
......@@ -445,7 +444,7 @@
let(:build) do
create(:ci_build,
yaml_variables: [{ key: :APP_HOST, value: 'host' }],
environment_url: 'http://review/$APP_HOST')
options: { environment: { url: 'http://review/$APP_HOST' } })
end
it { is_expected.to eq('http://review/host') }
......@@ -1244,7 +1243,7 @@ def create_mr(build, pipeline, factory: :merge_request, created_at: Time.now)
context 'when the URL was set from the job' do
before do
build.update(environment_url: 'http://host/$CI_JOB_NAME')
build.update(options: { environment: { url: 'http://host/$CI_JOB_NAME' } })
end
it_behaves_like 'containing environment variables'
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment