Skip to content

Commit 2b63caa

Browse files
committed
f
1 parent e28c6ce commit 2b63caa

File tree

1 file changed

+31
-38
lines changed

1 file changed

+31
-38
lines changed

README.md

Lines changed: 31 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -300,55 +300,48 @@ make initial-release
300300
make kurl-proxy-down-ec
301301
```
302302
303-
## Upgrading K0s Minor Version
303+
## Dependency Versions
304304
305-
To upgrade the K0s minor version in Embedded Cluster, you can use the provided update script ./scripts/k0s-update-dependencies.sh.
306-
This script will update the K0s dependency version across the project and regenerate necessary files. This is automated in the .github/workflows/dependencies.yaml GitHub Actions workflow.
305+
The [versions.mk](versions.mk) file serves as the single source of truth for all external dependency versions.
307306
308-
### Using the Update Script
307+
### Automated Version Updates
309308
310-
The update script automates the process of upgrading K0s to a new minor version:
309+
Dependency versions are automatically kept up-to-date through the [.github/workflows/dependencies.yaml](.github/workflows/dependencies.yaml) GitHub Actions workflow, which will run on a schedule and create a pull request for version updates when appropriate.
311310
312-
```bash
313-
./scripts/k0s-update-dependencies.sh [TARGET_MINOR]
314-
```
311+
## Upgrading K0s Minor Version
315312
316-
**Parameters:**
317-
- `[TARGET_MINOR]` - The target K0s minor version (e.g., `1.28`, `1.29`, `1.30`)
313+
To upgrade the K0s minor version, the [.github/workflows/dependencies.yaml](.github/workflows/dependencies.yaml) workflow can be triggered manually with the target minor version as input.
318314
319-
**Examples:**
320-
```bash
321-
# Upgrade to K0s 1.29.x
322-
./scripts/k0s-update-dependencies.sh 1.29
315+
> **Note:** For patch version updates within the same minor version (e.g., 1.33.4 to 1.33.5), the [automated dependency workflow](#automated-version-updates) handles this automatically.
323316
324-
# Upgrade to K0s 1.30.x
325-
./scripts/k0s-update-dependencies.sh 1.30
326-
```
317+
## Releasing
327318
328-
### What the Script Does
319+
Embedded Cluster maintains support for the current and two previous K0s minor versions, ensuring backward compatibility while supporting the latest features.
320+
All supported versions are released simultaneously from the main branch using a structured tagging approach that combines the application version with the supported K0s version.
329321
330-
The update script performs the following operations:
322+
### Release Tagging Strategy
331323
332-
1. **Updates Go module dependencies** - Modifies `go.mod` files to use the new K0s version
333-
2. **Regenerates CRDs** - Updates Custom Resource Definitions for the new K0s version
334-
3. **Updates build configurations** - Modifies build scripts and Dockerfiles as needed
335-
4. **Regenerates manifests** - Updates Kubernetes manifests and deployment files
324+
Releases follow the format: `{APP_VERSION}+k0s-{K0S_MINOR_VERSION}`
336325
337-
### After Running the Script
326+
**Examples:**
327+
- `2.10.0+k0s-1.33` - Application version 2.10.0 with K0s 1.33.x support
328+
- `2.10.0+k0s-1.32` - Application version 2.10.0 with K0s 1.32.x support
329+
- `2.10.0+k0s-1.31` - Application version 2.10.0 with K0s 1.31.x support
338330
339-
1. **Review changes** - The script will show you what files were modified
340-
2. **Test the build** - Verify that the project builds successfully:
341-
```bash
342-
make build
343-
```
344-
3. **Run tests** - Ensure all tests pass with the new version:
345-
```bash
346-
make unit-tests
347-
make test-integration
348-
```
349-
4. **Test installation** - Verify that installation works with the new K0s version:
331+
### Release Process
332+
333+
1. **Prepare the release commit** - Ensure all changes are committed and tested
334+
2. **Create annotated tags** - Tag the same commit with all supported K0s minor versions using annotated tags with descriptive messages:
350335
```bash
351-
make initial-release
352-
make create-node0
353-
# Test installation process
336+
# Tag for K0s 1.33.x support
337+
git tag -a 2.10.0+k0s-1.33 -m "Release 2.10.0+k0s-1.33"
338+
git push origin 2.10.0+k0s-1.33
339+
340+
# Tag for K0s 1.32.x support
341+
git tag -a 2.10.0+k0s-1.32 -m "Release 2.10.0+k0s-1.32"
342+
git push origin 2.10.0+k0s-1.32
343+
344+
# Tag for K0s 1.31.x support
345+
git tag -a 2.10.0+k0s-1.31 -m "Release 2.10.0+k0s-1.31"
346+
git push origin 2.10.0+k0s-1.31
354347
```

0 commit comments

Comments
 (0)