CI, Binaries, and Releases¶
What CI does¶
The existing CI workflow:
- runs lint and tests
- builds one-file executables with PyInstaller on Linux and Windows
- uploads build artifacts in each run
- publishes release assets on tags like
v0.2.0 - publishes multi-arch Docker images to Docker Hub on tags like
v0.2.0
Published release files:
hawkbit-linux-x86_64hawkbit-windows-x86_64.exe
Published Docker image tags:
<dockerhub-user>/hawkbit-cli:vX.Y.Z<dockerhub-user>/hawkbit-cli:latest
Docker Hub publishing setup¶
The Docker workflow is defined in .github/workflows/docker.yml.
Configure repository secrets:
DOCKERHUB_USERNAMEDOCKERHUB_TOKEN(Docker Hub access token)
Then push a Git tag:
git tag v0.2.0
git push origin v0.2.0
The workflow will build and push linux/amd64 and linux/arm64 images.
Local binary build¶
make build-binary
./dist/hawkbit --help