updated build process

This commit is contained in:
Dustin Farley
2025-12-06 11:10:31 -08:00
parent 27d63583a5
commit e3092776bf
12 changed files with 201 additions and 46 deletions
+13 -8
View File
@@ -8,18 +8,21 @@ This workflow automatically builds and deploys the project to GitHub Pages whene
1. **Build Stage:**
- Checks out the repository
- Sets up Node.js (v18)
- Sets up Node.js (v20) with npm cache enabled
- Installs dependencies with `npm ci`
- Runs test suite with `npm run test:all`
- Runs `npm run build` which:
- Copies static files to `dist/` (`copy-static.js`)
- Builds transformer index (`build-index.js`)
- Bundles all transformers (`build-transforms.js`)
- Generates emoji data (`build-emoji-data.js`)
- Bundles all transformers to `dist/js/bundles/` (`build-transforms.js`)
- Generates emoji data to `dist/js/data/` (`build-emoji-data.js`)
- Injects tool scripts (`inject-tool-scripts.js`)
- Injects tool templates into `index.html` (`inject-tool-templates.js`)
- Uploads the entire project as a Pages artifact
- Injects tool templates into `dist/index.html` (`inject-tool-templates.js`)
- Verifies critical build files exist in `dist/`
- Uploads only the `dist/` folder as a Pages artifact (7-day retention)
2. **Deploy Stage:**
- Deploys the artifact to GitHub Pages
- Deploys the `dist/` artifact to GitHub Pages
- Makes the site available at your GitHub Pages URL
### Manual Deployment
@@ -40,9 +43,11 @@ The site will be available at: `https://<username>.github.io/<repository-name>/`
### Troubleshooting
- **Build fails**: Check the Actions tab for error logs
- **Tests fail**: Run `npm run test:all` locally to debug issues
- **Missing templates**: Ensure all templates exist in `templates/` directory
- **Test locally first**: Run `npm run build:templates` before pushing to catch errors early
- **Verify build output**: Check that `index.html` contains injected templates after build
- **Test locally first**: Run `npm run build` before pushing to catch errors early
- **Verify build output**: Check that `dist/index.html` and other files exist in `dist/` folder after build
- **Build timeout**: Build has a 10-minute timeout; if it exceeds this, check for infinite loops or large file processing
### Workflow Triggers