Fix Error 500 when visiting build page of project with nil runners_token
Properly ensure that the token exists and add defensively check for a
non-nil value.
Closes#4294
See merge request !2294
Suppress e-mails on failed builds if allow_failure is set
Every time I push to GitLab, I get > 2 emails saying a spec failed when I don't care about the benchmarks and others that have `allow_failure` set to `true`.
@ayufan mentioned creating a summary e-mail to prevent getting one e-mail per build, but the latter might actually be desirable. For example, I do want to know if Rubocop errors fail right away.
See merge request !2178
Fix identity and user retrieval when special characters are used
Fixes#4023
I also added tests to make sure the user with special characters in his name is returned correctly.
@rspeicher this probably should be added to 8.3 as a patch.
See merge request !2176
Fix method that ensures authentication token
Until now, `ensure_#{token_filed_name}!` method didn't persist new token in database.
This closes#4235.
See merge request !2185
Fix and test leave project display
The 'Leave this project' display on project page was broken. It was calling the method incorrectly, which returned `nil` and displayed nothing.
This fixes the display and also adds 2 different tests for it.
cc/ @jvanbaarsen @stanhu Please review and merge if you think it looks good. Thank you!
See merge request !2166
Allow account unlock via email
We see a lot of users get confused about what it means when your account gets
locked. Many try to reset their password and are still faced with a lockout.
With this change, users receive an email that allows them to unlock their
account immediately. The previous behavior where the account is auto-unlocked
after a time also still works.
See merge request !2049
Api support for requesting starred projects for user
Closes#4112
Note: probably targets the wrong release in the `CHANGELOG`, though 8.4 was not there yet
See merge request !2127
Fix headers of milestone and snippet show pages
Fix layout, and move "Edit" button to very right just like issue/MR.
Before:


After:


cc @skyruler
cc @rspeicher 8.3 please!
See merge request !2104
Move Markdown/reference logic from `Gitlab::Markdown` to `Banzai`
- Moves from `Gitlab::Markdown` to `Banzai`
- Moves filters and pipelines into their own namespace: `Banzai::Filter` and `Banzai::Pipeline`
- No more `autoload`!
- Split up `Gitlab::ReferenceExtractor` into `Banzai::ReferenceExtractor` and `Gitlab::ReferenceExtractor`
- Replace `something(load_lazy_references: true)` by `Gitlab::ReferenceExtractor.lazily { something }`
Goes from:
```ruby
def referenced_merge_requests
references = [self, *notes].flat_map do |note|
note.all_references(load_lazy_references: false).merge_requests
end.uniq!
Gitlab::Markdown::ReferenceFilter::LazyReference.load(references).uniq.sort_by(&:iid)
end
```
to
```ruby
def referenced_merge_requests
Gitlab::ReferenceExtractor.lazily do
[self, *notes].flat_map do |note|
note.all_references.merge_requests
end
end.sort_by(&:iid)
end
```
See merge request !2027
Suppress warning about missing `.gitlab-ci.yml` if builds are disabled
When user disables GitLab Ci Service in project's settings then warning
about missing `.gitlab-ci.yml` file should be supressed. This a matter
of user experience as stated in #3761 (closes#3761).
cc @ayufan
See merge request !2014
* master:
Move CI admin builds and runners specs to correct directory
Fix 500 when viewing specific runners on runners page
Fix Ci::Project migration not migrating columns that cannot be NULL
Fix MySQL migration of CI emails
Minor fix in flow 'Merge when build succeeds'
* master: (66 commits)
Fix runners admin view
Fix migrations
Rename mention of gitlab-git-http-server to gitlab-workhorse
Bump Redis requirement to 2.8 for Sidekiq 4 requirements
Fix wording on runner setup page
add details on how to change saml button label
Fix tests
Move awards back to gray panel and few improvements to sidebar
Few UI improvements to new sidebar implementation
Fix tests for new issuable sidebar
Update changelog
Implement new sidebar for merge request page
Make edit link on issuable sidebar works
Redesign issue page for new sidebar
Move awards css to separate file
Implement issuable sidebar partial
Update CHANGELOG
Clarify cache behavior
Run builds from projects with enabled CI
Use Gitlab::Git instead of Ci::Git
...
Conflicts:
db/schema.rb
* master: (24 commits)
Fix runners admin view
Fix migrations
Run builds from projects with enabled CI
Use Gitlab::Git instead of Ci::Git
Fix last specs
Fix specs
Fix after column rename
Fix errors
Update badge
Finishing touches
Fix triggers tests
Rename columns and rename migrations
Reimplement Trigger API
Remove ci_ prefix from all ci related things
Add runners token
Migrate CI::Project to Project
Fix indentation and BuildsEmailService
Change default values
Enhance migrate CI emails
Fix issue tracker service
...
Conflicts:
spec/features/commits_spec.rb
Ci Project migrate
- This doesn't migrate: allow_git_fetch, coverage_regex, timeout. Since this are project configuration settings I would propose to migrate them to `.gitlab-ci.yml`.
- This requires offline migrations.
- It simplifies database models making all CI objects to be attached to: Project.
- It removes Ci::Project, but makes /ci/projects working by adding method: Project.find_by_ci_id for backward compatibility (badges, triggers).
- We should add default `timeout` to Application Settings.
- It misses specs.
- It is based on ci-services-migrate for now.
- It removes CI events.
- It removes administrator CI projects overview.
- It removes CI application settings.
In 8.4 or 8.5 we can remove redundant tables and columns.
See merge request !1987
When user disables GitLab Ci Service in project's settings then warning
about missing `.gitlab-ci.yml` file should be supressed. This a matter
of user experience as stated in #3761 (closes#3761).