EmbeddedOS Developer Documentation v0.1.0 - Full API reference with s… #15
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to GitHub Pages | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Validate HTML | |
| run: | | |
| echo "── Checking for required files ──" | |
| test -f index.html || { echo "ERROR: index.html not found"; exit 1; } | |
| echo "✓ index.html exists" | |
| echo "── Checking for broken internal links ──" | |
| MISSING=0 | |
| for file in $(grep -oP 'href="(?!https?://|#|mailto:)[^"]+' index.html | sed 's/href="//'); do | |
| if [ ! -f "$file" ]; then | |
| echo "WARNING: linked file not found: $file" | |
| MISSING=$((MISSING + 1)) | |
| fi | |
| done | |
| if [ "$MISSING" -eq 0 ]; then | |
| echo "✓ No broken internal links" | |
| fi | |
| echo "── File sizes ──" | |
| for f in $(find . -name '*.html' -o -name '*.css' -o -name '*.js' | grep -v node_modules | grep -v .git); do | |
| SIZE=$(wc -c < "$f") | |
| echo " $f: ${SIZE} bytes" | |
| done | |
| echo "✓ Build validation complete" | |
| - name: Prepare CNAME | |
| run: | | |
| if [ -f CNAME ]; then | |
| DOMAIN=$(grep -v '^#' CNAME | grep -v '^$' | head -1) | |
| if [ -n "$DOMAIN" ]; then | |
| echo "$DOMAIN" > CNAME | |
| echo "✓ Custom domain: $DOMAIN" | |
| else | |
| echo "ℹ CNAME has no active domain — removing from artifact" | |
| rm -f CNAME | |
| fi | |
| else | |
| echo "ℹ No CNAME file — using default github.io domain" | |
| fi | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v5 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: . | |
| deploy: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |