| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes things simpler as no scheduling is involved. Further we
remove the need for running a SELECT + UPDATE just to get the key and
update it, whereas we only need an UPDATE when setting last_used_at
directly in a request.
The added service class takes care of updating Key#last_used_at without
using Sidekiq. Further it makes sure we only try to obtain a Redis lease
if we're confident that we actually need to do so, instead of always
obtaining it. We also make sure to _only_ update last_used_at instead of
also updating updated_at.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36663
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Resolve "Handle if Auto DevOps domain is not set"
Closes #37894
See merge request gitlab-org/gitlab-ce!14319
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
Use project full path that can be received from a pipeline object
|
|\
| |
| |
| |
| |
| |
| | |
Prepare Repository#merge for migration to Gitaly
Closes gitaly#559
See merge request gitlab-org/gitlab-ce!14154
|
| | |
|
| | |
|
|\ \
| |/
|/|
| |
| | |
SQL performance improvements for ProjectsController#show
See merge request gitlab-org/gitlab-ce!14226
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This ensures that if a pipeline is present for the last commit on a
project's homepage we only run 1 query to get the builds, instead of
running 2 queries.
See https://gitlab.com/gitlab-org/gitlab-ce/issues/36878#note_40073339
for more information.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds Project#latest_successful_pipeline_for and
Project#latest_successful_pipeline_for_default_branch. The 2nd method
memoizes the result (taking nil values into account) to ensure the
underlying query isn't executed multiple times when viewing a project's
homepage.
See https://gitlab.com/gitlab-org/gitlab-ce/issues/36878#note_40073607
for more information.
|
|\ \
| | |
| | |
| | |
| | | |
Rename Gitlab::Git::Committer to User
See merge request gitlab-org/gitlab-ce!14254
|
| | | |
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Treat newlines as separators for pipeline emails service
Closes #37759
See merge request gitlab-org/gitlab-ce!14250
|
| |/
| |
| |
| |
| | |
Before this fix, I don't know if those emails would work
having newlines in them.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Revert "Merge branch 'revert-f2421b2b' into 'master'"
See merge request !14190
|
| |
| |
| | |
This reverts merge request !14148
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Allow to use same periods for housekeeping tasks
Closes #34981
See merge request !13711
|
| |/
| |
| |
| |
| |
| |
| |
| | |
This enables skipping a lesser housekeeping task
(incremental or full repack) by consistently
scheduling a higher task (respectively full repack or gc)
with the same period.
Cf. #34981
|
|\ \
| |/
|/|
| |
| | |
Hide read_registry scope when registry is disabled on instance
See merge request !13314
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Rework how recent push events are retrieved
Closes #35990
See merge request !13995
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Whenever you push to a branch GitLab will show a button to create a
merge request (should one not exist already). The underlying code to
display this data was quite inefficient. For example, it involved
multiple slow queries just to figure out what the most recent push event
was.
This commit changes the way this data is retrieved so it's much faster.
This is achieved by caching the ID of the last push event on every push,
which is then retrieved when loading certain pages. Database queries are
only executed if necessary and the cached data is removed automatically
once a merge request has been created, or 2 hours after being stored.
A trade-off of this approach is that we _only_ track the last event.
Previously if you were to push to branch A and B then create a merge
request for branch B we'd still show the widget for branch A. As of this
commit this is no longer the case, instead we will only show the widget
for the branch you pushed to most recently. Once a merge request exists
the widget is no longer displayed. Alternative solutions are either too
complex and/or too slow, hence the decision was made to settle for this
trade-off.
Performance Impact
------------------
In the best case scenario (= a user didn't push anything for more than 2
hours) we perform a single Redis GET per page. Should there be cached
data we will run a single (and lightweight) SQL query to get the
event data from the database. If a merge request already exists we will
run an additional DEL to remove the cache key.
The difference in response timings can vary a bit per project. On
GitLab.com the 99th percentile of time spent in User#recent_push hovers
between 100 milliseconds and 1 second, while the mean hovers around 50
milliseconds. With the changes in this MR the expected time spent in
User#recent_push is expected to be reduced down to just a few
milliseconds.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/35990
|
| | |
| | |
| | |
| | |
| | | |
'35012-navigation-add-option-to-change-navigation-color-palette' into 'master'"
This reverts merge request !13619
|
|/ /
| |
| |
| |
| | |
Do not use `location.pathname` when accessing environments folders
See merge request !2147
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Improve "Share with group lock" feature for subgroups
Closes #30550
See merge request !13944
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
…when needed
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Resolve "Banner to enable Auto DevOps at project level"
Closes #37158
See merge request !13991
|
| |\ \ \ |
|
| | | | | |
|
|\ \ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Implement the implied CI/CD config for AutoDevOps
Closes #34777
See merge request !13923
|
| |\ \ \ \
| | |/ / /
| |/| | |
| | | | | |
zj/gitlab-ce-zj-auto-devops-table
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | | |
zj/gitlab-ce-zj-auto-devops-table
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \ |
|