The GitHub workflow file .github/workflows/release.yml had multiple YAML syntax errors:
- Misplaced shell commands in the
envsection - Duplicate steps with conflicting IDs
- Broken YAML structure around line 117
- Mixed workflow patterns causing validation failures
Complete Workflow Rewrite: Replaced the corrupted workflow file with a clean, working version that:
- ✅ Proper YAML syntax - No syntax errors
- ✅ Single responsibility - Each step has one clear purpose
- ✅ Modern GitHub Actions - Uses
softprops/action-gh-release@v1 - ✅ Clean structure - Proper indentation and formatting
name: Release Extension
on:
push:
tags:
- 'v*' # Triggers on version tags like v2.1
jobs:
release:
runs-on: ubuntu-latest
steps:
- Checkout code
- Setup build environment
- Get version from tag
- Create extension package
- Create source package
- Create GitHub release with attachments-
Commit the fix:
git add .github/workflows/release.yml git commit -m "Fix workflow YAML syntax" git push origin main -
Create a release:
git tag v2.1 git push origin v2.1
-
Workflow will automatically:
- Build extension packages
- Create GitHub release
- Attach downloadable files
When triggered, the workflow creates:
-
Extension Package:
always-on-top-v{VERSION}.zip- Ready for GNOME Extensions submission
- Contains compiled schemas
- Proper UUID directory structure
-
Source Package:
always-on-top-source-v{VERSION}.zip- Complete source code
- Excludes generated files
- For developers and contributors
The workflow has been validated and:
- ✅ YAML syntax is correct
- ✅ All required sections present
- ✅ Proper GitHub Actions structure
- ✅ No deprecated actions used
- ✅ Environment variables properly set
- validate-workflow.sh - Tests workflow syntax locally
- validate-extension.sh - Validates extension packages
- package-clean.sh - Creates GNOME Extensions compatible packages
The GitHub workflow is now fixed and ready to use! The next time you push a version tag, it will automatically:
- Build your extension
- Create a GitHub release
- Attach both extension and source packages
- Generate a formatted release description
No more YAML syntax errors! 🚀