Skip to content

Commit

Permalink
Unstick release 0.9.0 (#1002)
Browse files Browse the repository at this point in the history
* Unstick release 0.9.0

Got stuck with this release, as we have new crates that also need to be
published and I hadn't factored that into the new publishing steps.

This includes moving the `xds` crates to being `quilkin-xds` so there
was less concern with crate name collisions.

🤞🏻 hopefully this is it!

Work on #964

* Fix for Github Action.
  • Loading branch information
markmandel authored Aug 19, 2024
1 parent f517cc6 commit b62ba02
Show file tree
Hide file tree
Showing 11 changed files with 74 additions and 53 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ jobs:
- name: Install nextest
run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin
- name: Build
run: cargo build -p qt -p quilkin -p xds --tests
- run: cargo nextest run -p qt -p quilkin -p xds quilkin
run: cargo build -p qt -p quilkin -p quilkin-xds --tests
- run: cargo nextest run -p qt -p quilkin -p quilkin-xds quilkin

build:
name: Build
Expand Down
68 changes: 34 additions & 34 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ test = false
[dependencies]
# Local
quilkin-macros = { version = "0.9.0", path = "./crates/macros" }
xds = { path = "crates/xds" }
quilkin-xds = {version = "0.9.0",path = "crates/xds" }
quilkin-proto.workspace = true

# Crates.io
Expand Down Expand Up @@ -206,7 +206,7 @@ prometheus = { version = "0.13.3", default-features = false }
prost = "0.12"
prost-types = "0.12"
quilkin = { path = "." }
quilkin-proto = { path = "crates/quilkin-proto" }
quilkin-proto = {version = "0.9.0", path = "crates/quilkin-proto" }
rand = "0.8.5"
regex = "1.9.6"
serde = { version = "1.0.188", features = ["derive", "rc"] }
Expand Down
17 changes: 16 additions & 1 deletion build/templates/release-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@
- [ ] Update Cargo version for release
- [ ] Edit the `version` field in `./Cargo.toml` and remove the `-dev` suffix.
- [ ] Edit the `quilkin-macros` dependency in `./Cargo.toml` and remove the `-dev` suffix.
- [ ] Edit the `quilkin-proto` dependency in `./Cargo.toml` and remove the `-dev` suffix.
- [ ] Edit the `quilkin-xds` dependency in `./Cargo.toml` and remove the `-dev` suffix.
- [ ] Edit the `version` field in `./crates/macros/Cargo.toml` and remove the `-dev` suffix.
- [ ] Edit the `version` field in `./crates/quilkin-proto/Cargo.toml` and remove the `-dev` suffix.
- [ ] Edit the `version` field in `./crates/xds/Cargo.toml` and remove the `-dev` suffix.
- [ ] cd to `./build/release` and run `make` to submit the cloud build
- [ ] Download all the artifacts from the cloud build.
- [ ] Review `license.html` to ensure that there aren't any new MPL, or CDDL dependencies from the last
Expand All @@ -24,6 +28,9 @@
so that the source is archived in the container image.
- [ ] Reset checklist back to "run `make` to submit the cloud build", and start from there again.
- [ ] Run `cd crates/macros && cargo publish --dry-run --allow-dirty` and ensure there are no issues.
- [ ] Run `cd crates/quilkin-protos && cargo publish --dry-run --allow-dirty` and ensure there are no issues.
- [ ] Run `cd crates/xds && cargo publish --dry-run --allow-dirty` and ensure there are no issues.
- [ ] Run `cargo publish --dry-run --allow-dirty` and ensure there are no issues.
- [ ] Run `cargo clippy` in the root directory, and ensure there are no issues.
- [ ] Add a release item to README.md "Documentation" > "Releases" list with related links in reverse chronological
order.
Expand Down Expand Up @@ -53,8 +60,16 @@
`version`.
- [ ] Edit the `quilkin-macros` dependency in `./Cargo.toml` and increment the [minor version](https://semver.org/)
and apply the `-dev` suffix to the `version`.
- [ ] Edit the `version` field in `./macros/Cargo.toml`and increment the [minor version](https://semver.org/)
- [ ] Edit the `quilkin-protos` dependency in `./Cargo.toml` and increment the [minor version](https://semver.org/)
and apply the `-dev` suffix to the `version`.
- [ ] Edit the `quilkin-xds` dependency in `./Cargo.toml` and increment the [minor version](https://semver.org/)
and apply the `-dev` suffix to the `version`.
- [ ] Edit the `version` field in `./crates/macros/Cargo.toml`and increment the [minor version](https://semver.org/)
and apply the `-dev` suffix to the `version`.
- [ ] Edit the `version` field in `./crates/quilkin-protos/Cargo.toml`and increment the [minor version](https://semver.org/)
and apply the `-dev` suffix to the `version`.
- [ ] Edit the `version` field in `./crates/xds/Cargo.toml`and increment the [minor version](https://semver.org/)
and apply the `-dev` suffix to the `version`.
- [ ] Submit this change as a PR, and merge with approval.

Congratulation! 🎉 You have successfully released Quilkin!
5 changes: 4 additions & 1 deletion crates/quilkin-proto/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@

[package]
name = "quilkin-proto"
version = "0.1.0"
version = "0.9.0"
description = "Quilkin is a non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more."
homepage = "https://github.com/googleforgames/quilkin"
repository = "https://github.com/googleforgames/quilkin"
edition.workspace = true
license.workspace = true

Expand Down
7 changes: 5 additions & 2 deletions crates/xds/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
[package]
name = "xds"
version = "0.1.0"
name = "quilkin-xds"
version = "0.9.0"
description = "Quilkin is a non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more."
homepage = "https://github.com/googleforgames/quilkin"
repository = "https://github.com/googleforgames/quilkin"
edition.workspace = true
license.workspace = true

Expand Down
14 changes: 7 additions & 7 deletions src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ pub struct Config {
pub datacenter: DatacenterConfig,
}

impl xds::config::Configuration for Config {
impl quilkin_xds::config::Configuration for Config {
fn identifier(&self) -> String {
(*self.id.load()).clone()
}
Expand All @@ -99,14 +99,14 @@ impl xds::config::Configuration for Config {
resources: Vec<XdsResource>,
removed_resources: &[String],
remote_addr: Option<std::net::SocketAddr>,
) -> xds::Result<()> {
) -> quilkin_xds::Result<()> {
self.apply_delta(type_url, resources, removed_resources, remote_addr)
}

fn delta_discovery_request(
&self,
client_state: &xds::config::ClientState,
) -> xds::Result<DeltaDiscoveryRes> {
client_state: &quilkin_xds::config::ClientState,
) -> quilkin_xds::Result<DeltaDiscoveryRes> {
self.delta_discovery_request(client_state)
}

Expand All @@ -120,7 +120,7 @@ impl xds::config::Configuration for Config {

fn on_changed(
&self,
control_plane: xds::server::ControlPlane<Self>,
control_plane: quilkin_xds::server::ControlPlane<Self>,
) -> impl std::future::Future<Output = ()> + Send + 'static {
let mut cluster_watcher = self.clusters.watch();

Expand Down Expand Up @@ -217,7 +217,7 @@ impl Config {
/// from those of the client
pub fn delta_discovery_request(
&self,
client_state: &xds::config::ClientState,
client_state: &quilkin_xds::config::ClientState,
) -> crate::Result<DeltaDiscoveryRes> {
let mut resources = Vec::new();
let mut removed = std::collections::HashSet::new();
Expand Down Expand Up @@ -331,7 +331,7 @@ impl Config {
}

let resource = crate::xds::Resource::Cluster(
xds::generated::quilkin::config::v1alpha1::Cluster {
quilkin_xds::generated::quilkin::config::v1alpha1::Cluster {
locality: key.clone().map(|l| l.into()),
endpoints: value.endpoints.iter().map(|ep| ep.into()).collect(),
},
Expand Down
2 changes: 1 addition & 1 deletion src/filters/token_router.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use crate::{
net::endpoint::metadata,
};

use xds::generated::quilkin::filters::token_router::v1alpha1 as proto;
use quilkin_xds::generated::quilkin::filters::token_router::v1alpha1 as proto;

/// Filter that only allows packets to be passed to Endpoints that have a matching
/// connection_id to the token stored in the Filter's dynamic metadata.
Expand Down
2 changes: 1 addition & 1 deletion src/net.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ pub mod endpoint;
pub(crate) mod maxmind_db;
pub mod phoenix;

pub use xds;
pub use quilkin_xds as xds;
pub use xds::net::TcpListener;

use std::{
Expand Down
2 changes: 1 addition & 1 deletion src/net/endpoint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ pub use self::{
metadata::DynamicMetadata,
};

pub use xds::locality::Locality;
pub use quilkin_xds::locality::Locality;

pub type EndpointMetadata = metadata::MetadataView<Metadata>;
pub use base64_set::Set;
Expand Down
2 changes: 1 addition & 1 deletion src/xds.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

use ::xds::generated::quilkin::config::v1alpha1 as proto;
use ::quilkin_xds::generated::quilkin::config::v1alpha1 as proto;
use prost::Message;
use prost_types::Any;

Expand Down

0 comments on commit b62ba02

Please sign in to comment.