mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-22 06:39:39 +02:00
Add zero-config self hosting on Render (#612)
* v1 of backend implementation for self hosting * Add docs * Add upgrades controller * Add global helpers for self hosting mode * Add self host settings controller * Conditionally show self hosting settings * Environment and config updates * Complete upgrade prompting flow * Update config for forked repo * Move configuration of github provider within class * Add upgrades cron * Update deploy button * Update guides * Fix render deployer * Typo * Enable auto upgrades * Fix cron * Make upgrade modes more clear and consistent * Trigger new available version * Fix logic for displaying upgrade prompts * Finish implementation * Fix regression * Trigger new version * Add i18n translations * trigger new version * reduce caching time for testing * Decrease cache for testing * trigger upgrade * trigger upgrade * Only trigger deploy once * trigger upgrade * If target is commit, always upgrade if any upgrade is available * trigger upgrade * trigger upgrade * Test release * Change back to maybe repo for defaults * Fix lint errors * Clearer naming * Fix relative link * Add abs path * Relative link * Update docs
This commit is contained in:
parent
2bbf120e2f
commit
5aca2ff9b6
53 changed files with 1356 additions and 111 deletions
25
test/interfaces/git_repository_provider_interface_test.rb
Normal file
25
test/interfaces/git_repository_provider_interface_test.rb
Normal file
|
@ -0,0 +1,25 @@
|
|||
require "test_helper"
|
||||
|
||||
module GitRepositoryProviderInterfaceTest
|
||||
extend ActiveSupport::Testing::Declarative
|
||||
|
||||
test "git repository provider interface" do
|
||||
assert_respond_to @subject, :fetch_latest_upgrade_candidates
|
||||
end
|
||||
|
||||
test "git repository provider response contract" do
|
||||
VCR.use_cassette "git_repository_provider/fetch_latest_upgrade_candidates" do
|
||||
response = @subject.fetch_latest_upgrade_candidates
|
||||
|
||||
assert_valid_upgrade_candidate(response[:release])
|
||||
assert_valid_upgrade_candidate(response[:commit])
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def assert_valid_upgrade_candidate(candidate)
|
||||
assert_equal Semver, candidate[:version].class
|
||||
assert_match URI::DEFAULT_PARSER.make_regexp, candidate[:url]
|
||||
assert_match(/\A[0-9a-f]{40}\z/, candidate[:commit_sha])
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue