<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/spec/models, branch frozen_string_lib_2</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Add service classes for mutating AwardEmoji</title>
<updated>2019-08-20T23:39:41+00:00</updated>
<author>
<name>Luke Duncalfe</name>
<email>lduncalfe@eml.cc</email>
</author>
<published>2019-06-18T01:44:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=37b17fa61a1fb5efe5942ab2cb27b15685bf905e'/>
<id>37b17fa61a1fb5efe5942ab2cb27b15685bf905e</id>
<content type='text'>
Adding, destroying and toggling emoji previously lacked services and
instead were performed through methods called on Awardable models.

This led to inconsistencies where relevant todos would be marked as done
only when emoji were awarded through our controllers, but not through
the API. Todos could also be marked as done when an emoji was being
removed.

Behaviour changes

- Awarding emoji through the API will now mark a relevant Todo as done
- Toggling an emoji off (destroying it) through our controllers will no
  longer mark a relevant Todo as done

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/63372
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding, destroying and toggling emoji previously lacked services and
instead were performed through methods called on Awardable models.

This led to inconsistencies where relevant todos would be marked as done
only when emoji were awarded through our controllers, but not through
the API. Todos could also be marked as done when an emoji was being
removed.

Behaviour changes

- Awarding emoji through the API will now mark a relevant Todo as done
- Toggling an emoji off (destroying it) through our controllers will no
  longer mark a relevant Todo as done

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/63372
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '64251-branch-name-set-cache' into 'master'</title>
<updated>2019-08-19T20:26:02+00:00</updated>
<author>
<name>Robert Speicher</name>
<email>rspeicher@gmail.com</email>
</author>
<published>2019-08-19T20:26:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=9295cc6f2a4e1fcfa90207a6b4a832ad49aa2ad6'/>
<id>9295cc6f2a4e1fcfa90207a6b4a832ad49aa2ad6</id>
<content type='text'>
Cache branch and tag names as Redis sets

See merge request gitlab-org/gitlab-ce!30476</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cache branch and tag names as Redis sets

See merge request gitlab-org/gitlab-ce!30476</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '39-count-unique-users-for-more-accurate-smau-reporting' into 'master'</title>
<updated>2019-08-19T14:45:24+00:00</updated>
<author>
<name>Nick Thomas</name>
<email>nick@gitlab.com</email>
</author>
<published>2019-08-19T14:45:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=3028cd687a256b593272248e50a3174811594e64'/>
<id>3028cd687a256b593272248e50a3174811594e64</id>
<content type='text'>
Allow UsageData.count to use count_by:

See merge request gitlab-org/gitlab-ce!30770</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow UsageData.count to use count_by:

See merge request gitlab-org/gitlab-ce!30770</pre>
</div>
</content>
</entry>
<entry>
<title>Expire project caches once per push instead of once per ref</title>
<updated>2019-08-16T19:53:56+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2019-08-16T19:53:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=f14647fdae4a07c3c59665576b70f847ab866c58'/>
<id>f14647fdae4a07c3c59665576b70f847ab866c58</id>
<content type='text'>
Previously `ProjectCacheWorker` would be scheduled once per ref, which
would generate unnecessary I/O and load on Sidekiq, especially if many
tags or branches were pushed at once. `ProjectCacheWorker` would expire
three items:

1. Repository size: This only needs to be updated once per push.
2. Commit count: This only needs to be updated if the default branch
   is updated.
3. Project method caches: This only needs to be updated if the default
   branch changes, but only if certain files change (e.g. README,
   CHANGELOG, etc.).

Because the third item requires looking at the actual changes in the
commit deltas, we schedule one `ProjectCacheWorker` to handle the first
two cases, and schedule a separate `ProjectCacheWorker` for the third
case if it is needed. As a result, this brings down the number of
`ProjectCacheWorker` jobs from N to 2.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/52046
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously `ProjectCacheWorker` would be scheduled once per ref, which
would generate unnecessary I/O and load on Sidekiq, especially if many
tags or branches were pushed at once. `ProjectCacheWorker` would expire
three items:

1. Repository size: This only needs to be updated once per push.
2. Commit count: This only needs to be updated if the default branch
   is updated.
3. Project method caches: This only needs to be updated if the default
   branch changes, but only if certain files change (e.g. README,
   CHANGELOG, etc.).

Because the third item requires looking at the actual changes in the
commit deltas, we schedule one `ProjectCacheWorker` to handle the first
two cases, and schedule a separate `ProjectCacheWorker` for the third
case if it is needed. As a result, this brings down the number of
`ProjectCacheWorker` jobs from N to 2.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/52046
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'mc/feature/pipeline-tracking-config-ce' into 'master'</title>
<updated>2019-08-16T14:47:05+00:00</updated>
<author>
<name>Kamil Trzciński</name>
<email>ayufan@ayufan.eu</email>
</author>
<published>2019-08-16T14:47:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=535c2d3c71c1cc623958a48f429a88ecaafb2702'/>
<id>535c2d3c71c1cc623958a48f429a88ecaafb2702</id>
<content type='text'>
Add `needs:` CI config option CE

