This action uses a release-based distribution model to avoid committing large
dist/ files to the repository.
- The
dist/folder is NOT committed to themainbranch (it's in.gitignore) - When you push a version tag (e.g.,
v1.0.0), the release workflow:- Builds the action (
pnpm run package) - Creates a
releases/v1branch (or updates it if it exists) - Commits the built
dist/files to that release branch - Updates the major version tag (e.g.,
v1) to point to the release branch - Creates a GitHub release
- Builds the action (
Update the version in package.json:
# For patch releases (bug fixes)
pnpm version patch
# For minor releases (new features)
pnpm version minor
# For major releases (breaking changes)
pnpm version majorThis will create a git tag automatically.
git push origin main --follow-tagsThe release workflow will automatically:
- Build the distribution files
- Create/update a release branch (e.g.,
releases/v1) - Commit the built files to the release branch
- Update the major version tag (e.g.,
v1) to point to the release branch - Create a GitHub release
Users can reference your action in three ways:
- uses: logickoder/firebase-distribution@v1This automatically gets the latest v1.x.x release. The major version tag is automatically updated when you release new versions.
- uses: logickoder/firebase-distribution@v1.2.3This pins to a specific version for maximum stability.
- uses: logickoder/firebase-distribution@mainNote: The main branch doesn't contain dist/, so this won't work for
production. Use release tags instead.
To test changes before releasing:
- Create a development release with a pre-release tag:
git tag v1.0.0-alpha.1
git push origin v1.0.0-alpha.1- Reference it in your workflow:
- uses: logickoder/firebase-distribution@v1.0.0-alpha.1For local development, you can still build and test:
# Build the action
pnpm run package
# The dist/ folder will be created locally but won't be committed✅ Clean Main Branch - No large dist/ files in main branch history
✅ Cleaner PRs - Pull requests only show source code changes
✅ Isolated Builds - Built files separated in release branches
✅ Works with GitHub Actions - Users reference tags/branches directly
✅ Standard Practice - Follows common GitHub Actions patterns
If users get an error that the action can't be found:
- Ensure you've pushed at least one version tag
- Check that the release workflow completed successfully
- Verify the tag follows semantic versioning (e.g.,
v1.0.0)
The major version tag (e.g., v1) only updates for stable releases. Pre-release
versions (alpha, beta, rc) don't update the major version tag.