mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 18:45:53 +00:00
3.3 KiB
3.3 KiB
Release Process for ProxMox Pulse
This document outlines the process for creating new releases of the ProxMox Pulse application.
Automated Release Process
We have an automated release script that handles most of the release process. The script:
- Updates version numbers in all relevant files
- Commits and pushes the changes
- Creates and pushes a Git tag
- Builds and pushes Docker images
- Creates a GitHub release
Prerequisites
Before running the release script, ensure you have:
- Git configured with appropriate credentials
- Docker installed and logged in to Docker Hub
- GitHub CLI (
gh) installed and authenticated - All changes you want to include in the release are committed
Running the Release Script
To create a new release:
./scripts/release.sh <version>
For example:
./scripts/release.sh 1.0.13
The script will:
- Check that you're on the main branch and have a clean working directory
- Update version numbers in:
frontend/src/utils/version.jspackage.jsonfrontend/package.jsonDockerfilelabels
- Commit and push these changes
- Create and push a Git tag (e.g.,
v1.0.13) - Build Docker images for both the specific version and
latest - Push the Docker images to Docker Hub
- Create a GitHub release
After Running the Script
After the script completes:
- GitHub Actions workflows will be triggered automatically
- The "Update Version" workflow will run first
- Once that completes, the "Publish Docker image" workflow will run
You can check the status of these workflows with:
gh run list --limit 5
Manual Release Process (if needed)
If you need to perform a release manually, follow these steps:
-
Update version numbers in:
frontend/src/utils/version.jspackage.jsonfrontend/package.jsonDockerfilelabels
-
Commit and push these changes:
git add frontend/src/utils/version.js package.json frontend/package.json Dockerfile git commit -m "Bump version to X.Y.Z" git push origin main -
Create and push a Git tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z" git push origin vX.Y.Z -
Build Docker images:
docker build --target production -t rcourtman/pulse:X.Y.Z -t rcourtman/pulse:latest . -
Push Docker images:
docker push rcourtman/pulse:X.Y.Z docker push rcourtman/pulse:latest -
Create a GitHub release:
gh release create vX.Y.Z --title "Release vX.Y.Z" --notes "Release notes here"
Troubleshooting
GitHub Actions Workflows Not Running
If the GitHub Actions workflows don't run automatically:
- Check the workflow files in
.github/workflows/ - Ensure they're configured to trigger on the appropriate events
- Check the GitHub Actions tab in the repository for any errors
Docker Build or Push Issues
If you encounter issues with Docker:
- Ensure you're logged in to Docker Hub:
docker login - Check that you have permissions to push to the repository
- Verify that the Docker daemon is running
Version Mismatch
If you notice version mismatches:
- Check all files that contain version information
- Ensure they're all updated to the same version
- If necessary, make manual corrections and create a new patch release