12.1.201907200021-3bf5621fe76.d9c09516772 QA Issue
Process
Each engineer validates and checks off each of their assigned QA task(s).
- Check off each Merge Request changes that you've tested successfully and note any issues you've created and check them off as they are resolved.
- If a problem is found:
- Create an issue for it and add a sub bullet item under the corresponding validation checklist task. Link the issue there.
- Add the severity label
- Raise the problem in the discussion and tag relevant Engineering and Product managers.
- If a regression is found:
- Create an issue for it
- Add the severity label and the regression label
- Raise the regression in the discussion and tag relevant Engineering and Product managers.
General Quality info can be found in the Quality Handbook.
Note: If you are assigned tasks outside your normal work hours, you're not expected to work overtime. Please complete the tasks as soon as possible during your normal work hours.
Deadline
QA testing on staging.gitlab.com for this issue should be completed by 2019-07-21 02:20 UTC. After this deadline has passed, the issue will be closed automatically.
If the deadline has passed, please perform your task as soon as possible anyway (during your normal work hours). It's important that the testing is performed, even if deployment has proceeded to a later stage.
Testing CE only changes
When testing changes in CE specifically, use dev.gitlab.org as it is running a nightly version of GitLab CE. If it is determined that the dev instance does not suffice, create a virtual machine to install the CE package and complete an install to perform the necessary testing. Currently we do not build CE packages to match that of the version in this QA issue. The best course of action would be to find the closest CE package from our nightly repository. packages.gitlab.com/gitlab/nightly-builds
Merge Requests tested in 12.1.201907200021-3bf5621fe76.d9c09516772
Community contribution
Community contribution-
@godfat | Add more file extentions to file type icon class Community contribution UX frontend -
@axil | Rename "discussions" to "threads" in docs Community contribution ~"Documentation" ~"Plan" devopsplan -
@eread | Add example of ENV variables for image and services. Community contribution ~"Documentation" ~"Verify" devopsverify missed:11.11 -
@annabeldunstone | Ensure quick help links have the same color 1st contribution Community contribution -
@stanhu | Convert client_auth_method to a Symbol for quirked OmniAuth providers 1st contribution Community contribution ~"Manage" devopsmanage -
@rpaik | Update markdown.md to remove typo, "test" was left in the documentation 1st contribution Community contribution ~"Documentation" ~"docs-fix" -
@eread | Document openstack object store configuration 1st contribution Community contribution ~"Documentation" Object Storage -
@reprazent | Enable section anchors Community contribution ~"Create" asciidoc devopscreate -
@eread | Add 3rd party parallel tools section to docs 1st contribution Community contribution ~"Documentation" ~"Verify" devopsverify -
@eread | Docs: update Cloudflare's redirect method for Pages Community contribution ~"Documentation" OKR ~"User feedback" ~"devops::release" docs-only ~"pages" -
@mayra-cabrera | Propagate PIP index URL 1st contribution Community contribution ~"Secure" ~"Secure::Software Composition Analysis" ~"dependency scanning" devopssecure ~"feature" -
@eread | fix docs typo: register runner with services 1st contribution Community contribution ~"Documentation" ~"Verify" devopsverify -
@ClemMakesApps | Use backend to determine if issue desc contains zoom link Community contribution ~"Monitor" backend devopsmonitor frontend ~"group::health" -
@nick.thomas | Preserve footnote link ids Community contribution ~"Create" asciidoc devopscreate groupsource code -
@rpaik | typo 1st contribution Community contribution ~"Verify" devopsverify ~"docs-fix" -
@dbalexandre | API: Allow changing only ci_default_git_depth Community contribution ~"Manage" api backend devopsmanage
Plan ~"Plan"
-
@arthanzel | Display boards filter bar on mobile ~"Category::Issue Boards" ~"Plan" ~"bug" devopsplan -
@arthanzel | Display boards filter bar on mobile ~"Category::Issue Boards" ~"Plan" ~"UX ready" ~"bug" depth frontend reproduced on GitLab.com responsive -
@jarka | Fix resource event when a label is removed ~"Plan" ~"bug" devopsplan ~"group::team planning" issues regression:12.1 -
@arthanzel | Fix linebreak rendering in Mermaid flowcharts ~"P3" ~"Plan" ~"S2" ~"bug" devopsplan frontend markdown ~"missed-SLO" regression regression:11.5 reproduced on GitLab.com -
@winh | Support 0 weight in issue sidebar ~"P2" ~"Plan" ~"S3" ~"bug" devopsplan frontend ~"group::team planning" issue weight -
@engwan | Change time tracking units feature release version ~"Documentation" ~"Plan" devopsplan ~"feature" -
@jprovaznik | Remove duplicit events from burndown data ~"Plan" backend ~"bug" devopsplan planning priority -
@arthanzel | Add docs about auto-injected Jest mocks ~"Documentation" ~"Plan" devopsplan -
@winh | Move multiple issue boards frontend to core ~"Category::Issue Boards" ~"Plan" devopsplan ~"feature" frontend stewardship -
@winh | Move multiple issue boards frontend to core (CE-backport) ~"Category::Issue Boards" ~"Documentation" ~"Plan" auto updated customer devopsplan ~"feature" frontend potential proposal stewardship -
@egrieff | Add documentation for bulk editing issue milestones at group level ~"Documentation" ~"Plan" ~"docs:new" ~"feature" issues
Create ~"Create"
-
@mvanremmerden | Resolve "Commit search result doesn't pass WCAG color audit" ~"Create" Deliverable Stretch UI polish UX accessibility ~"bug" frontend ~"group::editor" ~"search" -
@iamphill | Fixed create merge request button not enabling ~"Create" ~"bug" devopscreate frontend -
@iamphill | Added add to tree dropdown to Vue files breadcrumb ~"Create" ~"feature" frontend -
@jareko | Align merge request icons and text ~"Create" UX auto updated ~"bug" devopscreate -
@jareko | Align merge request icons and text ~"Create" UI polish UX ~"bug" -
@igor.drozdov | Reduce the number of Gitaly calls for submodules ~"Create" devopscreate ~"feature" groupsource code ~"performance"
Manage ~"Manage"
-
@wortschi | Skeleton for Productivity Analytics Deliverable GitLab Premium ~"Manage" ~"P1" Persona: Development Team Lead frontend -
@wortschi | Set max width for onboarding popover ~"Manage" devopsmanage frontend -
@wortschi | (CE Port) Set max width for onboarding popover ~"Manage" devopsmanage frontend -
@georgekoltsov | Always return MR diff_refs if importing ~"Manage" backend ~"bug" devopsmanage ~"group::access" ~"project import" -
@lbennett | Hide restricted and disallowed visibility radios ~"Manage" frontend -
@lbennett | Hide restricted and disallowed visibility radios ~"Manage" devopsmanage frontend -
@ahegyi | Port of 57538-normalize-users-private-profile-field to EE ~"Manage" auto updated backend database devopsmanage ~"group::access" schema redesign -
@tristan | Docs: Add more detail to sign-up restrictions ~"Documentation" ~"Manage" devopsmanage ~"support-fix" -
@wortschi | Add date range dropdown for Analytics ~"Manage" devopsmanage frontend -
@manojmj | Resolve "Read and write User "Admin notes" via API" Deliverable ~"Manage" ~"P2" api backend customer devopsmanage ~"estimation:completed" ~"feature" ~"group::access" internal customer security request -
@ifarkas | Move external authorization service API management to EE Deliverable External Authorization GitLab Premium ~"Manage" ~"P2" authorization backend devopsmanage ~"group::access" keep confidential -
@ifarkas | Do Redis lookup in batches in ActiveSession.sessions_from_ids Deliverable ~"Manage" ~"P1" ~"S1" backend devopsmanage gitlab.com ~"group::access" infradev ~"performance"
Verify ~"Verify"
-
@steveazz | Specify what version of multiple extends in docs ~"Category::Continuous Integration" ~"Documentation" ~"Verify" devopsverify ~"feature" ~"group::ci and runner" -
@matteeyah | Create docs for required pipeline config ~"Category::Continuous Integration" ~"Documentation" ~"Verify" devopsverify pipeline -
@matteeyah | Update job artifact download docs ~"Category::Continuous Integration" ~"Documentation" ~"Verify" ~"artifacts" devopsverify ~"docs-fix" docs-only -
@fabiopitino | Remove support for legacy pipeline triggers Deliverable ~"Verify" devopsverify ~"feature" -
@erushton | Add tip about stripping ANSI color codes ~"Verify" devopsverify ~"docs-fix" ~"feature" ~"group::ci and runner" -
@mfluharty | Un-block UI interactions while Code Quality MR widget is loading ~"Category::Code Quality" Deliverable ~"P2" ~"S2" ~"Verify" ~"bug" devopsverify frontend ~"workflow::In review"
Release ~"Release"
-
@marcia | Docs: Pages - refactor "Custom domain / SSL" documentation ~"Documentation" OKR ~"Release" ~"devops::release" ~"pages" -
@dosuken123 | Build cascading train refs for parallel execution of Pipelines for merge trains ~"Category::Continuous Integration" Deliverable GitLab Premium Product Vision FY20 ~"Release" UX ~"UX ready" backend ~"continuous delivery" customer ~"devops::release" direction ~"feature" frontend internal customer maturitylovable ~"rebuild in GitLab" -
@dosuken123 | Enable merge trains project-level config by default ~"Category::Continuous Integration" Deliverable GitLab Premium Product Vision FY20 ~"Release" UX ~"UX ready" backend ~"continuous delivery" customer ~"devops::release" direction ~"feature" frontend internal customer maturitylovable ~"rebuild in GitLab" -
@jagood | Support gradualRolloutUserId for Feature Flags Backend ~"Release" backend ~"devops::release" ~"feature" -
@jagood | Update Release API Documentation ~"Documentation" ~"Release" ~"devops::release" docs-only -
@ebaque | Resolve "Feature flag audit log substitute _
to -
@vshushlin | Fix pages access level defaults Deliverable GitLab.com Priority ~"Release" auto updated backend database databasereviewed ~"devops::release" gitlab.com missed-deliverable missed:11.11 ~"pages" production request -
@vshushlin | Add documentation for Let's Encrypt integration Deliverable ~"Documentation" ~"Release" ~"devops::release" ~"pages" -
@vshushlin | Fix project changes auditor spec ~"Release" ~"audit events" ~"devops::release" master:broken -
@dosuken123 | Documentations for parallel execution strategy for Merge Trains Deliverable ~"Documentation" ~"Merge Trains" ~"Release" ~"devops::release" docs-only -
@afontaine | Import Non-EE JavaScript for Clusters Detail Page ~"Release" ~"bug" regression regression:12.1
Geo ~"Geo"
-
@stanhu | Geo: Increase HTTP read timeout of proxy requests to 60 s ~"Geo" ~"Geo Performance" ~"bug" customer ~"devops::enablement" groupgeo
Gitaly ~"Gitaly"
-
@stanhu | Fix Gitaly auto-detection caching ~"Gitaly" ~"performance"
Package ~"Package"
-
@nkipling | Align container registry empty state with design guidelines ~"Container Registry" ~"Package" UX devopspackage ~"feature" frontend ~"group::package" -
@sabrams | Resolve "Publish npm package from sub group/project" Deliverable ~"P4" ~"Package" ~"Package Registry" ~"S4" backend customer devopspackage direction ~"feature" ~"workflow::In review"
Configure ~"Configure"
-
@tigerwnz | Don't show deploy board if there is no deployment ~"Configure" ~"bug" ~"devops::configure" ~"group::autodevops and kubernetes" regression regression:12.1 -
@Alexand | Resolve "Kubernetes > Applications > Uninstall Runner" ~"Configure" ~"UX ready" backend depth ~"devops::configure" direction ~"feature" frontend ~"kubernetes" workflowverification -
@tigerwnz | Fix suggested namespace in deploy boards help text ~"Configure" ~"bug" ~"devops::configure" ~"group::autodevops and kubernetes" ~"kubernetes"
Monitor ~"Monitor"
-
@splattael | Add docs on how alert attributes are used ~"Documentation" ~"Monitor" devopsmonitor ~"feature" ~"group::health" -
@axil | Clean up the Prometheus custom dashboards docs ~"Documentation" ~"Monitor" devopsmonitor docs-only ~"feature" ~"group::apm" -
@splattael | Resolve "Instance level clusters > Cluster health not displaying" ~"Monitor" ~"P4" ~"S4" ~"bug" devopsmonitor frontend ~"group::health" ~"kubernetes" -
@lauraMon | fix: replace dropdown in project cards in Op Dashboard with icon ~"Monitor" ~"P4" ~"S4" UX debt ~"bug" devopsmonitor frontend ~"group::health" ~"operations dashboard" workflowready for development -
@bjk-gitlab | docs: Update example Prometheus scrape config ~"Documentation" ~"Monitor" devopsmonitor ~"feature" ~"group::apm" -
@rpereira2 | Service to create self monitoring project APM Deliverable GitLab Self-Monitoring ~"Monitor" Product Vision FY20 ~"Self-managed Scalability Working Group" backend devopsmonitor direction ~"feature" ~"group::apm" release post item ~"workflow::In dev" -
@syasonik | Refactor EnvironmentsController#metrics_dashboard endpoint Health ~"Monitor" backend devopsmonitor ~"feature" feature flag ~"group::health" -
@rpereira2 | Service to create self monitoring project APM Deliverable GitLab Self-Monitoring ~"Monitor" Persona: DevOps Engineer Persona: Software developer Persona: Systems Administrator Product Vision FY20 ~"Self-managed Scalability Working Group" ~"UX ready" backend devopsmonitor direction ~"feature" ~"group::apm" missed-deliverable missed:11.11 release post item ~"workflow::In dev" -
@syasonik | Rename Redactor classes to ReferenceRedactor Health ~"Monitor" backend devopsmonitor ~"feature" ~"group::health" -
@splattael | Show alert's threshold in incident title for GitLab alerts ~"Monitor" backend ~"category::incident management" devopsmonitor ~"feature" ~"group::health"
Secure ~"Secure"
-
@caneldem | Update dependency scanning to add new variable Deliverable ~"Documentation" GitLab Ultimate ~"P2" ~"S3" ~"Secure" ~"Secure::Software Composition Analysis" ~"bug" ~"dependency scanning" devopssecure ~"group::software composition analysis" internal customer -
@brytannia | Add basic dependencies endpoint Deliverable GitLab Ultimate Persona: Development Team Lead Persona: Security Analyst ~"Pick into 12.1" ~"Secure" ~"Secure::Software Composition Analysis" analysts api backend customer dependency list devopssecure direction ~"feature" ~"workflow::In review" -
@brytannia | Docs Dependencies API Deliverable ~"Documentation" ~"Secure" ~"Secure::Software Composition Analysis" api dependency list devopssecure -
@theoretick | Add migration for adding rule_type to approval_project_rules ~"Secure" ~"Secure::Static and Dynamic Analysis" database databaseapproved devopssecure ~"feature" -
@dietrichstein | Added whitespace for CI/CD Charts page sub-headers Deliverable ~"Secure" ~"bug" ~"devops" devopsverify frontend
frontend
frontend-
@filipa | EE: Removes EE differences for boards modal frontend single codebase ~"technical debt" -
@filipa | Removes EE differences for modal issues board frontend single codebase ~"technical debt"
uncategorized ~"uncategorized"
-
@stanhu | Make httpclient respect system SSL configuration ~"bug" devopsmanage -
@asubramanian1 | Tick runner queue after CI minutes is purchased auto updated backend ~"bug" ~"group::fulfillment" -
@stanhu | Bump fog-aws to v3.5.2 customer ~"dependency update" devopscreate
Automated QA for 12.1.201907200021-3bf5621fe76.d9c09516772
No QA job could be found for this release!
You will need to set up a dedicated environment for 12.1.201907200021-3bf5621fe76.d9c09516772 by following the following steps:
Prepare the environments for testing the security fixes
Instructions to prepare environment
- In Google Cloud Console (access to this
should have been granted during on-boarding), create a new VM instance (in the
gitlab-internal
project) from theqa-security-1cpu-3-75gb-ram-ubuntu-16-04-lts
instance template for each version of GitLab. - Find the
.deb
package to install:- First find the pipeline for the
12.1.201907200021+ee.0
tag in the pipelines page. - Then on the pipeline page, click the
Ubuntu-16.04-staging
job in theUpload:gitlab_com
stage (or theStaging_upload
stage for versions prior to 11.5), you will need the job ID later.
- First find the pipeline for the
- Install the
.deb
package from the job artifact:- SSH into the VM via the GCP console.
- Create a
install-gitlab.sh
script in your home folder:TEMP_DEB="$(mktemp)" GITLAB_PACKAGE="https://dev.gitlab.org/api/v4/projects/gitlab%2Fomnibus-gitlab/jobs/${JOB_ID}/artifacts/pkg/ubuntu-xenial/gitlab-ee_${GITLAB_VERSION}-ee.0_amd64.deb" curl -H "PRIVATE-TOKEN: $DEV_TOKEN" "$GITLAB_PACKAGE" -o "$TEMP_DEB" && sudo dpkg -i "$TEMP_DEB" rm -f "$TEMP_DEB"
-
$DEV_TOKEN
needs to be set with adev.gitlab.org
personal access token so that the script can download the package -
$JOB_ID
needs to be set with theUbuntu-16.04-staging
job ID -
$GITLAB_VERSION
needs to be set with the version (without the-ee
prefix, e.g.11.4.10
).
-
- Change the script's permission with
chmod +x install-gitlab.sh
. - Run the script with
./install-gitlab.sh
. - Once GitLab installed, set the
external_url
in/etc/gitlab/gitlab.rb
withsudo vim /etc/gitlab/gitlab.rb
. You can find the VM's IP in the GCP console. - Reconfigure and restart GitLab with
sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart
. - You may need to wait a few minutes after the above command finishes before the instance is actually accessible.
- Set the
root
's user password:- Visit http://IP_OF_THE_GCP_VM and change
root
's password. - Once the environments are ready, capture the information to add to the QA issue.
- Visit http://IP_OF_THE_GCP_VM and change
Automated QA
Instructions to perform automated QA
-
(Optional) If the QA Docker image doesn't exist, you will need to build it manually on your machine, e.g.
# In gitlab-ee › git fetch dev › git checkout v12.1.201907200021-3bf5621fe76.d9c09516772-ee › cd qa › docker build -t dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee-qa:12.1.201907200021-3bf5621fe76.d9c09516772-ee .
-
Make sure to export the following environment variables (you can find the token under the GitLab QA - Access tokens
1Password items)-
$QA_IMAGE
the URL of the QA image -
$QA_ENV_URL
with the URL of the environment where the package has been deployed (usually https://staging.gitlab.com for the current version, andhttp://IP_OF_THE_GCP_VM
for back-ported versions). -
$GITLAB_USERNAME
withroot
. -
$GITLAB_ADMIN_USERNAME
with$GITLAB_USERNAME
. -
$GITLAB_PASSWORD
with the password you've set for theroot
user. -
$GITLAB_ADMIN_PASSWORD
with$GITLAB_PASSWORD
. -
$GITHUB_ACCESS_TOKEN
with a valid GitHub API token that can access the https://github.com/gitlab-qa/test-project project -
$DEV_USERNAME
with yourdev
username -
$DEV_TOKEN
with a validdev
personal access token that has theread_registry
scope
› export QA_IMAGE="dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee-qa:12.1.201907200021-3bf5621fe76.d9c09516772-ee" › export QA_ENV_URL="<QA_ENV_URL>" › export GITLAB_USERNAME="root" › export GITLAB_ADMIN_USERNAME="$GITLAB_USERNAME" › export GITLAB_PASSWORD="<GITLAB_PASSWORD>" › export GITLAB_ADMIN_PASSWORD="$GITLAB_PASSWORD" › export GITHUB_ACCESS_TOKEN="<GITHUB_ACCESS_TOKEN>" › export DEV_USERNAME="<DEV_USERNAME>" › export DEV_TOKEN="<DEV_TOKEN>"
-
-
Update gitlab-qa
if needed› gem install gitlab-qa
-
Log into the dev
container registry› docker login --username "$DEV_USERNAME" --password "$DEV_TOKEN" dev.gitlab.org:5005
-
Automated QA completed. QA can be parallelized manually (for now): # Tab 1: This should take approximately 4.5 minutes › gitlab-qa Test::Instance::Any $QA_IMAGE $QA_ENV_URL -- qa/specs/features/api/ qa/specs/features/login/ qa/specs/features/merge_request/
# Tab 2: This should take approximately 6 minutes › gitlab-qa Test::Instance::Any $QA_IMAGE $QA_ENV_URL -- qa/specs/features/project/
# Tab 3: This should take approximately 5 minutes › gitlab-qa Test::Instance::Any $QA_IMAGE $QA_ENV_URL -- qa/specs/features/repository/
-
Post results as comments of this issue -
Create Automation Triage RELEASE_MAJOR_VERSION RC#
issues for all the automated QA failures (with failures logs + screenshots) and link it to this issue
Coordinate the Manual QA validation of the release
Click for details
- Notify the Security Engineer to verify the security fixes for the release.
- The manner in which the security fixes are verified can be done in two ways.
- By the Quality Engineer executing the validation with close collaboration and guidance from the Security Engineer.
- By the Security Engineer executing the validation with the Quality Engineer monitoring the steps.
- Note: When encountered with deadline and resource constraints, the work should be assigned for efficiency. Security Engineer should own verifying complex security validations while Quality Engineer is encouraged to help out with simpler validations. However it is important that the Security team signs off on the result of the validation.
- The manner in which the security fixes are verified can be done in two ways.
- Ensure that all the items for validation are validated and checked off before moving forward.
- Hand off the release assignment.
- Once all the validation is completed, Quality Engineer un-assigns themselves from the release issue leaving only the Security Engineer and the Release Manager.
/cc @gl-quality