From 30b8ea126ffffc9bef610d38f8ebcd91bb687aba Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 31 Oct 2022 18:09:25 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/build-images.gitlab-ci.yml | 11 +- .gitlab/ci/frontend.gitlab-ci.yml | 5 +- .../ci/package-and-test/main.gitlab-ci.yml | 41 ++-- .gitlab/ci/qa.gitlab-ci.yml | 2 + .gitlab/ci/review-apps/main.gitlab-ci.yml | 5 +- .gitlab/ci/review.gitlab-ci.yml | 2 + Dockerfile.assets | 2 +- app/assets/javascripts/boards/graphql.js | 15 -- app/assets/javascripts/boards/index.js | 4 +- .../javascripts/boards/stores/actions.js | 5 +- .../graphql_shared/issuable_client.js | 11 +- .../components/experiment.vue | 36 +++ .../components/incubation_alert.vue | 48 ++++ .../projects/ml/experiments/show/index.js | 31 +++ .../pipeline_mini_graph/pipeline_stage.vue | 14 +- .../stylesheets/_page_specific_files.scss | 1 + .../pages/ml_experiment_tracking.scss | 16 ++ app/assets/stylesheets/pages/search.scss | 7 - .../projects/ml/experiments_controller.rb | 32 +++ app/helpers/markup_helper.rb | 93 +++----- app/helpers/projects/ml/experiments_helper.rb | 24 ++ app/models/ml/candidate.rb | 3 + app/models/ml/candidate_metric.rb | 2 + app/models/ml/experiment.rb | 2 +- app/services/markup/rendering_service.rb | 79 +++++++ .../packages/rpm/parse_package_service.rb | 3 +- .../build_filelist_xml_service.rb | 39 +++ .../build_other_xml_service.rb | 12 +- .../build_primary_xml_service.rb | 12 +- .../build_repomd_xml_service.rb | 12 +- .../build_xml_base_service.rb | 22 ++ .../repository_metadata/update_xml_service.rb | 3 +- .../ml/experiments/_experiment.html.haml | 3 + .../ml/experiments/_experiment_list.html.haml | 7 + .../experiments/_incubation_banner.html.haml | 8 + .../projects/ml/experiments/index.html.haml | 11 + .../projects/ml/experiments/show.html.haml | 14 ++ config/open_api.yml | 4 + config/routes/project.rb | 4 + db/structure.sql | 20 +- doc/administration/consul.md | 2 +- .../geo/replication/docker_registry.md | 11 - doc/administration/geo/replication/faq.md | 10 +- .../geo/replication/security_review.md | 10 +- .../geo/replication/troubleshooting.md | 3 +- .../geo/setup/external_database.md | 2 +- doc/administration/gitaly/configure_gitaly.md | 4 +- doc/administration/logs.md | 11 - doc/administration/maintenance_mode/index.md | 2 +- .../monitoring/performance/index.md | 2 +- .../monitoring/prometheus/gitlab_metrics.md | 2 +- doc/administration/nfs.md | 4 +- doc/administration/object_storage.md | 6 +- .../package_information/omnibus_packages.md | 2 +- doc/administration/pages/index.md | 4 +- doc/administration/polling.md | 4 +- doc/administration/redis/troubleshooting.md | 4 +- .../reference_architectures/2k_users.md | 4 +- .../reference_architectures/index.md | 4 +- .../troubleshooting.md | 11 - doc/administration/troubleshooting/debug.md | 11 - doc/administration/troubleshooting/defcon.md | 11 - .../troubleshooting/group_saml_scim.md | 11 - .../troubleshooting/kubernetes_cheat_sheet.md | 11 - .../troubleshooting/log_parsing.md | 11 - .../navigating_gitlab_via_rails_console.md | 11 - doc/api/issues.md | 4 +- doc/api/lint.md | 2 +- doc/ci/cloud_deployment/index.md | 2 +- doc/ci/cloud_services/azure/index.md | 20 +- doc/ci/environments/environments_dashboard.md | 2 +- .../index.md | 32 +-- .../deployment/composer-npm-deploy.md | 2 +- doc/ci/jobs/ci_job_token.md | 4 +- doc/ci/jobs/job_control.md | 4 +- doc/ci/migration/jenkins.md | 8 +- doc/ci/pipelines/cicd_minutes.md | 2 +- doc/ci/pipelines/index.md | 4 +- doc/ci/pipelines/pipeline_architectures.md | 2 +- doc/ci/pipelines/pipeline_efficiency.md | 2 +- doc/ci/secrets/index.md | 12 +- doc/ci/yaml/index.md | 2 +- doc/development/audit_event_guide/index.md | 2 +- doc/development/code_review.md | 6 +- doc/development/contributing/design.md | 2 +- doc/development/development_processes.md | 2 +- doc/development/fips_compliance.md | 2 +- doc/development/gemfile.md | 2 +- .../licensed_feature_availability.md | 11 - .../widget_extensions.md | 11 - doc/development/secure_coding_guidelines.md | 4 +- doc/development/service_ping/index.md | 2 +- doc/development/snowplow/implementation.md | 10 +- doc/development/snowplow/index.md | 11 +- doc/development/snowplow/schemas.md | 19 +- .../end_to_end/rspec_metadata_tests.md | 2 +- doc/development/work_items.md | 16 +- doc/install/migrate/compare_sm_to_saas.md | 4 +- doc/install/requirements.md | 2 +- doc/integration/jenkins_deprecated.md | 13 - doc/integration/vault.md | 10 +- .../incident_timeline_events.md | 4 +- doc/subscriptions/gitlab_com/index.md | 2 +- doc/subscriptions/gitlab_dedicated/index.md | 2 +- doc/subscriptions/index.md | 4 +- doc/subscriptions/self_managed/index.md | 2 +- doc/user/admin_area/geo_nodes.md | 11 - doc/user/admin_area/license.md | 2 +- .../application_security/api_fuzzing/index.md | 33 ++- doc/user/feature_highlight.md | 11 - .../management_project_applications/vault.md | 12 +- .../project/clusters/kubernetes_pod_logs.md | 12 - doc/user/project/import/tfvc.md | 2 +- .../getting_started/pages_from_scratch.md | 2 +- doc/user/project/pages/index.md | 2 +- doc/user/usage_quotas.md | 2 +- lib/api/api.rb | 4 +- lib/api/deploy_tokens.rb | 58 +++-- lib/api/entities/freeze_period.rb | 8 +- lib/api/freeze_periods.rb | 45 ++-- .../content_security_policy/config_loader.rb | 2 +- locale/gitlab.pot | 27 +++ rubocop/cop/gitlab/rspec/avoid_setup.rb | 2 +- scripts/build_assets_image | 70 ++++-- scripts/rspec_helpers.sh | 3 + scripts/trigger-build.rb | 15 +- scripts/utils.sh | 16 +- spec/fixtures/packages/rpm/payload.json | 3 + spec/frontend/boards/stores/actions_spec.js | 18 +- .../__snapshots__/experiment_spec.js.snap | 223 ++++++++++++++++++ .../components/experiment_spec.js | 44 ++++ .../components/incubation_alert_spec.js | 27 +++ .../components/work_item_assignees_spec.js | 4 +- .../components/work_item_detail_spec.js | 4 +- .../components/work_item_milestone_spec.js | 4 +- spec/helpers/markup_helper_spec.rb | 149 ++---------- .../projects/ml/experiments_helper_spec.rb | 49 ++++ .../config_loader_spec.rb | 12 + spec/models/ml/candidate_metric_spec.rb | 13 + spec/models/ml/candidate_spec.rb | 22 ++ .../ml/experiments_controller_spec.rb | 86 +++++++ spec/scripts/trigger-build_spec.rb | 23 ++ .../services/markup/rendering_service_spec.rb | 163 +++++++++++++ .../build_filelist_xml_service_spec.rb | 54 +++++ .../build_other_xml_service_spec.rb | 24 +- .../build_primary_xml_service_spec.rb | 20 +- .../update_xml_service_spec.rb | 22 ++ .../tooling/rspec_flaky/flaky_example_spec.rb | 79 ++----- tooling/rspec_flaky/flaky_example.rb | 7 +- tooling/rspec_flaky/listener.rb | 2 +- 150 files changed, 1675 insertions(+), 798 deletions(-) delete mode 100644 app/assets/javascripts/boards/graphql.js create mode 100644 app/assets/javascripts/ml/experiment_tracking/components/experiment.vue create mode 100644 app/assets/javascripts/ml/experiment_tracking/components/incubation_alert.vue create mode 100644 app/assets/javascripts/pages/projects/ml/experiments/show/index.js create mode 100644 app/assets/stylesheets/pages/ml_experiment_tracking.scss create mode 100644 app/controllers/projects/ml/experiments_controller.rb create mode 100644 app/helpers/projects/ml/experiments_helper.rb create mode 100644 app/services/markup/rendering_service.rb create mode 100644 app/services/packages/rpm/repository_metadata/build_filelist_xml_service.rb create mode 100644 app/services/packages/rpm/repository_metadata/build_xml_base_service.rb create mode 100644 app/views/projects/ml/experiments/_experiment.html.haml create mode 100644 app/views/projects/ml/experiments/_experiment_list.html.haml create mode 100644 app/views/projects/ml/experiments/_incubation_banner.html.haml create mode 100644 app/views/projects/ml/experiments/index.html.haml create mode 100644 app/views/projects/ml/experiments/show.html.haml delete mode 100644 doc/administration/geo/replication/docker_registry.md delete mode 100644 doc/administration/logs.md delete mode 100644 doc/administration/reference_architectures/troubleshooting.md delete mode 100644 doc/administration/troubleshooting/debug.md delete mode 100644 doc/administration/troubleshooting/defcon.md delete mode 100644 doc/administration/troubleshooting/group_saml_scim.md delete mode 100644 doc/administration/troubleshooting/kubernetes_cheat_sheet.md delete mode 100644 doc/administration/troubleshooting/log_parsing.md delete mode 100644 doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md delete mode 100644 doc/development/licensed_feature_availability.md delete mode 100644 doc/development/merge_request_concepts/widget_extensions.md delete mode 100644 doc/integration/jenkins_deprecated.md delete mode 100644 doc/user/admin_area/geo_nodes.md delete mode 100644 doc/user/feature_highlight.md delete mode 100644 doc/user/project/clusters/kubernetes_pod_logs.md create mode 100644 spec/frontend/ml/experiment_tracking/components/__snapshots__/experiment_spec.js.snap create mode 100644 spec/frontend/ml/experiment_tracking/components/experiment_spec.js create mode 100644 spec/frontend/ml/experiment_tracking/components/incubation_alert_spec.js create mode 100644 spec/helpers/projects/ml/experiments_helper_spec.rb create mode 100644 spec/requests/projects/ml/experiments_controller_spec.rb create mode 100644 spec/services/markup/rendering_service_spec.rb create mode 100644 spec/services/packages/rpm/repository_metadata/build_filelist_xml_service_spec.rb diff --git a/.gitlab/ci/build-images.gitlab-ci.yml b/.gitlab/ci/build-images.gitlab-ci.yml index 3c7056a92c1..bb18ba12c4b 100644 --- a/.gitlab/ci/build-images.gitlab-ci.yml +++ b/.gitlab/ci/build-images.gitlab-ci.yml @@ -18,7 +18,7 @@ build-qa-image: - ./scripts/build_qa_image # This image is used by: -# - The `CNG` pipelines (via the `review-build-cng` job): https://gitlab.com/gitlab-org/build/CNG/-/blob/cfc67136d711e1c8c409bf8e57427a644393da2f/.gitlab-ci.yml#L335 +# - The `CNG` downstream pipelines (we pass the image tag via the `review-build-cng` job): https://gitlab.com/gitlab-org/gitlab/-/blob/c34e0834b01cd45c1f69a01b5e38dd6bc505f903/.gitlab/ci/review-apps/main.gitlab-ci.yml#L69 # - The `omnibus-gitlab` pipelines (via the `e2e:package-and-test` job): https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/dfd1ad475868fc84e91ab7b5706aa03e46dc3a86/.gitlab-ci.yml#L130 build-assets-image: extends: @@ -27,7 +27,10 @@ build-assets-image: stage: build-images needs: ["compile-production-assets"] script: - # TODO: Change the image tag to be the MD5 of assets files and skip image building if the image exists - # We'll also need to pass GITLAB_ASSETS_TAG to the trigerred omnibus-gitlab pipeline similarly to how we do it for trigerred CNG pipelines - # https://gitlab.com/gitlab-org/gitlab/issues/208389 - run_timed_command "scripts/build_assets_image" + artifacts: + expire_in: 7 days + paths: + # The `cached-assets-hash.txt` file is used in `review-build-cng-env` (`.gitlab/ci/review-apps/main.gitlab-ci.yml`) + # to pass the assets image tag to the CNG downstream pipeline. + - cached-assets-hash.txt diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 085c0aa890d..fdc53ac6218 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -23,6 +23,7 @@ gitlab_assets_archive_doesnt_exist || run_timed_command "download_and_extract_gitlab_assets" fi - assets_compile_script + - echo -n "${GITLAB_ASSETS_HASH}" > "cached-assets-hash.txt" compile-production-assets: extends: @@ -38,6 +39,7 @@ compile-production-assets: # These assets are used in multiple locations: # - in `build-assets-image` job to create assets image for packaging systems # - GitLab UI for integration tests: https://gitlab.com/gitlab-org/gitlab-ui/-/blob/e88493b3c855aea30bf60baee692a64606b0eb1e/.storybook/preview-head.pug#L1 + - cached-assets-hash.txt - public/assets/ - "${WEBPACK_COMPILE_LOG_PATH}" when: always @@ -68,9 +70,6 @@ update-assets-compile-production-cache: - .assets-compile-cache-push - .shared:rules:update-cache stage: prepare - script: - - !reference [compile-production-assets, script] - - echo -n "${GITLAB_ASSETS_HASH}" > "cached-assets-hash.txt" artifacts: {} # This job's purpose is only to update the cache. update-assets-compile-test-cache: diff --git a/.gitlab/ci/package-and-test/main.gitlab-ci.yml b/.gitlab/ci/package-and-test/main.gitlab-ci.yml index 50b0b3531c7..64408838472 100644 --- a/.gitlab/ci/package-and-test/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/main.gitlab-ci.yml @@ -4,6 +4,7 @@ default: interruptible: true include: + - local: .gitlab/ci/global.gitlab-ci.yml - local: .gitlab/ci/package-and-test/rules.gitlab-ci.yml - local: .gitlab/ci/package-and-test/variables.gitlab-ci.yml - project: gitlab-org/quality/pipeline-common @@ -38,23 +39,6 @@ stages: extends: - .gitlab-qa-install -.omnibus-env: - variables: - BUILD_ENV: build.env - script: - - | - SECURITY_SOURCES=$([[ ! "$CI_PROJECT_NAMESPACE" =~ ^gitlab-org\/security ]] || echo "true") - echo "SECURITY_SOURCES=${SECURITY_SOURCES:-false}" > $BUILD_ENV - echo "OMNIBUS_GITLAB_CACHE_UPDATE=${OMNIBUS_GITLAB_CACHE_UPDATE:-false}" >> $BUILD_ENV - for version_file in *_VERSION; do echo "$version_file=$(cat $version_file)" >> $BUILD_ENV; done - echo "OMNIBUS_GITLAB_RUBY3_BUILD=${OMNIBUS_GITLAB_RUBY3_BUILD:-false}" >> $BUILD_ENV - echo "OMNIBUS_GITLAB_CACHE_EDITION=${OMNIBUS_GITLAB_CACHE_EDITION:-GITLAB}" >> $BUILD_ENV - echo "Built environment file for omnibus build:" - cat $BUILD_ENV - artifacts: - reports: - dotenv: $BUILD_ENV - .update-script: script: - export QA_COMMAND="bundle exec gitlab-qa Test::Omnibus::UpdateFromPrevious $RELEASE $GITLAB_VERSION $UPDATE_TYPE -- $QA_RSPEC_TAGS $RSPEC_REPORT_OPTS" @@ -108,9 +92,29 @@ dont-interrupt-me: trigger-omnibus-env: extends: - - .omnibus-env + - .default-utils-before_script - .rules:omnibus-build stage: .pre + needs: + # We need this job because we need its `cached-assets-hash.txt` artifact, so that we can pass the assets image tag to the downstream omnibus-gitlab pipeline. + - pipeline: $PARENT_PIPELINE_ID + job: build-assets-image + variables: + BUILD_ENV: build.env + script: + - | + SECURITY_SOURCES=$([[ ! "$CI_PROJECT_NAMESPACE" =~ ^gitlab-org\/security ]] || echo "true") + echo "SECURITY_SOURCES=${SECURITY_SOURCES:-false}" > $BUILD_ENV + echo "OMNIBUS_GITLAB_CACHE_UPDATE=${OMNIBUS_GITLAB_CACHE_UPDATE:-false}" >> $BUILD_ENV + for version_file in *_VERSION; do echo "$version_file=$(cat $version_file)" >> $BUILD_ENV; done + echo "OMNIBUS_GITLAB_RUBY3_BUILD=${OMNIBUS_GITLAB_RUBY3_BUILD:-false}" >> $BUILD_ENV + echo "OMNIBUS_GITLAB_CACHE_EDITION=${OMNIBUS_GITLAB_CACHE_EDITION:-GITLAB}" >> $BUILD_ENV + echo "GITLAB_ASSETS_TAG=$(assets_image_tag)" >> $BUILD_ENV + echo "Built environment file for omnibus build:" + cat $BUILD_ENV + artifacts: + reports: + dotenv: $BUILD_ENV trigger-omnibus: extends: .rules:omnibus-build @@ -128,6 +132,7 @@ trigger-omnibus: GITLAB_SHELL_VERSION: $GITLAB_SHELL_VERSION GITLAB_WORKHORSE_VERSION: $GITLAB_WORKHORSE_VERSION GITLAB_VERSION: $CI_COMMIT_SHA + GITLAB_ASSETS_TAG: $GITLAB_ASSETS_TAG IMAGE_TAG: $CI_COMMIT_SHA TOP_UPSTREAM_SOURCE_PROJECT: $CI_PROJECT_PATH SECURITY_SOURCES: $SECURITY_SOURCES diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index bd587cb4418..b365827b1c3 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -75,6 +75,8 @@ e2e:package-and-test: - build-qa-image - e2e-test-pipeline-generate variables: + # This is needed by `trigger-omnibus-env` (`.gitlab/ci/package-and-test/main.gitlab-ci.yml`). + PARENT_PIPELINE_ID: $CI_PIPELINE_ID SKIP_MESSAGE: Skipping package-and-test due to mr containing only quarantine changes! RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}" GITLAB_QA_IMAGE: "${CI_REGISTRY_IMAGE}/gitlab-ee-qa:${CI_COMMIT_SHA}" diff --git a/.gitlab/ci/review-apps/main.gitlab-ci.yml b/.gitlab/ci/review-apps/main.gitlab-ci.yml index 1f801e0d803..01725d04c7b 100644 --- a/.gitlab/ci/review-apps/main.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/main.gitlab-ci.yml @@ -34,7 +34,10 @@ review-build-cng-env: - .review:rules:review-build-cng image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:3.0-alpine3.13 stage: prepare - needs: [] + needs: + # We need this job because we need its `cached-assets-hash.txt` artifact, so that we can pass the assets image tag to the downstream CNG pipeline. + - pipeline: $PARENT_PIPELINE_ID + job: build-assets-image before_script: - source ./scripts/utils.sh - install_gitlab_gem diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml index aefa96da159..199f564464d 100644 --- a/.gitlab/ci/review.gitlab-ci.yml +++ b/.gitlab/ci/review.gitlab-ci.yml @@ -33,6 +33,8 @@ start-review-app-pipeline: # They need to be explicitly passed on to the child pipeline. # https://docs.gitlab.com/ee/ci/pipelines/multi_project_pipelines.html#pass-cicd-variables-to-a-downstream-pipeline-by-using-the-variables-keyword variables: + # This is needed by `review-build-cng-env` (`.gitlab/ci/review-apps/main.gitlab-ci.yml`). + PARENT_PIPELINE_ID: $CI_PIPELINE_ID SCHEDULE_TYPE: $SCHEDULE_TYPE DAST_RUN: $DAST_RUN SKIP_MESSAGE: Skipping review-app due to mr containing only quarantine changes! diff --git a/Dockerfile.assets b/Dockerfile.assets index 403d16cc4ab..ba69a614e88 100644 --- a/Dockerfile.assets +++ b/Dockerfile.assets @@ -1,4 +1,4 @@ # Simple container to store assets for later use FROM scratch -ADD public/assets /assets/ +COPY public/assets /assets/ CMD /bin/true diff --git a/app/assets/javascripts/boards/graphql.js b/app/assets/javascripts/boards/graphql.js deleted file mode 100644 index d066a5d002e..00000000000 --- a/app/assets/javascripts/boards/graphql.js +++ /dev/null @@ -1,15 +0,0 @@ -import { defaultDataIdFromObject } from '@apollo/client/core'; -import createDefaultClient from '~/lib/graphql'; - -export const gqlClient = createDefaultClient( - {}, - { - cacheConfig: { - dataIdFromObject: (object) => { - // eslint-disable-next-line no-underscore-dangle - return object.__typename === 'BoardList' ? object.iid : defaultDataIdFromObject(object); - }, - }, - batchMax: 2, - }, -); diff --git a/app/assets/javascripts/boards/index.js b/app/assets/javascripts/boards/index.js index a7003edba47..49be7c06cc2 100644 --- a/app/assets/javascripts/boards/index.js +++ b/app/assets/javascripts/boards/index.js @@ -12,14 +12,14 @@ import { convertObjectPropsToCamelCase, } from '~/lib/utils/common_utils'; import { queryToObject } from '~/lib/utils/url_utility'; +import { defaultClient } from '~/graphql_shared/issuable_client'; import { fullBoardId } from './boards_util'; -import { gqlClient } from './graphql'; Vue.use(VueApollo); Vue.use(PortalVue); const apolloProvider = new VueApollo({ - defaultClient: gqlClient, + defaultClient, }); function mountBoardApp(el) { diff --git a/app/assets/javascripts/boards/stores/actions.js b/app/assets/javascripts/boards/stores/actions.js index c2e346da606..e5437690fd4 100644 --- a/app/assets/javascripts/boards/stores/actions.js +++ b/app/assets/javascripts/boards/stores/actions.js @@ -34,11 +34,11 @@ import issueMoveListMutation from 'ee_else_ce/boards/graphql/issue_move_list.mut import totalCountAndWeightQuery from 'ee_else_ce/boards/graphql/board_lists_deferred.query.graphql'; import { fetchPolicies } from '~/lib/graphql'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; +import { defaultClient as gqlClient } from '~/graphql_shared/issuable_client'; import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; import { queryToObject } from '~/lib/utils/url_utility'; import { s__ } from '~/locale'; import eventHub from '../eventhub'; -import { gqlClient } from '../graphql'; import projectBoardQuery from '../graphql/project_board.query.graphql'; import groupBoardQuery from '../graphql/group_board.query.graphql'; import boardLabelsQuery from '../graphql/board_labels.query.graphql'; @@ -149,6 +149,9 @@ export default { query: listsQuery[issuableType].query, variables, ...(resetLists ? { fetchPolicy: fetchPolicies.NO_CACHE } : {}), + context: { + isSingleRequest: true, + }, }) .then(({ data }) => { const { lists, hideBacklogList } = data[boardType].board; diff --git a/app/assets/javascripts/graphql_shared/issuable_client.js b/app/assets/javascripts/graphql_shared/issuable_client.js index 3b737dfff33..04a6e555bea 100644 --- a/app/assets/javascripts/graphql_shared/issuable_client.js +++ b/app/assets/javascripts/graphql_shared/issuable_client.js @@ -1,14 +1,21 @@ import produce from 'immer'; import VueApollo from 'vue-apollo'; +import { defaultDataIdFromObject } from '@apollo/client/core'; import { concatPagination } from '@apollo/client/utilities'; import getIssueStateQuery from '~/issues/show/queries/get_issue_state.query.graphql'; import createDefaultClient from '~/lib/graphql'; import typeDefs from '~/work_items/graphql/typedefs.graphql'; import { WIDGET_TYPE_MILESTONE } from '~/work_items/constants'; -export const temporaryConfig = { +export const config = { typeDefs, cacheConfig: { + // included temporarily until Vuex is removed from boards app + dataIdFromObject: (object) => { + // eslint-disable-next-line no-underscore-dangle + return object.__typename === 'BoardList' ? object.iid : defaultDataIdFromObject(object); + }, + possibleTypes: { LocalWorkItemWidget: ['LocalWorkItemMilestone'], }, @@ -78,7 +85,7 @@ export const resolvers = { }, }; -export const defaultClient = createDefaultClient(resolvers, temporaryConfig); +export const defaultClient = createDefaultClient(resolvers, config); export const apolloProvider = new VueApollo({ defaultClient, diff --git a/app/assets/javascripts/ml/experiment_tracking/components/experiment.vue b/app/assets/javascripts/ml/experiment_tracking/components/experiment.vue new file mode 100644 index 00000000000..73cdfbc44b0 --- /dev/null +++ b/app/assets/javascripts/ml/experiment_tracking/components/experiment.vue @@ -0,0 +1,36 @@ + + + diff --git a/app/assets/javascripts/ml/experiment_tracking/components/incubation_alert.vue b/app/assets/javascripts/ml/experiment_tracking/components/incubation_alert.vue new file mode 100644 index 00000000000..51c1e935677 --- /dev/null +++ b/app/assets/javascripts/ml/experiment_tracking/components/incubation_alert.vue @@ -0,0 +1,48 @@ + + + diff --git a/app/assets/javascripts/pages/projects/ml/experiments/show/index.js b/app/assets/javascripts/pages/projects/ml/experiments/show/index.js new file mode 100644 index 00000000000..0a9d9f4c987 --- /dev/null +++ b/app/assets/javascripts/pages/projects/ml/experiments/show/index.js @@ -0,0 +1,31 @@ +import Vue from 'vue'; +import ShowExperiment from '~/ml/experiment_tracking/components/experiment.vue'; + +const initShowExperiment = () => { + const element = document.querySelector('#js-show-ml-experiment'); + if (!element) { + return; + } + + const container = document.createElement('div'); + element.appendChild(container); + + const candidates = JSON.parse(element.dataset.candidates); + const metricNames = JSON.parse(element.dataset.metrics); + const paramNames = JSON.parse(element.dataset.params); + + // eslint-disable-next-line no-new + new Vue({ + el: container, + provide: { + candidates, + metricNames, + paramNames, + }, + render(h) { + return h(ShowExperiment); + }, + }); +}; + +initShowExperiment(); diff --git a/app/assets/javascripts/pipelines/components/pipeline_mini_graph/pipeline_stage.vue b/app/assets/javascripts/pipelines/components/pipeline_mini_graph/pipeline_stage.vue index 10a48c83716..ba150919e58 100644 --- a/app/assets/javascripts/pipelines/components/pipeline_mini_graph/pipeline_stage.vue +++ b/app/assets/javascripts/pipelines/components/pipeline_mini_graph/pipeline_stage.vue @@ -137,25 +137,19 @@ export default { :is-active="isDropdownOpen" :size="24" :status="stage.status" - class="gl-align-items-center gl-border gl-display-inline-flex gl-z-index-1" + class="gl-display-inline-flex gl-align-items-center gl-border gl-z-index-1" /> -
+
-

{{ $options.i18n.loadingText }}

+

{{ $options.i18n.loadingText }}