Skip to content

feat(website): project website with nightly build tracking#651

Open
BrawlerXull wants to merge 1 commit into
CCExtractor:mainfrom
BrawlerXull:feat/project-website
Open

feat(website): project website with nightly build tracking#651
BrawlerXull wants to merge 1 commit into
CCExtractor:mainfrom
BrawlerXull:feat/project-website

Conversation

@BrawlerXull

Copy link
Copy Markdown
Collaborator

Adds a self-contained Hugo site and the CI to publish it (Deliverable 5).

Site (website/)

  • Themeless Hugo site (all layouts in-repo, no submodule/theme fetch): landing page, downloads page, and a docs skeleton, with a small dark stylesheet.
  • A nightly-builds shortcode renders the build log; the downloads page shows the most recent nightly APKs, newest first, with per-build status.
  • Ships a custom-domain CNAME (taskwarrior.ccextractor.org).

Build log

  • scripts/update_build_log.py prepends {ts, sha, msg, status, artifact, build} to website/data/nightly_builds.json (keeps the 90 most recent). The file ships empty ([]) and is populated by CI.

CI

  • build-nightly.yml: daily at 02:00 UTC (+ manual) — builds the signed nightly APK, records the result via the collector, and commits the log to main.
  • deploy-website.yml: on pushes touching website/** — builds with Hugo and deploys to GitHub Pages via actions/deploy-pages.
  • nightlydepolyci.yml: ignore website/** and scripts/** so a build-log commit does not trigger a redundant APK rebuild.

Verified locally: warning-free hugo --minify build (Hugo 0.164.0), and the collector + shortcode round-trip (entry renders on the downloads page; empty state renders when the log is []).

Deviation from the proposal, documented in website/README.md: uses the modern GitHub Actions Pages deployment instead of renaming fdroid-repo -> public-site, so the site source stays in website/ on main with no dedicated deploy branch. Manual infra steps (enable Pages, DNS, branch protection) are listed there.

Description

Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.

Fixes #(issue_no)

Replace issue_no with the issue number which is fixed in this PR

Screenshots

Checklist

  • Tests have been added or updated to cover the changes
  • Documentation has been updated to reflect the changes
  • Code follows the established coding style guidelines
  • All tests are passing

Adds a self-contained Hugo site and the CI to publish it (Deliverable 5).

Site (website/)
- Themeless Hugo site (all layouts in-repo, no submodule/theme fetch): landing
  page, downloads page, and a docs skeleton, with a small dark stylesheet.
- A `nightly-builds` shortcode renders the build log; the downloads page shows
  the most recent nightly APKs, newest first, with per-build status.
- Ships a custom-domain CNAME (taskwarrior.ccextractor.org).

Build log
- scripts/update_build_log.py prepends {ts, sha, msg, status, artifact, build}
  to website/data/nightly_builds.json (keeps the 90 most recent). The file ships
  empty ([]) and is populated by CI.

CI
- build-nightly.yml: daily at 02:00 UTC (+ manual) — builds the signed nightly
  APK, records the result via the collector, and commits the log to main.
- deploy-website.yml: on pushes touching website/** — builds with Hugo and
  deploys to GitHub Pages via actions/deploy-pages.
- nightlydepolyci.yml: ignore website/** and scripts/** so a build-log commit
  does not trigger a redundant APK rebuild.

Verified locally: warning-free `hugo --minify` build (Hugo 0.164.0), and the
collector + shortcode round-trip (entry renders on the downloads page; empty
state renders when the log is []).

Deviation from the proposal, documented in website/README.md: uses the modern
GitHub Actions Pages deployment instead of renaming fdroid-repo -> public-site,
so the site source stays in website/ on main with no dedicated deploy branch.
Manual infra steps (enable Pages, DNS, branch protection) are listed there.
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@BrawlerXull, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 31efa6bb-24bc-406a-8071-2570884847c3

📥 Commits

Reviewing files that changed from the base of the PR and between f058b4a and 98ee2d9.

📒 Files selected for processing (18)
  • .github/workflows/build-nightly.yml
  • .github/workflows/deploy-website.yml
  • .github/workflows/nightlydepolyci.yml
  • scripts/update_build_log.py
  • website/.gitignore
  • website/README.md
  • website/content/_index.md
  • website/content/docs/_index.md
  • website/content/downloads.md
  • website/data/nightly_builds.json
  • website/hugo.toml
  • website/layouts/_default/baseof.html
  • website/layouts/_default/list.html
  • website/layouts/_default/single.html
  • website/layouts/index.html
  • website/layouts/shortcodes/nightly-builds.html
  • website/static/CNAME
  • website/static/css/style.css
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@BrawlerXull BrawlerXull force-pushed the feat/project-website branch 2 times, most recently from 82b4982 to 98ee2d9 Compare July 8, 2026 14:57
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