Skip to content

Publish the project website on fdroid-repo (the branch Pages serves) - #654

Open
BrawlerXull wants to merge 2 commits into
CCExtractor:fdroid-repofrom
BrawlerXull:website/publish-to-fdroid-pages
Open

Publish the project website on fdroid-repo (the branch Pages serves)#654
BrawlerXull wants to merge 2 commits into
CCExtractor:fdroid-repofrom
BrawlerXull:website/publish-to-fdroid-pages

Conversation

@BrawlerXull

Copy link
Copy Markdown
Collaborator

Why this targets fdroid-repo

GitHub Pages for this repository is branch-based, serving fdroid-repo at the root:

build_type: legacy
source:     { branch: fdroid-repo, path: / }
url:        https://ccextractor.github.io/taskwarrior-flutter/

So fdroid-repo is the only branch whose contents actually appear at that URL. The site (D5) was built on a feature branch where nothing could serve it — this puts the built output where Pages will pick it up.

What this changes

Additions only — 17 files, no existing path modified. The F-Droid repo, its metadata, assets and index are unchanged. The site occupies the branch root; repo/ continues to serve F-Droid clients exactly as before.

Two deliberate choices

Built for https://ccextractor.github.io/taskwarrior-flutter/, not the custom domain — because no custom domain is configured on Pages at the moment.

The generated CNAME (taskwarrior.ccextractor.org) is deliberately excluded. Committing it would make Pages claim a domain with no DNS pointing at it. That would take the site offline and — more seriously — break the F-Droid repo URL that existing users' clients already poll. Once the DNS record exists, add the CNAME and rebuild with that baseURL.

.nojekyll is included so Pages serves the files as-is rather than running Jekyll on every push.

Interaction with the nightly deploy

nightlydepolyci.yml force-pushes this branch. It is safe: the workflow does git checkout fdroid-repo before building its orphan commit and then git add ., so these files are re-added and survive each deploy. Worth knowing the site therefore depends on that checkout step continuing to exist — if the workflow is ever changed to a clean checkout, the site would be dropped.

Note

Only the built output belongs here; the Hugo source stays with the app code.

Pages for this repository is configured as branch-based, serving `fdroid-repo`
at the root, so that is the only branch whose contents actually appear at
https://ccextractor.github.io/taskwarrior-flutter/. The site lived on a feature
branch where nothing could serve it; this puts the built output where Pages will.

Only additions — every existing path is untouched, so the F-Droid repo, its
metadata, assets and index are exactly as they were. The site occupies the root
and `repo/` continues to serve F-Droid clients.

Two deliberate choices:

- Built for https://ccextractor.github.io/taskwarrior-flutter/ rather than the
  custom domain, because no custom domain is configured on Pages right now.
- The generated CNAME (taskwarrior.ccextractor.org) is NOT included. Committing
  it would make Pages claim a domain with no DNS pointing at it, which would take
  the site offline and, worse, break the F-Droid repo URL that existing users'
  clients already poll. Once the DNS record exists, add the CNAME and rebuild
  with that baseURL.

- .nojekyll added so Pages serves the files as-is instead of running them through
  Jekyll on every push.

The nightly F-Droid workflow force-pushes this branch, but it checks out
fdroid-repo before building its orphan commit and then `git add .`, so the site
files are re-added and survive the deploy. That does mean the site depends on
that checkout step continuing to exist.

Hugo source stays with the app code; only the built output belongs here.
@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a5b40dc5-6390-4f45-a5c8-9ae722e2cd3d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…ined

The built output already lived here; the source that generates it stayed with the
app. That split meant the site could not be rebuilt from the branch that serves
it, and the app repository carried 19 files it never compiles or ships.

Both halves now live together: website/ (content, layouts, static, hugo.toml,
data) and scripts/update_build_log.py, which records each deploy into
website/data/nightly_builds.json for the Downloads table.

update_build_log.py now takes the commit sha and subject as arguments. It used to
read git HEAD, which is wrong here: the deploy switches the work tree to this
branch before recording, and at that point HEAD is this branch's own orphan
commit rather than the app commit being released. Omitting the arguments still
falls back to git, so running it by hand is unchanged.

Verified: Hugo builds all 15 pages from this branch alone, and nothing in the
branch's .gitignore (which excludes /android, /ios, /build and friends) swallows
any of the added files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant