Skip to content

Latest commit

 

History

History
109 lines (82 loc) · 2.77 KB

File metadata and controls

109 lines (82 loc) · 2.77 KB

GitHub Actions Pre-Push Checklist

Before pushing to trigger the GitHub Actions workflow, verify:

✅ Files Created

  • .github/workflows/build-executables.yml - Main workflow
  • .github/workflows/README.md - Workflow documentation
  • .github/README.md - GitHub config overview
  • .github/QUICKSTART.md - Quick start guide

✅ Build Script Fixed

  • build_executables.py - Removed hardcoded path /workspaces/tinynav
  • Uses os.path.dirname(os.path.abspath(__file__)) instead
  • Tested from different directories
  • Works correctly ✓

✅ Python Scripts Updated

  • visualize.py - GIF output, CLI args, Pillow writer
  • download_log.py - CLI args for port/baud
  • read_serial.py - CLI args for port/baud/grid

✅ Documentation Complete

  • EXECUTABLES_README.md - Main overview
  • BUILD_EXECUTABLES.md - Build instructions
  • dist/README.md - Distribution guide
  • dist/USAGE.md - CLI reference
  • dist/REQUIREMENTS.txt - System requirements

✅ Executables Built Locally

  • Linux executables built successfully
  • All executables tested with --help
  • Sizes: visualize (51MB), download_log (7.6MB), read_serial (42MB)

✅ Workflow Validated

  • YAML syntax valid (tested with PyYAML)
  • Workflow triggers configured correctly
  • Artifact packaging configured
  • Release integration configured

🚀 Ready to Push

All checks passed! You can now:

git add .
git commit -m "Add GitHub Actions workflow with fixed build script"
git push origin main

Then:

  1. Go to Actions tab on GitHub
  2. Manually trigger "Build Executables" workflow
  3. Wait ~10 minutes for completion
  4. Download artifacts from completed workflow

📝 Expected Workflow Steps

Linux Build (~5-7 min):

  1. Checkout code
  2. Setup Python 3.12
  3. Install requirements + PyInstaller
  4. Run build_executables.py
  5. Test executables (--help)
  6. Package as tar.gz
  7. Upload artifact

Windows Build (~6-8 min):

  1. Checkout code
  2. Setup Python 3.12
  3. Install requirements + PyInstaller + windows-curses
  4. Run build_executables.py
  5. Test executables (--help)
  6. Package as zip
  7. Upload artifact

Summary:

  • Report build status
  • Show artifact links

🐛 If Build Fails

Check logs for:

  • Missing dependencies
  • Import errors
  • PyInstaller issues
  • Test failures

All known issues have been fixed:

  • ✓ Hardcoded path removed
  • ✓ GIF format instead of MP4
  • ✓ All CLI args validated

🎉 Success Criteria

Workflow completes successfully when:

  • ✅ Both jobs (Linux + Windows) succeed
  • ✅ All tests pass (--help commands work)
  • ✅ Artifacts are uploaded
  • ✅ Summary shows green checkmarks

You should see two downloadable artifacts:

  • tinynav-linux-x86_64 (tar.gz)
  • tinynav-windows-x86_64 (zip)