RSpec predicate matchers provide poor output when tests fail.
This commit switches to Capybara RSpec matches so that we get more
debugging information as to why these tests are flaky...
I'm unable to find why the tests are failing in the Discourse core repo's plugin tests workflow. These tests always pass in the plugin repo and my local dev environment.
This PR will refresh the software update page so that self-hosters can more easily understand the plugins they have installed and which plugins need updates, and so that they are able to quickly and easily update them (or update everything).
Co-authored-by: Martin Brennan <mjrbrennan@gmail.com>
The last forced update was more than a year ago. That old image has a lot of old dependencies, including an old `node` version which is no longer supported by some of Discourse's JS dependencies. This commit will instruct self-hosters to perform a command-line rebuild.
In this PR, all references in the UI to the word "`upgrade`" are changed to "`update`". This is to differentiate the update process in self-hosted sites from the plan "upgrade" process in hosted sites.
c.f. https://github.com/discourse/discourse/pull/25200
The new admin sidebar doesn't have plugin outlets, so we
need a way to register links like this Upgrade one. The
admin sidebar is currently experimental, so we need to keep
the old outlet around for now for sites who have not enabled
the admin sidebar.
This time we are not using before in the initializer, due
to the changes in this core PR https://github.com/discourse/discourse/pull/25396
c.f. https://github.com/discourse/discourse/pull/25200
The new admin sidebar doesn't have plugin outlets, so we
need a way to register links like this Upgrade one. The
admin sidebar is currently experimental, so we need to keep
the old outlet around for now for sites who have not enabled
the admin sidebar.
This introduces a fallback compatibility parser, identical to the one introduced in https://github.com/discourse/discourse/pull/22714
This will allow Docker Manager to parse new compatibility files, even when running on older Discourse instances. This is only intended as a temporary solution, and will be removed before the Discourse 3.2 release.
* FEATURE: Adds support for git tags
* Detects when the tracked branch has been deleted from `origin` and forces a rebuild on the command line
* Allows updating when a tag is tracked and the tag was moved to a new commit
* Improves support for shallow clones
* Works with partial clones
* Adds lots of specs for git commands and replaces the existing specs. All specs use real git repositories instead of mocks
Without this upgrades to v3.1.0.beta4+ will fail because those newer versions require Ruby 3.2 and the old, pinned docker_manager version didn't prompt for a CLI rebuild when upgrading from v3.1.0.beta1 and below.
The actual fix is in 1b2d7eb which is part of the new `old-version-up-to-v3.1.0.beta1` branch.
We added an "Upgrade" tab to the admin menu, but it's also showing for moderators, even though they can't access it, leading to "Oops! That page doesn’t exist or is private."
This change simply hide the upgrade tab for non-admin users.