Closes gitlab-ee#12334

See merge request gitlab-org/gitlab-ce!31346</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `needs:` CI config option CE

Closes gitlab-ee#12334

See merge request gitlab-org/gitlab-ce!31346</pre>
</div>
</content>
</entry>
<entry>
<title>Cache branch and tag names as Redis sets</title>
<updated>2019-08-16T14:41:29+00:00</updated>
<author>
<name>Nick Thomas</name>
<email>nick@gitlab.com</email>
</author>
<published>2019-07-08T16:11:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=0eff75fa2b6691b6fba31fcc2842f51debd249a9'/>
<id>0eff75fa2b6691b6fba31fcc2842f51debd249a9</id>
<content type='text'>
This allows us to check inclusion for the *_exists? methods without
downloading the full list of branch names, which is over 100KiB in size
for gitlab-ce at the moment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to check inclusion for the *_exists? methods without
downloading the full list of branch names, which is over 100KiB in size
for gitlab-ce at the moment.
</pre>
</div>
</content>
</entry>
<entry>
<title>Migrations for Cycle Analytics backend</title>
<updated>2019-08-15T19:19:37+00:00</updated>
<author>
<name>Adam Hegyi</name>
<email>ahegyi@gitlab.com</email>
</author>
<published>2019-08-15T19:19:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ca6cfde588aca5139dd951b6f48a3089e0f0b12d'/>
<id>ca6cfde588aca5139dd951b6f48a3089e0f0b12d</id>
<content type='text'>
This change lays the foundation for customizable cycle analytics stages.
The main reason for the change is to extract the event definitions to
separate objects (start_event, end_event) so that it could be easily
customized later on.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change lays the foundation for customizable cycle analytics stages.
The main reason for the change is to extract the event definitions to
separate objects (start_event, end_event) so that it could be easily
customized later on.
</pre>
</div>
</content>
</entry>
<entry>
<title>Only read rebase status from the model</title>
<updated>2019-08-15T18:54:08+00:00</updated>
<author>
<name>Nick Thomas</name>
<email>nick@gitlab.com</email>
</author>
<published>2019-08-15T18:54:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d31b733fee8fc739157ca0dc6f0d6fba7a8efc21'/>
<id>d31b733fee8fc739157ca0dc6f0d6fba7a8efc21</id>
<content type='text'>
Prior to 12.1, rebase status was looked up directly from Gitaly. In
https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14417 , a DB
column was added to track the status instead. However, we couldn't stop
looking at the gitaly status immediately, since some rebases may been
running across the upgrade.

Now that we're in 12.3, it is safe to remove the direct-to-gitaly
lookup. This also happens to fix a 500 error that is seen when viewing
an MR for a fork where the source project has been removed.

We still look at the Gitaly status in the service, just in case Gitaly
and Sidekiq get out of sync - I assume this is possible, and it's a
relatively cheap check.

Since we atomically check and set `merge_requests.rebase_jid`, we
should never enqueue two `RebaseWorker` jobs in parallel.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prior to 12.1, rebase status was looked up directly from Gitaly. In
https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14417 , a DB
column was added to track the status instead. However, we couldn't stop
looking at the gitaly status immediately, since some rebases may been
running across the upgrade.

Now that we're in 12.3, it is safe to remove the direct-to-gitaly
lookup. This also happens to fix a 500 error that is seen when viewing
an MR for a fork where the source project has been removed.

We still look at the Gitaly status in the service, just in case Gitaly
and Sidekiq get out of sync - I assume this is possible, and it's a
relatively cheap check.

Since we atomically check and set `merge_requests.rebase_jid`, we
should never enqueue two `RebaseWorker` jobs in parallel.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow disabling group/project email notifications</title>
<updated>2019-08-15T17:37:36+00:00</updated>
<author>
<name>Brett Walker</name>
<email>bwalker@gitlab.com</email>
</author>
<published>2019-08-15T17:37:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=3489dc3d7277bf478f68e1b3e0353b702f652acc'/>
<id>3489dc3d7277bf478f68e1b3e0353b702f652acc</id>
<content type='text'>
- Adds UI to configure in group and project settings
- Removes notification configuration for users when
disabled at group or project level
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Adds UI to configure in group and project settings
- Removes notification configuration for users when
disabled at group or project level
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sh-optimize-commit-deltas-post-receive' into 'master'</title>
<updated>2019-08-14T14:38:28+00:00</updated>
<author>
<name>Nick Thomas</name>
<email>nick@gitlab.com</email>
</author>
<published>2019-08-14T14:38:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=3cd40c4a807fef5f99c60853ab81f8729405e315'/>
<id>3cd40c4a807fef5f99c60853ab81f8729405e315</id>
<content type='text'>
Reduce Gitaly calls in PostReceive

Closes #65878

See merge request gitlab-org/gitlab-ce!31741</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduce Gitaly calls in PostReceive

Closes #65878

See merge request gitlab-org/gitlab-ce!31741</pre>
</div>
</content>
</entry>
</feed>
