chore(ci): Use 1.0.0 as version base (#2949)

Fixes #2948 

So it seems that it's easiest just to use an old-fashioned semver
string. This means we'll need to keep a version matrix in the docs of
which components are supported and for how long, but it's better than
having different version schemes for different Firezone components
altogether.
This commit is contained in:
Jamil
2023-12-19 06:19:16 -08:00
committed by GitHub
parent 64f76f5edb
commit b28e99cdab
21 changed files with 44 additions and 52 deletions

View File

@@ -4,7 +4,7 @@ on:
env:
# mark:automatic-version
VERSION: "1.20231001.0"
VERSION: "1.0.0"
jobs:
plan-deploy:

View File

@@ -6,7 +6,7 @@ on:
env:
# mark:automatic-version
VERSION: "1.20231001.0"
VERSION: "1.0.0"
jobs:
ci:

View File

@@ -73,7 +73,7 @@ jobs:
id-token: write
env:
# mark:automatic-version
VERSION: "1.20231001.0"
VERSION: "1.0.0"
APPLICATION_NAME: ${{ matrix.image_name }}
steps:
- name: Set up Docker Buildx

View File

@@ -22,7 +22,7 @@ env:
# Maybe we can make it part of cd.yml?
#
# mark:automatic-version
VERSION: "1.20231001.0"
VERSION: "1.0.0"
concurrency:
group: "cd-production-${{ github.workflow }}-${{ github.ref }}"

View File

@@ -1,11 +1,7 @@
# Format:
# MAJOR: This is the marketing version, e.g. 1. Don't change it.
# MINOR: This is the current version of the portal API in YYYYMMDD format. REST consumers will request
# this API from the portal with the X-Firezone-API-Version request header.
# Increment this for breaking API changes (e.g. once a quarter)
# PATCH: Increment this for each backwards-compatible release
# Format: Semver
# See discussion here: https://github.com/firezone/firezone/issues/2041
version = 1.20231001.0
# and PR changing it here: https://github.com/firezone/firezone/pull/2949
version = 1.0.0
.PHONY: version

View File

@@ -1 +1 @@
1.20231001.0
1.0.0

View File

@@ -46,7 +46,7 @@ android {
targetSdk = 33
versionCode = (System.currentTimeMillis() / 1000 / 10).toInt()
// mark:automatic-version
versionName = "1.20231001.0"
versionName = "1.0.0"
multiDexEnabled = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

22
rust/Cargo.lock generated
View File

@@ -1086,7 +1086,7 @@ dependencies = [
[[package]]
name = "connlib-client-android"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"connlib-client-shared",
"ip_network",
@@ -1103,7 +1103,7 @@ dependencies = [
[[package]]
name = "connlib-client-apple"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"anyhow",
"connlib-client-shared",
@@ -1122,7 +1122,7 @@ dependencies = [
[[package]]
name = "connlib-client-shared"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"anyhow",
"async-compression",
@@ -1152,7 +1152,7 @@ dependencies = [
[[package]]
name = "connlib-shared"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"base64 0.21.5",
"boringtun",
@@ -1847,7 +1847,7 @@ dependencies = [
[[package]]
name = "firezone-cli-utils"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"clap",
"ctrlc",
@@ -1860,7 +1860,7 @@ dependencies = [
[[package]]
name = "firezone-gateway"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"anyhow",
"async-trait",
@@ -1888,7 +1888,7 @@ dependencies = [
[[package]]
name = "firezone-linux-client"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"anyhow",
"clap",
@@ -1901,7 +1901,7 @@ dependencies = [
[[package]]
name = "firezone-relay"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"anyhow",
"axum",
@@ -1943,7 +1943,7 @@ dependencies = [
[[package]]
name = "firezone-tunnel"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"arc-swap",
"async-trait",
@@ -1981,7 +1981,7 @@ dependencies = [
[[package]]
name = "firezone-windows-client"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"anyhow",
"clap",
@@ -4254,7 +4254,7 @@ dependencies = [
[[package]]
name = "phoenix-channel"
version = "1.20231001.0"
version = "1.0.0"
dependencies = [
"base64 0.21.5",
"futures",

View File

@@ -1,7 +1,7 @@
[package]
name = "connlib-client-android"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
[lib]

View File

@@ -1,7 +1,7 @@
[package]
name = "connlib-client-apple"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
[features]

View File

@@ -1,7 +1,7 @@
[package]
name = "connlib-client-shared"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
[features]

View File

@@ -1,7 +1,7 @@
[package]
name = "connlib-shared"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@@ -1,7 +1,7 @@
[package]
name = "firezone-tunnel"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
[dependencies]

View File

@@ -1,7 +1,7 @@
[package]
name = "firezone-cli-utils"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@@ -1,7 +1,7 @@
[package]
name = "firezone-gateway"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@@ -1,7 +1,7 @@
[package]
name = "firezone-linux-client"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@@ -1,7 +1,7 @@
[package]
name = "phoenix-channel"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@@ -1,7 +1,7 @@
[package]
name = "firezone-relay"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
edition = "2021"
[dependencies]

View File

@@ -1,7 +1,7 @@
[package]
name = "firezone-windows-client"
# mark:automatic-version
version = "1.20231001.0"
version = "1.0.0"
description = "Firezone Windows Client"
edition = "2021"

View File

@@ -587,7 +587,7 @@
);
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-ios/debug";
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.20231001.0;
MARKETING_VERSION = 1.0.0;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-lconnlib";
PRODUCT_BUNDLE_IDENTIFIER = "$(inherited).network-extension";
@@ -629,7 +629,7 @@
);
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-ios/release";
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MARKETING_VERSION = 1.20231001.0;
MARKETING_VERSION = 1.0.0;
OTHER_LDFLAGS = "-lconnlib";
PRODUCT_BUNDLE_IDENTIFIER = "$(inherited).network-extension";
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -673,7 +673,7 @@
"LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-darwin/debug";
"LIBRARY_SEARCH_PATHS[arch=arm64e]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-darwin/debug";
"LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(CONNLIB_TARGET_DIR)/x86_64-apple-darwin/debug";
MARKETING_VERSION = 1.20231001.0;
MARKETING_VERSION = 1.0.0;
OTHER_LDFLAGS = "-lconnlib";
PRODUCT_BUNDLE_IDENTIFIER = "$(inherited).network-extension";
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -716,7 +716,7 @@
"LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-darwin/release";
"LIBRARY_SEARCH_PATHS[arch=arm64e]" = "$(CONNLIB_TARGET_DIR)/aarch64-apple-darwin/release";
"LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(CONNLIB_TARGET_DIR)/x86_64-apple-darwin/release";
MARKETING_VERSION = 1.20231001.0;
MARKETING_VERSION = 1.0.0;
OTHER_LDFLAGS = "-lconnlib";
PRODUCT_BUNDLE_IDENTIFIER = "$(inherited).network-extension";
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -910,7 +910,7 @@
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MARKETING_VERSION = 1.20231001.0;
MARKETING_VERSION = 1.0.0;
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = "$(inherited)";
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -961,7 +961,7 @@
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MARKETING_VERSION = 1.20231001.0;
MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = "$(inherited)";
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)";
PRODUCT_NAME = "$(TARGET_NAME)";

View File

@@ -10,20 +10,16 @@ high-availability deployments.
## How versioning works in Firezone
Firezone uses a simple versioning scheme with the following structure:
Firezone uses a semantic version scheme in the following format:
`MARKETING`.`API_DATE`.`PATCH`
`MAJOR`.`MINOR`.`PATCH`
Each of these fields is described below.
Firezone is changing rapidly, so we currently recommend staying as up-to-date as
possible to make sure you have the latest bug fixes and performance improvements
in place.
| Version field | Example | Explanation |
| ------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MARKETING` | `1` | Marketing version. Updates to this version generally constitute a new architecture or product. Updated every few years on average. |
| `API_DATE` | `20231001` | API version. Clients and gateways **must** be the same API version to function together. The Firezone admin portal supports the latest **two** API versions at the same time. Updated every 6 months on average. |
| `PATCH` | `11` | Patch version. Represents backwards-compatible bug fixes and updates that are generally recommended for all users. Updated on average every week. |
All Firezone components follow the structure above, so it is trivial to
determine which clients work with which gateways and for how long.
All components currently have a major version of `1` -- this is not expected to
change for some time.
## Client application auto-updates