This guide covers deploying WP-SCSS to the WordPress.org plugin repository using GitHub Actions.
Automatically deploys when you create a new tag:
# Create and push a new tag
git tag 4.0.4
git push origin 4.0.4Use the workflow dispatch option:
- Go to Actions → Deploy to WordPress.org
- Click "Run workflow"
- Optionally enable "dry-run" to test without deploying
Ensure these files have matching version numbers:
-
wp-scss.php(Plugin header andWPSCSS_VERSION_NUM) -
readme.txt(Stable tag)
- Test plugin functionality locally
- Verify no PHP errors or warnings
- Check WordPress coding standards compliance
- Update
readme.txtchangelog - Update
README.mdif needed - Document any breaking changes
-
Update Version Numbers
# Update version in wp-scss.php (plugin header and `WPSCSS_VERSION_NUM` constant) # Update stable tag in readme.txt (under "Stable tag" in the file header)
-
Commit Changes
git add . git commit -m "Version bump to X.X.X" git push origin master
-
Create Release Tag
git tag X.X.X git push origin X.X.X
-
Monitor Deployment
- GitHub Actions will automatically trigger
- Check the Actions tab for deployment status
- Verify the plugin updates on WordPress.org
Authentication Failed
- Verify SVN_USERNAME and SVN_PASSWORD secrets
- Check WordPress.org account permissions
Version Conflicts
- Ensure tag version matches plugin file versions
- Check that the tag doesn't already exist
Build Failures
- Review GitHub Actions logs
- Test deployment with dry-run first
If GitHub Actions fails, deploy manually:
# Clone SVN repository
svn co https://plugins.svn.wordpress.org/wp-scss wp-scss-svn
# Copy files to trunk
cp -r wp-scss/* wp-scss-svn/trunk/
# Create tag directory
svn cp trunk tags/X.X.X
# Commit changes
svn ci -m "Version X.X.X"The deployment workflow (.github/workflows/deploy.yml) includes:
- Automatic deployment on tag push
- Manual dispatch with dry-run option
- Uses 10up/action-wordpress-plugin-deploy@v2
- Runs on Ubuntu latest
- Test First: Use dry-run mode for new deployments
- Semantic Versioning: Follow semver (major.minor.patch)
- Changelog: Always update readme.txt changelog
- Backup: Keep local backups before major releases
- Monitor: Watch WordPress.org for user feedback post-deployment
- Version numbers updated consistently
- Code tested locally
- Changelog updated in readme.txt
- Breaking changes documented
- Git tag created and pushed
- GitHub Actions deployment successful
- WordPress.org plugin page updated
- User notifications sent (if needed)