Skip to content

Commit 97e89c6

Browse files
authored
Use correct URL while checking for new release (#205)
1 parent 5e20d5c commit 97e89c6

File tree

4 files changed

+30
-20
lines changed

4 files changed

+30
-20
lines changed

server/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ static-files = "0.2.1"
5959
cargo_toml = "0.12.4"
6060
ureq = "2.5.0"
6161
sha1_smol = { version = "1.0.0", features = ["std"] }
62-
vergen = { version = "7.4.2", features = ["build", "git"] }
62+
vergen = { version = "7.4.2", features = ["build", "git", "cargo"] }
6363
zip = { version = "0.6.3", default_features = false, features = ["deflate"] }
6464

6565
[dev-dependencies]

server/build.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,14 @@
1616
*
1717
*/
1818

19-
use vergen::{vergen, Config};
19+
use vergen::{vergen, Config, ShaKind};
2020

2121
fn main() {
2222
// Init vergen
23-
if let Err(e) = vergen(Config::default()) {
23+
let mut config = Config::default();
24+
*config.git_mut().sha_kind_mut() = ShaKind::Short;
25+
26+
if let Err(e) = vergen(config) {
2427
println!(
2528
"cargo:warning=initializing vergen failed due to error: {}",
2629
e

server/src/banner.rs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ pub mod version {
7070
// print current version
7171
let current = current();
7272

73-
match current {
73+
match current.0 {
7474
ParseableVersion::Version(current_version) => {
7575
// not eprintln because if it is old release then time passed with be displayed beside it
7676
eprint!(
@@ -118,24 +118,30 @@ pub mod version {
118118
}
119119
}
120120

121-
pub fn current() -> ParseableVersion {
121+
pub fn current() -> (ParseableVersion, String) {
122122
let build_semver = env!("VERGEN_BUILD_SEMVER");
123-
123+
let sha_hash = env!("VERGEN_GIT_SHA_SHORT");
124124
let mut git_semver = env!("VERGEN_GIT_SEMVER");
125125

126126
if &git_semver[..1] == "v" {
127127
git_semver = &git_semver[1..];
128128
}
129129

130130
if build_semver == git_semver {
131-
ParseableVersion::Version(
132-
semver::Version::parse(build_semver)
133-
.expect("VERGEN_BUILD_SEMVER is always valid semver"),
131+
(
132+
ParseableVersion::Version(
133+
semver::Version::parse(build_semver)
134+
.expect("VERGEN_BUILD_SEMVER is always valid semver"),
135+
),
136+
sha_hash.to_string(),
134137
)
135138
} else {
136-
ParseableVersion::Prerelease(
137-
semver::Prerelease::new(git_semver)
138-
.expect("VERGEN_GIT_SEMVER is always valid semver"),
139+
(
140+
ParseableVersion::Prerelease(
141+
semver::Prerelease::new(git_semver)
142+
.expect("VERGEN_GIT_SEMVER is always valid semver"),
143+
),
144+
sha_hash.to_string(),
139145
)
140146
}
141147
}

server/src/utils.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ pub mod header_parsing {
9595
pub enum ParseHeaderError {
9696
#[error("Too many headers received. Limit is of 5 headers")]
9797
MaxHeadersLimitExceeded,
98-
#[error("A value passed in header is not formattable to plain visible ASCII")]
98+
#[error("A value passed in header can't be formatted to plain visible ASCII")]
9999
InvalidValue,
100100
#[error("Invalid Key was passed which terminated just after the end of prefix")]
101101
Emptykey,
@@ -154,13 +154,14 @@ pub mod update {
154154
"Native".to_string()
155155
}
156156

157-
// User Agent for Github API call
158-
// Format: Parseable/<version> (OS; Platform)
157+
// User Agent for Download API call
158+
// Format: Parseable/<version>/<commit_hash> (OS; Platform)
159159
fn user_agent() -> String {
160160
let info = os_info::get();
161161
format!(
162-
"Parseable/{} ({}; {})",
163-
current(),
162+
"Parseable/{}/{} ({}; {})",
163+
current().0,
164+
current().1,
164165
info.os_type(),
165166
is_docker()
166167
)
@@ -170,19 +171,19 @@ pub mod update {
170171
let agent = ureq::builder().user_agent(user_agent().as_str()).build();
171172

172173
let json: serde_json::Value = agent
173-
.get("https://api.github.com/repos/parseablehq/parseable/releases/latest")
174+
.get("https://download.parseable.io/latest-version")
174175
.call()?
175176
.into_json()?;
176177

177178
let version = json["tag_name"]
178179
.as_str()
179180
.and_then(|ver| ver.strip_prefix('v'))
180181
.and_then(|ver| semver::Version::parse(ver).ok())
181-
.ok_or_else(|| anyhow!("Bad parse when parsing verison"))?;
182+
.ok_or_else(|| anyhow!("Failed parsing version"))?;
182183

183184
let date = json["published_at"]
184185
.as_str()
185-
.ok_or_else(|| anyhow!("Bad parse when parsing published date"))?;
186+
.ok_or_else(|| anyhow!("Failed parsing published date"))?;
186187

187188
let date = chrono::DateTime::parse_from_rfc3339(date)
188189
.expect("date-time from github is in rfc3339 format")

0 commit comments

Comments
 (0)