From ba82d9280f00467dc3ea74925d0d9c2d6f55050b Mon Sep 17 00:00:00 2001 From: Max Gallo Date: Mon, 13 Jul 2026 12:29:12 +0200 Subject: [PATCH 1/3] feat: add release.md --- README.md | 4 ++++ RELEASE.md | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 RELEASE.md diff --git a/README.md b/README.md index e062e95..f821a40 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,10 @@ We are breaking down the various parts that we need to migrate to Swift in the s | | `fetchDatafileContent` | | | | `getValueByType` | | +### Releasing + +See [RELEASE.md](./RELEASE.md) for how to cut and publish a new version. + ### Test runner We should also have an executable as an output of this repository that can be used to run the test specs against the Kotlin SDK: https://featurevisor.com/docs/testing/ diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..758b761 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,22 @@ +# Releasing + +To cut a new release: + +1. Decide on the next version number (plain numbering, no `v` prefix, e.g. `0.0.23`). +2. Create and publish a GitHub Release with a tag matching that version, e.g. `gh release create 0.0.23 --title 0.0.23 --generate-notes`. +3. Done — no manual build/publish step needed. + +## How it works + +Publishing the release triggers [`.github/workflows/publish.yml`](./.github/workflows/publish.yml), which runs `./gradlew -Pversion= publish` and pushes the artifact to GitHub Packages. + +Separately, and independently of that workflow, [JitPack](https://jitpack.io/#featurevisor/featurevisor-kotlin) builds the same tag on demand the first time someone resolves that version — it only needs the tag to exist, not any CI to run. + +## Distribution channels + +- **JitPack** — what the [README's Installation section](./README.md#installation) tells consumers to use (`com.github.featurevisor:featurevisor-kotlin:` via `https://jitpack.io`). This is also what the only known consumer (`android-dazn-app`) actually uses. +- **GitHub Packages** — published to `https://maven.pkg.github.com/featurevisor/featurevisor-kotlin` by CI on every release. Requires authenticating to GitHub Packages to consume. + +## Notes + +- The "Latest" release marked on GitHub is currently `0.0.11`, while `0.0.12`–`0.0.22` are marked as pre-releases. From e651a51f7390e8366e96c5a60908960cbfeec1c8 Mon Sep 17 00:00:00 2001 From: Max Gallo Date: Mon, 13 Jul 2026 12:30:17 +0200 Subject: [PATCH 2/3] fix: bump ci action versions --- .github/workflows/checks.yml | 6 +++--- .github/workflows/publish.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 89bb7db..d3544e8 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -7,16 +7,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout latest code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up JDK 11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "adopt" java-version: 11 - name: Setup build cache - uses: actions/cache@v3.0.2 + uses: actions/cache@v4 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 597b106..d8a3034 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,16 +10,16 @@ jobs: steps: - name: Checkout latest code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up JDK 11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "adopt" java-version: 11 - name: Setup build cache - uses: actions/cache@v3.0.2 + uses: actions/cache@v4 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }} From 4a6a6b720449f9a89549c7651ec5b0cf27da0a8e Mon Sep 17 00:00:00 2001 From: Max Gallo Date: Mon, 13 Jul 2026 12:36:41 +0200 Subject: [PATCH 3/3] fix: remove external references --- RELEASE.md | 2 +- codestyle/codestyle.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 758b761..12acf96 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -14,7 +14,7 @@ Separately, and independently of that workflow, [JitPack](https://jitpack.io/#fe ## Distribution channels -- **JitPack** — what the [README's Installation section](./README.md#installation) tells consumers to use (`com.github.featurevisor:featurevisor-kotlin:` via `https://jitpack.io`). This is also what the only known consumer (`android-dazn-app`) actually uses. +- **JitPack** — what the [README's Installation section](./README.md#installation) tells consumers to use (`com.github.featurevisor:featurevisor-kotlin:` via `https://jitpack.io`). This is also what the only known consumer actually uses. - **GitHub Packages** — published to `https://maven.pkg.github.com/featurevisor/featurevisor-kotlin` by CI on every release. Requires authenticating to GitHub Packages to consume. ## Notes diff --git a/codestyle/codestyle.md b/codestyle/codestyle.md index dc3f690..21cd2ec 100644 --- a/codestyle/codestyle.md +++ b/codestyle/codestyle.md @@ -38,7 +38,7 @@ val someVariable = "asd" ## Empty statements or lambdas -We want to make sure that empty or blank statements are not left there by accident, that's why you need to use `doNothing()` function from `com.dazn.extensions` for marking it as intentionally empty. +We want to make sure that empty or blank statements are not left there by accident, that's why you need to use a `doNothing()` function for marking it as intentionally empty. ```kotlin when (x) {