You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+31-38Lines changed: 31 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -300,55 +300,48 @@ make initial-release
300
300
make kurl-proxy-down-ec
301
301
```
302
302
303
-
## Upgrading K0s Minor Version
303
+
## Dependency Versions
304
304
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.
307
306
308
-
### Using the Update Script
307
+
### Automated Version Updates
309
308
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.
- `[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.
318
314
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.
323
316
324
-
# Upgrade to K0s 1.30.x
325
-
./scripts/k0s-update-dependencies.sh 1.30
326
-
```
317
+
## Releasing
327
318
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.
329
321
330
-
The update script performs the following operations:
322
+
### Release Tagging Strategy
331
323
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}`
336
325
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
338
330
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:
350
335
```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"
0 commit comments