Commit Graph
20 Commits
Author SHA1 Message Date
gitops c6150755d2 Fetch the two forks over HTTPS, and stop cloning 29 submodules to lint CSS
Two consequences of becoming the meta-repo, neither of which the merge itself
could have caught.

The submodule URLs were written as [email protected]: because that is how they are
pushed from here. That is a working copy's business, not the repository's:
upstream names all 29 over HTTPS, a clone with no key configured is the normal
case, and CI has no key at all. The URLs are now HTTPS; each submodule's own
origin stays SSH, which is where it belongs.

The assets job asked for `submodules: recursive` back when this repository had
two of them. It now names 29, and 27 are the rest of COSMIC -- several gigabytes
fetched per run to check that some CSS is in step with its generator. It fetches
the one it needs instead.

That one is cosmic-session, because install-assets.sh also places the session
entry point that lives in that fork. The script skips those two files with a
warning when the checkout is absent rather than failing, so a fetch that
silently stopped working would quietly reduce what the job covers instead of
turning it red. Hence the `test -f` after it.
2026-08-10 17:30:45 +07:00
gitops c0ae1350f3 Merge pop-os/cosmic-epoch: become the meta-repo, with two submodules swapped
HyprCosmic started as a repository beside COSMIC holding a config compiler and a
pile of theme assets, with the two modified components hanging off it. That had
the relationship backwards. COSMIC already has a meta-repo whose whole job is to
name every component and build the desktop from them, so the honest shape for a
fork is to be that meta-repo with the components we changed pointing at our
copies -- not a separate tree that assumes the rest of COSMIC arrived some other
way.

So this merges cosmic-epoch in and repoints exactly two of its 29 submodules:

    cosmic-comp     -> outbackdingo/hyprcosmic-comp
    cosmic-session  -> outbackdingo/hyprcosmic-session

The other 27 stay on pop-os. Nothing about them needs to change, and pinning
them to copies we do not maintain would be a promise to keep 27 forks current.

`just build` and `just install` now build and install the whole desktop with our
compositor and session in it, which is what "fork COSMIC" ought to mean. The two
forks still install into /usr/libexec/hyprcosmic rather than over /usr/bin, so a
system that already has COSMIC from its distribution keeps that session on the
greeter's menu alongside this one.

Conflict resolutions worth stating:

  .github/workflows/ci.yml   upstream's kept as-is. It builds the entire desktop
                             on Arch through `just sysext`, which is precisely
                             the check a meta-repo wants and is not made less
                             useful by forking. Our per-distribution workflow
                             moved to hyprcosmic.yml beside it, the same way it
                             did in the compositor fork.

  .gitmodules                upstream's 29 entries, then two URLs rewritten.

  cosmic-comp, cosmic-session
                             ours. Git reports "no merge base" because they are
                             unrelated to the pop-os commits recorded here,
                             which is expected: they are different repositories,
                             not newer commits of the same one.

  .gitignore                 both sides, plus a note that the two forks are
                             deliberately no longer ignored.
2026-08-10 17:22:10 +07:00
gitops 3c1a092e51 ci: build cosmic-conf per distro, and check the assets against their generators
Two jobs, shaped differently on purpose.

cosmic-conf gets the same three-distribution container matrix the forks use,
plus one check the unit tests cannot make: it resolves the cosmic.conf this
repository actually ships. A schema change that invalidated the shipped config
would pass all 143 tests in the crate and still break every user on their first
login. The binary is invoked directly rather than through `cargo run`, because
the step redirects HOME and cargo keys its registry cache on it -- `cargo run`
would re-download every dependency into a directory the cache action does not
know about.

The assets job is where the rules that were previously only remembered become
enforced. config.jsonc is regenerated and must not move, which is what stops it
being hand-edited; the template and the generator are held to pure ASCII, which
is what stops a Nerd Font glyph being pasted somewhere it will be silently
destroyed by the next person who retypes it. install-assets.sh is then run into
a staging root and asked to verify its own work, which also exercises the audit
that refuses to install at all while any file under config/ is unclassified.

The ASCII check is written as an `if` rather than `! grep`, because grep exits 1
for "no match" and 2 for "no such file" -- negating it would turn a vanished
file into a pass, and the check would quietly stop checking anything.
2026-08-10 16:53:49 +07:00
Jeremy Soller f9abdc105d Add PR template 2026-02-13 12:21:16 -07:00
Vukašin VojinovićandMichael Murphy 7106172bcd chore: update CI 2026-01-14 17:43:39 +01:00
Jack BoswellandGitHub be97a211e1 Update config.yml 2024-11-04 09:32:21 +11:00
Jack BoswellandGitHub ba96994e7d Update config.yml 2024-10-31 23:10:24 +11:00
Jack BoswellandGitHub f8a0f29675 Update bug_report.md 2024-10-31 22:12:02 +11:00
Jack BoswellandGitHub 85a48f0f53 Update config.yml 2024-10-31 22:07:29 +11:00
Jack BoswellandGitHub 5c4fa4287e Update issue templates 2024-10-31 22:06:55 +11:00
Jack BoswellandGitHub afcb876be2 Merge pull request #2 from boswelja/boswelja-patch-1
Create config.yml
2024-10-31 22:04:46 +11:00
Jack BoswellandGitHub 2e7a373ff2 Update issue templates 2024-10-31 22:04:15 +11:00
Jack BoswellandGitHub 8145b20798 Create config.yml 2024-10-31 22:03:12 +11:00
Victoria BrekenfeldandVictoria Brekenfeld 8dec6bd48e ci: Add nasm 2024-02-15 16:21:59 +01:00
Victoria BrekenfeldandVictoria Brekenfeld d1db7c4b7d ci: recurse submodules and add libflatpak 2024-01-31 17:12:06 +01:00
Ron Waldon-HoweandVictoria Brekenfeld cd8dc9d887 chore(ci): cosmic-edit needs gtk3 2023-12-20 14:20:25 +01:00
Ron Waldon-HoweandVictoria Brekenfeld 7ecd86ce28 chore(ci): add missing at-spi2-core package 2023-12-20 14:20:25 +01:00
Victoria Brekenfeld 46fc0bf34d ci: free space for building 2023-08-10 18:38:09 +02:00
75cb3ab49d feat: Add COSMIC Settings (#75)
* feat: Add COSMIC Settings

This add cosmic-settings to the .gitmodules file

* Update justfile per feedback

* Correct cosmic-launcher to cosmic-settings

* fix(settings): build

---------

Co-authored-by: Ashley Wulber <[email protected]>
2023-02-20 11:24:10 -05:00
Ian Douglas Scott 326a80995d Add CI that verifies the repository builds
This runs on Arch, and shows that things build on another distro with
recent dependencies. If we want to support older versions of
dependencies, that will need to be tested on a different platform.

This also shows what dependencies are needed.
2023-02-14 08:59:13 -08:00