Compare commits
2 Commits
83fbf1f992
...
790d794900
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
790d794900 | ||
|
|
1b8cebbfe1 |
@@ -425,5 +425,6 @@ def test_named_no_daemon_job_is_not_posted_for_that_repo_only(fake, monkeypatch)
|
|||||||
assert sorted(p["context"] for p in f2.posted) == ["windy-git/ci/build", "windy-git/ci/test"]
|
assert sorted(p["context"] for p in f2.posted) == ["windy-git/ci/build", "windy-git/ci/test"]
|
||||||
|
|
||||||
|
|
||||||
def test_default_no_daemon_named_is_eternitas_build():
|
def test_default_no_daemon_named_is_empty():
|
||||||
assert bridge.NO_DAEMON_NAMED.get("eternitas") == {"ci/build"}
|
"""eternitas converted its ci/build to a no-Docker ci/smoke (#179); nothing left."""
|
||||||
|
assert bridge.NO_DAEMON_NAMED == {}
|
||||||
|
|||||||
61
deploy/branding/templates/user/auth/link_account.tmpl
Normal file
61
deploy/branding/templates/user/auth/link_account.tmpl
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{{/* Windy Git override of Gitea 1.24.6 templates/user/auth/link_account.tmpl.
|
||||||
|
Forge registration is CLOSED at launch (Grant, 09-23), so a Windy account
|
||||||
|
with no forge account used to land on Gitea's raw "Registration is disabled"
|
||||||
|
error. That case now gets a plain invite-only page; every other case is
|
||||||
|
Gitea's template unchanged (re-diff it on Gitea upgrades). No change to who
|
||||||
|
can register. */}}
|
||||||
|
{{if and .DisableRegistration (not .user_exists)}}
|
||||||
|
{{template "base/head" .}}
|
||||||
|
<div role="main" aria-label="Windy Git is invite-only" class="page-content user link-account">
|
||||||
|
<div class="ui middle very relaxed page grid">
|
||||||
|
<div class="column tw-my-5">
|
||||||
|
<div class="tw-flex tw-flex-col tw-gap-4 tw-max-w-2xl tw-m-auto">
|
||||||
|
<h4 class="ui top attached header center">Windy Git is invite-only while we launch</h4>
|
||||||
|
<div class="ui attached segment">
|
||||||
|
<p>You're signed in with your Windy account{{if or .user_name .email}} as <strong>{{or .user_name .email}}</strong>{{end}}. Nothing is wrong with it: Windy Git just isn't open to every account yet.</p>
|
||||||
|
<p>We'll let you know when it opens.</p>
|
||||||
|
<a class="ui primary button" href="https://app.windyword.ai/dashboard">Back to your dashboard</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{template "base/footer" .}}
|
||||||
|
{{else}}
|
||||||
|
{{template "base/head" .}}
|
||||||
|
<div role="main" aria-label="{{.Title}}" class="page-content user link-account">
|
||||||
|
<overflow-menu class="ui secondary pointing tabular top attached borderless menu secondary-nav">
|
||||||
|
<div class="overflow-menu-items tw-justify-center">
|
||||||
|
<!-- TODO handle .ShowRegistrationButton once other login bugs are fixed -->
|
||||||
|
{{if not .AllowOnlyInternalRegistration}}
|
||||||
|
<a class="item {{if not .user_exists}}active{{end}}"
|
||||||
|
data-tab="auth-link-signup-tab">
|
||||||
|
{{ctx.Locale.Tr "auth.oauth_signup_tab"}}
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
|
<a class="item {{if .user_exists}}active{{end}}"
|
||||||
|
data-tab="auth-link-signin-tab">
|
||||||
|
{{ctx.Locale.Tr "auth.oauth_signin_tab"}}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</overflow-menu>
|
||||||
|
<div class="ui middle very relaxed page grid">
|
||||||
|
<div class="column tw-my-5">
|
||||||
|
{{/* these styles are quite tricky but it needs to be the same as the signin page */}}
|
||||||
|
<div class="ui tab {{if not .user_exists}}active{{end}}" data-tab="auth-link-signup-tab">
|
||||||
|
<div class="tw-flex tw-flex-col tw-gap-4 tw-max-w-2xl tw-m-auto">
|
||||||
|
{{if .AutoRegistrationFailedPrompt}}<div class="ui message">{{.AutoRegistrationFailedPrompt}}</div>{{end}}
|
||||||
|
{{template "user/auth/signup_inner" .}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="ui tab {{if .user_exists}}active{{end}}" data-tab="auth-link-signin-tab">
|
||||||
|
<div class="tw-flex tw-flex-col tw-gap-4 tw-max-w-2xl tw-m-auto">
|
||||||
|
{{template "user/auth/signin_inner" .}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{template "base/footer" .}}
|
||||||
|
{{end}}
|
||||||
@@ -111,7 +111,7 @@ their CI permanently, not a stopgap:
|
|||||||
have no Docker daemon by design (I-5), so they are red on every commit. A
|
have no Docker daemon by design (I-5), so they are red on every commit. A
|
||||||
rootless builder (BuildKit rootless / buildx in the capped dind) is the open
|
rootless builder (BuildKit rootless / buildx in the capped dind) is the open
|
||||||
decision that would bring them back. Jobs that need Docker but are named otherwise go in
|
decision that would bring them back. Jobs that need Docker but are named otherwise go in
|
||||||
`BRIDGE_NO_DAEMON` (default `eternitas:ci/build`). DECIDED 09-23 (orchestrator,
|
`BRIDGE_NO_DAEMON` (empty since eternitas converted to ci/smoke, #179). DECIDED 09-23 (orchestrator,
|
||||||
option A): lanes convert these jobs to no-Docker smoke tests (job `services:` +
|
option A): lanes convert these jobs to no-Docker smoke tests (job `services:` +
|
||||||
start the app + curl /health); the real image build is the deploy step on the
|
start the app + curl /health); the real image build is the deploy step on the
|
||||||
target host. ci-hygiene flags docker build/compose/run in workflows ("needs docker").
|
target host. ci-hygiene flags docker build/compose/run in workflows ("needs docker").
|
||||||
|
|||||||
@@ -79,7 +79,8 @@ NO_DAEMON_JOB = re.compile(r"docker", re.IGNORECASE)
|
|||||||
# each lane converts the job to a no-Docker smoke test; until then it is not
|
# each lane converts the job to a no-Docker smoke test; until then it is not
|
||||||
# posted). Format: "repo:workflow/job,...;repo2:...".
|
# posted). Format: "repo:workflow/job,...;repo2:...".
|
||||||
NO_DAEMON_NAMED: dict[str, set[str]] = {}
|
NO_DAEMON_NAMED: dict[str, set[str]] = {}
|
||||||
for _entry in os.environ.get("BRIDGE_NO_DAEMON", "eternitas:ci/build").split(";"):
|
# eternitas:ci/build dropped 09-23: converted to a no-Docker ci/smoke (#179).
|
||||||
|
for _entry in os.environ.get("BRIDGE_NO_DAEMON", "").split(";"):
|
||||||
if ":" in _entry:
|
if ":" in _entry:
|
||||||
_repo, _jobs = _entry.split(":", 1)
|
_repo, _jobs = _entry.split(":", 1)
|
||||||
NO_DAEMON_NAMED[_repo.strip()] = {j.strip() for j in _jobs.split(",") if j.strip()}
|
NO_DAEMON_NAMED[_repo.strip()] = {j.strip() for j in _jobs.split(",") if j.strip()}
|
||||||
|
|||||||
Reference in New Issue
Block a user