Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 28 additions & 35 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,46 @@
name: Deploy to GitHub Pages
name: deploy

on:
push:
branches: [main]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write
workflow_dispatch: {}

concurrency:
group: "pages"
group: deploy-altermundi-website
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
build-deploy:
# Runs on the AlterMundi org self-hosted runner on the yupanki PVE host.
# Provisioned by Alter-infra yupanki/host/github-runner/provision.sh.
runs-on: [self-hosted, yupanki]
env:
SLUG: altermundi-website
CTID: "127"
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- name: Setup Pages
uses: actions/configure-pages@v5
- run: npm ci

- name: Install dependencies
run: npm ci
- run: npm run build

- name: Build
run: npm run build
- name: Verify static export exists
run: test -d out && test -f out/index.html

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./out

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
- name: Ensure staging directory exists on CT 127
run: |
sudo /usr/sbin/pct exec "$CTID" -- bash -c "rm -rf /srv/www/${SLUG}.new && mkdir -p /srv/www/${SLUG}.new"

- name: Stream build artifact into CT 127 staging
run: |
tar -C out -cf - . \
| sudo /usr/sbin/pct exec "$CTID" -- tar -C /srv/www/${SLUG}.new -xf -

- name: Promote release atomically
run: |
sudo /usr/sbin/pct exec "$CTID" -- /usr/local/bin/promote "$SLUG"
14 changes: 14 additions & 0 deletions SITE.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
domain: altermundi.net
slug: altermundi-website
has_contact_form: false
notes: >
First tenant of the AlterMundi multi-site static hosting platform.
Hosted on yupanki CT 127. Infra-as-code: AlterMundi/Alter-infra
yupanki/static-sites/. Design spec: docs/superpowers/specs/
2026-04-22-altermundi-static-sites-platform-design.md.

Current Contact section is a mailto link + GitHub link; no form.
If a form is reintroduced, add an n8n webhook workflow
(contact-altermundi) and POST JSON to
https://n8n.altermundi.net/webhook/contact-altermundi with
{name, email, message, site: "altermundi-website", website: hp}.
2 changes: 1 addition & 1 deletion components/projects.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const PROJECTS: Project[] = [
"An open-hardware WiFi router and companion mesh networking firmware, purpose-built for community networks. Designed to be affordable, durable, and deployable with low technical barriers, already powering initiatives like QuintanaLibre in rural Cordoba.",
tags: ["Networking", "Hardware", "Firmware"],
status: "Flagship",
url: "https://libremesh.org/",
url: "https://conectividad.altermundi.net/",
repoUrl: "https://gitlab.com/librerouter/",
},
{
Expand Down
Loading