ayakael.net/README.md
IkiWiki 39227d6118
Some checks failed
/ render (push) Failing after 34s
forgejo-cI; rename push to deploy
2024-08-25 20:45:42 -04:00

2.8 KiB

ayakael.net

Upstream: https://ayakael.net/forge/ayakael.net/actions

Build Status Push Status

Forgejo Actions

This project's static Pages are built by Forgejo Actions, following the steps defined in .forgejo/workflows/pages.yaml. That builds this website using ikiwiki, and pushes the build artifacts to the public branch.

The public branch has its own workflow following steps defined in forgejo/workflows/deploy.yaml that uploads the artifacts to a remote HTTP server for deployment in production. This workflow is automatically updated from main so that public should never be manually modified.

The deployment is done by a simple remote git push via SSH to a non-bare repo where git config receive.denyCurrentBranch is set as updateInstead. This allows this repo to be checked out as public, allowing it to be a root for your favorite HTTP server.

The following secrets are expected to be set for operation:

  • PAGES_PRIVKEY: SSH private key that is used to push to the HTTP server's git repo
  • PAGES_TOKEN: Forgejo application token used to push to public branch.

The following variables are expected to be set for operation:

  • PAGES_TARGET: SSH target for HTTP server's git repo, following this format: user@example.net:/path/to/http/repo

Building locally

To work locally with this project, you'll have to follow the steps below:

  1. Fork, clone or download this project
  2. Install ikiwiki:
  3. Generate the website: ikiwiki --setup ikiwiki.setup
  4. Start http-server: ./test-server.sh
  5. Preview your project: open 127.0.0.1:8080 in your browser

Read more at ikiwiki's documentation.

Contributing

  1. Fork the main ayakael.net repo.

  2. Checkout the forked repository.

    • git clone ssh://git@ayakael.net/$USER/ayakael.net
    • cd ayakael.net
  3. Make your changes.

  4. Do local build.

    • ikiwiki --setup ikiwiki.setup
  5. Fix any errors that come up and rebuild until it works locally.

  6. Commit the changes to the git repo in a git branch

    • git checkout -b <name>
    • git add changes
    • git commit -m 'content/index: descriptive description'
    • git push
  7. Create a merge request with your changes by following link in server response.

  8. Once the tests in the merge-request pass, and reviewers are happy, your changes will be merged.