diff options
-rw-r--r-- | app/assets/javascripts/repository/components/last_commit.vue | 8 | ||||
-rw-r--r-- | app/models/project_wiki.rb | 6 | ||||
-rw-r--r-- | app/models/wiki_page.rb | 5 | ||||
-rw-r--r-- | app/serializers/job_artifact_report_entity.rb | 2 | ||||
-rw-r--r-- | db/migrate/20190910211526_create_packages_conan_file_metadata.rb | 18 | ||||
-rw-r--r-- | db/migrate/20191029125305_create_packages_conan_metadata.rb | 16 | ||||
-rw-r--r-- | db/post_migrate/20191022113635_nullify_feature_flag_plaintext_tokens.rb | 39 | ||||
-rw-r--r-- | db/schema.rb | 22 | ||||
-rw-r--r-- | doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md | 2 | ||||
-rw-r--r-- | doc/user/packages/conan_repository/index.md | 2 | ||||
-rw-r--r-- | lib/gitlab/git/wiki.rb | 8 | ||||
-rw-r--r-- | lib/gitlab/gitaly_client/wiki_service.rb | 12 | ||||
-rw-r--r-- | spec/models/wiki_page_spec.rb | 11 | ||||
-rw-r--r-- | spec/serializers/job_artifact_report_entity_spec.rb | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | vendor/gitignore/C++.gitignore | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | vendor/gitignore/Java.gitignore | 0 |
16 files changed, 106 insertions, 47 deletions
diff --git a/app/assets/javascripts/repository/components/last_commit.vue b/app/assets/javascripts/repository/components/last_commit.vue index d59a2a891ac..5cbe8d6247a 100644 --- a/app/assets/javascripts/repository/components/last_commit.vue +++ b/app/assets/javascripts/repository/components/last_commit.vue @@ -81,7 +81,7 @@ export default { <template> <div class="info-well d-none d-sm-flex project-last-commit commit p-3"> - <gl-loading-icon v-if="isLoading" size="md" class="mx-auto" /> + <gl-loading-icon v-if="isLoading" size="md" class="m-auto" /> <template v-else> <user-avatar-link v-if="commit.author" @@ -155,3 +155,9 @@ export default { </template> </div> </template> + +<style scoped> +.commit { + min-height: 4.75rem; +} +</style> diff --git a/app/models/project_wiki.rb b/app/models/project_wiki.rb index bb222ac7629..f02ccd9e55e 100644 --- a/app/models/project_wiki.rb +++ b/app/models/project_wiki.rb @@ -160,12 +160,6 @@ class ProjectWiki update_project_activity end - def page_formatted_data(page) - page_title, page_dir = page_title_and_dir(page.title) - - wiki.page_formatted_data(title: page_title, dir: page_dir, version: page.version) - end - def page_title_and_dir(title) return unless title diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 68241d2bd95..f9c562364cb 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -112,11 +112,6 @@ class WikiPage wiki.page_title_and_dir(slug)&.last.to_s end - # The processed/formatted content of this page. - def formatted_content - @attributes[:formatted_content] ||= @wiki.page_formatted_data(@page) - end - # The markup format for the page. def format @attributes[:format] || :markdown diff --git a/app/serializers/job_artifact_report_entity.rb b/app/serializers/job_artifact_report_entity.rb index 4280351a6b0..bdab8f64785 100644 --- a/app/serializers/job_artifact_report_entity.rb +++ b/app/serializers/job_artifact_report_entity.rb @@ -8,6 +8,6 @@ class JobArtifactReportEntity < Grape::Entity expose :size expose :download_path do |artifact| - download_project_job_artifacts_path(artifact.job.project, artifact.job, file_type: artifact.file_format) + download_project_job_artifacts_path(artifact.job.project, artifact.job, file_type: artifact.file_type) end end diff --git a/db/migrate/20190910211526_create_packages_conan_file_metadata.rb b/db/migrate/20190910211526_create_packages_conan_file_metadata.rb new file mode 100644 index 00000000000..0f8dacb72de --- /dev/null +++ b/db/migrate/20190910211526_create_packages_conan_file_metadata.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +class CreatePackagesConanFileMetadata < ActiveRecord::Migration[5.2] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + create_table :packages_conan_file_metadata do |t| + t.references :package_file, index: { unique: true }, null: false, foreign_key: { to_table: :packages_package_files, on_delete: :cascade }, type: :bigint + t.timestamps_with_timezone + t.string "recipe_revision", null: false, default: "0", limit: 255 + t.string "package_revision", limit: 255 + t.string "conan_package_reference", limit: 255 + t.integer "conan_file_type", limit: 2, null: false + end + end +end diff --git a/db/migrate/20191029125305_create_packages_conan_metadata.rb b/db/migrate/20191029125305_create_packages_conan_metadata.rb new file mode 100644 index 00000000000..c6abc509e41 --- /dev/null +++ b/db/migrate/20191029125305_create_packages_conan_metadata.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class CreatePackagesConanMetadata < ActiveRecord::Migration[5.2] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + create_table :packages_conan_metadata do |t| + t.references :package, index: { unique: true }, null: false, foreign_key: { to_table: :packages_packages, on_delete: :cascade }, type: :bigint + t.timestamps_with_timezone + t.string "package_username", null: false, limit: 255 + t.string "package_channel", null: false, limit: 255 + end + end +end diff --git a/db/post_migrate/20191022113635_nullify_feature_flag_plaintext_tokens.rb b/db/post_migrate/20191022113635_nullify_feature_flag_plaintext_tokens.rb new file mode 100644 index 00000000000..9ade1454844 --- /dev/null +++ b/db/post_migrate/20191022113635_nullify_feature_flag_plaintext_tokens.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +class NullifyFeatureFlagPlaintextTokens < ActiveRecord::Migration[5.2] + DOWNTIME = false + + class FeatureFlagsClient < ActiveRecord::Base + include EachBatch + + self.table_name = 'operations_feature_flags_clients' + + scope :with_encrypted_token, -> { where.not(token_encrypted: nil) } + scope :with_plaintext_token, -> { where.not(token: nil) } + scope :without_plaintext_token, -> { where(token: nil) } + end + + disable_ddl_transaction! + + def up + return unless Gitlab.ee? + + # 7357 records to be updated on GitLab.com + FeatureFlagsClient.with_encrypted_token.with_plaintext_token.each_batch do |relation| + relation.update_all(token: nil) + end + end + + def down + return unless Gitlab.ee? + + # There is no way to restore only the tokens that were NULLifyed in the `up` + # but we can do is to restore _all_ of them in case it is needed. + say_with_time('Decrypting tokens from operations_feature_flags_clients') do + FeatureFlagsClient.with_encrypted_token.without_plaintext_token.find_each do |feature_flags_client| + token = Gitlab::CryptoHelper.aes256_gcm_decrypt(feature_flags_client.token_encrypted) + feature_flags_client.update_column(:token, token) + end + end + end +end diff --git a/db/schema.rb b/db/schema.rb index f6a445f3da6..58cc20d6e40 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -2653,6 +2653,26 @@ ActiveRecord::Schema.define(version: 2019_10_29_191901) do t.index ["project_id", "token_encrypted"], name: "index_feature_flags_clients_on_project_id_and_token_encrypted", unique: true end + create_table "packages_conan_file_metadata", force: :cascade do |t| + t.bigint "package_file_id", null: false + t.datetime_with_timezone "created_at", null: false + t.datetime_with_timezone "updated_at", null: false + t.string "recipe_revision", limit: 255, default: "0", null: false + t.string "package_revision", limit: 255 + t.string "conan_package_reference", limit: 255 + t.integer "conan_file_type", limit: 2, null: false + t.index ["package_file_id"], name: "index_packages_conan_file_metadata_on_package_file_id", unique: true + end + + create_table "packages_conan_metadata", force: :cascade do |t| + t.bigint "package_id", null: false + t.datetime_with_timezone "created_at", null: false + t.datetime_with_timezone "updated_at", null: false + t.string "package_username", limit: 255, null: false + t.string "package_channel", limit: 255, null: false + t.index ["package_id"], name: "index_packages_conan_metadata_on_package_id", unique: true + end + create_table "packages_maven_metadata", force: :cascade do |t| t.bigint "package_id", null: false t.datetime_with_timezone "created_at", null: false @@ -4326,6 +4346,8 @@ ActiveRecord::Schema.define(version: 2019_10_29_191901) do add_foreign_key "operations_feature_flag_scopes", "operations_feature_flags", column: "feature_flag_id", on_delete: :cascade add_foreign_key "operations_feature_flags", "projects", on_delete: :cascade add_foreign_key "operations_feature_flags_clients", "projects", on_delete: :cascade + add_foreign_key "packages_conan_file_metadata", "packages_package_files", column: "package_file_id", on_delete: :cascade + add_foreign_key "packages_conan_metadata", "packages_packages", column: "package_id", on_delete: :cascade add_foreign_key "packages_maven_metadata", "packages_packages", column: "package_id", name: "fk_be88aed360", on_delete: :cascade add_foreign_key "packages_package_files", "packages_packages", column: "package_id", name: "fk_86f0f182f8", on_delete: :cascade add_foreign_key "packages_package_metadata", "packages_packages", column: "package_id", on_delete: :cascade diff --git a/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md b/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md index dfe38a39be6..dd220d0871d 100644 --- a/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md +++ b/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md @@ -715,7 +715,7 @@ For more information, see the [confidential issue](../../user/project/issues/con ```ruby Ci::Pipeline.where(project_id: p.id).where(status: 'pending').count -Ci::Pipeline.where(project_id: p.id).where(status: 'pending').each {|p| p.cancel} +Ci::Pipeline.where(project_id: p.id).where(status: 'pending').each {|p| p.cancel if p.stuck?} Ci::Pipeline.where(project_id: p.id).where(status: 'pending').count ``` diff --git a/doc/user/packages/conan_repository/index.md b/doc/user/packages/conan_repository/index.md index f81756f7979..953c7472f4d 100644 --- a/doc/user/packages/conan_repository/index.md +++ b/doc/user/packages/conan_repository/index.md @@ -1,6 +1,6 @@ # GitLab Conan Repository **(PREMIUM)** -> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/8248) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.4. +> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/8248) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.5. With the GitLab Conan Repository, every project can have its own space to store Conan packages. diff --git a/lib/gitlab/git/wiki.rb b/lib/gitlab/git/wiki.rb index c1bcd8e934a..3025fc6bfdb 100644 --- a/lib/gitlab/git/wiki.rb +++ b/lib/gitlab/git/wiki.rb @@ -133,14 +133,6 @@ module Gitlab GollumSlug.generate(title, format) end - def page_formatted_data(title:, dir: nil, version: nil) - version = version&.id - - wrapped_gitaly_errors do - gitaly_wiki_client.get_formatted_data(title: title, dir: dir, version: version) - end - end - private def gitaly_wiki_client diff --git a/lib/gitlab/gitaly_client/wiki_service.rb b/lib/gitlab/gitaly_client/wiki_service.rb index 15e0d7349dd..9034edb6263 100644 --- a/lib/gitlab/gitaly_client/wiki_service.rb +++ b/lib/gitlab/gitaly_client/wiki_service.rb @@ -179,18 +179,6 @@ module Gitlab wiki_file end - def get_formatted_data(title:, dir: nil, version: nil) - request = Gitaly::WikiGetFormattedDataRequest.new( - repository: @gitaly_repo, - title: encode_binary(title), - revision: encode_binary(version), - directory: encode_binary(dir) - ) - - response = GitalyClient.call(@repository.storage, :wiki_service, :wiki_get_formatted_data, request, timeout: GitalyClient.medium_timeout) - response.reduce([]) { |memo, msg| memo << msg.data }.join - end - private # If a block is given and the yielded value is truthy, iteration will be diff --git a/spec/models/wiki_page_spec.rb b/spec/models/wiki_page_spec.rb index 9014276dcf8..a7c28519c5a 100644 --- a/spec/models/wiki_page_spec.rb +++ b/spec/models/wiki_page_spec.rb @@ -563,17 +563,6 @@ describe WikiPage do end end - describe '#formatted_content' do - it 'returns processed content of the page' do - subject.create({ title: "RDoc", content: "*bold*", format: "rdoc" }) - page = wiki.find_page('RDoc') - - expect(page.formatted_content).to eq("\n<p><strong>bold</strong></p>\n") - - destroy_page('RDoc') - end - end - describe '#hook_attrs' do it 'adds absolute urls for images in the content' do create_page("test page", "test![WikiPage_Image](/uploads/abc/WikiPage_Image.png)") diff --git a/spec/serializers/job_artifact_report_entity_spec.rb b/spec/serializers/job_artifact_report_entity_spec.rb index eef5c16d0fb..3cd12f0e9fe 100644 --- a/spec/serializers/job_artifact_report_entity_spec.rb +++ b/spec/serializers/job_artifact_report_entity_spec.rb @@ -22,7 +22,7 @@ describe JobArtifactReportEntity do end it 'exposes download path' do - expect(subject[:download_path]).to include("jobs/#{report.job.id}/artifacts/download") + expect(subject[:download_path]).to include("jobs/#{report.job.id}/artifacts/download?file_type=#{report.file_type}") end end end diff --git a/vendor/gitignore/C++.gitignore b/vendor/gitignore/C++.gitignore index 259148fa18f..259148fa18f 100755..100644 --- a/vendor/gitignore/C++.gitignore +++ b/vendor/gitignore/C++.gitignore diff --git a/vendor/gitignore/Java.gitignore b/vendor/gitignore/Java.gitignore index a1c2a238a96..a1c2a238a96 100755..100644 --- a/vendor/gitignore/Java.gitignore +++ b/vendor/gitignore/Java.gitignore |