mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-10-15 06:39:55 +00:00
Development checkpoint: indexed recovery, publication, GPX installation and checkpoint maintenance; public Pages client and directory/bridge services; editable TCP defaults and shared storage retry fixes. Host regression, ASAN and L2 compilation passed. Physical device acceptance and permanent service hosting remain incomplete.
122 lines
3.4 KiB
YAML
122 lines
3.4 KiB
YAML
name: Pages
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- site/**
|
|
- tools/web_simulator/**
|
|
- tests/site/**
|
|
- modules/ui_shared/**
|
|
- modules/ui_lvgl_ux_packs/**
|
|
- modules/ui_presentation/**
|
|
- modules/ui_map_runtime/**
|
|
- modules/ui_gps_runtime/**
|
|
- modules/core_sys/**
|
|
- modules/core_chat/**
|
|
- modules/core_team/**
|
|
- platform/shared/**
|
|
- platform/linux/common/**
|
|
- docs/reticulum/pages/**
|
|
- packs/**
|
|
- docs/images/**
|
|
- scripts/build_pack_repository.py
|
|
- scripts/prepare_pages_site.py
|
|
- tools/validate_locale_packs.py
|
|
- tools/unifont_bdf.py
|
|
- scripts/webflash_targets.py
|
|
- tools/generate_binfont_with_lv_font_conv.py
|
|
- tools/fonts/**
|
|
- .github/workflows/ci.yml
|
|
- .github/workflows/pages.yml
|
|
release:
|
|
types:
|
|
- published
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
concurrency:
|
|
group: github-pages
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.event.repository.default_branch }}
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "22"
|
|
|
|
- name: Configure GitHub Pages
|
|
uses: actions/configure-pages@v6
|
|
|
|
- name: Verify website localization
|
|
run: |
|
|
node site/i18n/check-catalogs.mjs
|
|
node --test tests/site/i18n-runtime.test.mjs tests/site/i18n-all-locales.test.mjs tests/site/i18n-markup.test.mjs
|
|
node --test tests/site/i18n-packs.test.mjs
|
|
|
|
- name: Install pinned Emscripten SDK
|
|
run: |
|
|
git clone --depth 1 https://github.com/emscripten-core/emsdk.git "$RUNNER_TEMP/trail-mate-emsdk"
|
|
"$RUNNER_TEMP/trail-mate-emsdk/emsdk" install 4.0.10
|
|
"$RUNNER_TEMP/trail-mate-emsdk/emsdk" activate 4.0.10
|
|
|
|
- name: Build and verify native firmware previews
|
|
run: |
|
|
source "$RUNNER_TEMP/trail-mate-emsdk/emsdk_env.sh"
|
|
emcmake cmake -S tools/web_simulator -B build/web-simulator -G Ninja -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build/web-simulator --parallel 4
|
|
node tests/site/native-ui.test.mjs
|
|
node tests/site/two-pane-layout.test.mjs
|
|
node tests/site/tracker-page.test.mjs
|
|
|
|
- name: Verify locale packs
|
|
run: python tools/validate_locale_packs.py --pack-root packs
|
|
|
|
- name: Prepare site assets
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: python scripts/prepare_pages_site.py --site-root site --repo ${{ github.repository }}
|
|
|
|
- name: Build Animal Island UI components
|
|
working-directory: site
|
|
run: |
|
|
npm ci --ignore-scripts
|
|
npm run build:components
|
|
node build-geocaching.mjs
|
|
node --test ../tests/site/geocaching-protocol.test.mjs
|
|
rm -rf node_modules
|
|
|
|
- name: Upload GitHub Pages artifact
|
|
uses: actions/upload-pages-artifact@v5
|
|
with:
|
|
path: site
|
|
|
|
deploy:
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
steps:
|
|
- name: Deploy to GitHub Pages
|
|
id: deployment
|
|
uses: actions/deploy-pages@v5
|