Files
trail-mate/.github/workflows/pages.yml
T
liu weikai 8df3a0f2c2 feat(geocaching): integrate indexed sessions and public web directory
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.
2026-09-24 20:38:48 +08:00

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