Skip to content

Commit

Permalink
Make update sort nightlies for the same date in a deterministic way
Browse files Browse the repository at this point in the history
  • Loading branch information
cameel committed Jul 9, 2020
1 parent 93f4e51 commit 8f96f7f
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 37 deletions.
8 changes: 4 additions & 4 deletions bin/list.js
Original file line number Diff line number Diff line change
Expand Up @@ -855,13 +855,13 @@ var soljsonSources = [
"soljson-v0.4.3-nightly.2016.10.10+commit.119bd4ad.js",
"soljson-v0.4.3-nightly.2016.9.30+commit.d5cfb17b.js",
"soljson-v0.4.2+commit.af6afb04.js",
"soljson-v0.4.2-nightly.2016.9.17+commit.0bc8476a.js",
"soljson-v0.4.2-nightly.2016.9.17+commit.212e0160.js",
"soljson-v0.4.2-nightly.2016.9.17+commit.a78e7794.js",
"soljson-v0.4.2-nightly.2016.9.17+commit.62f13ad8.js",
"soljson-v0.4.2-nightly.2016.9.17+commit.60f432e8.js",
"soljson-v0.4.2-nightly.2016.9.17+commit.0bc8476a.js",
"soljson-v0.4.2-nightly.2016.9.15+commit.8a4f8c23.js",
"soljson-v0.4.2-nightly.2016.9.17+commit.62f13ad8.js",
"soljson-v0.4.2-nightly.2016.9.17+commit.a78e7794.js",
"soljson-v0.4.2-nightly.2016.9.15+commit.6a80511f.js",
"soljson-v0.4.2-nightly.2016.9.15+commit.8a4f8c23.js",
"soljson-v0.4.2-nightly.2016.9.13+commit.2bee7e91.js",
"soljson-v0.4.2-nightly.2016.9.12+commit.149dba9b.js",
"soljson-v0.4.2-nightly.2016.9.9+commit.51a98ab8.js",
Expand Down
54 changes: 27 additions & 27 deletions bin/list.json
Original file line number Diff line number Diff line change
Expand Up @@ -234,17 +234,6 @@
"bzzr://38e2d26bcb70d3fbbe01346f84ec6a22215caa4098fdc8e7daadba6a41b2960f"
]
},
{
"path": "soljson-v0.4.2-nightly.2016.9.15+commit.6a80511f.js",
"version": "0.4.2",
"prerelease": "nightly.2016.9.15",
"build": "commit.6a80511f",
"longVersion": "0.4.2-nightly.2016.9.15+commit.6a80511f",
"keccak256": "0xe7244f1450fb75b9efd863a1b056b49ebb6dc232b7bbbfeebf33350fae46e789",
"urls": [
"bzzr://6834915de9650f23babbb64a11fc47bfbdb3edee085a12e012950dc8c558a79b"
]
},
{
"path": "soljson-v0.4.2-nightly.2016.9.15+commit.8a4f8c23.js",
"version": "0.4.2",
Expand All @@ -257,25 +246,25 @@
]
},
{
"path": "soljson-v0.4.2-nightly.2016.9.17+commit.0bc8476a.js",
"path": "soljson-v0.4.2-nightly.2016.9.15+commit.6a80511f.js",
"version": "0.4.2",
"prerelease": "nightly.2016.9.17",
"build": "commit.0bc8476a",
"longVersion": "0.4.2-nightly.2016.9.17+commit.0bc8476a",
"keccak256": "0xa21d556c01a5b92f0a3ec60c60ee5bb5d5ad62ec2bab23c9bd2ed3c3a5935105",
"prerelease": "nightly.2016.9.15",
"build": "commit.6a80511f",
"longVersion": "0.4.2-nightly.2016.9.15+commit.6a80511f",
"keccak256": "0xe7244f1450fb75b9efd863a1b056b49ebb6dc232b7bbbfeebf33350fae46e789",
"urls": [
"bzzr://6364260c647e9c68773bb02dadd1d78caa37e4e29b2da6474c9c15a458428c20"
"bzzr://6834915de9650f23babbb64a11fc47bfbdb3edee085a12e012950dc8c558a79b"
]
},
{
"path": "soljson-v0.4.2-nightly.2016.9.17+commit.60f432e8.js",
"path": "soljson-v0.4.2-nightly.2016.9.17+commit.a78e7794.js",
"version": "0.4.2",
"prerelease": "nightly.2016.9.17",
"build": "commit.60f432e8",
"longVersion": "0.4.2-nightly.2016.9.17+commit.60f432e8",
"keccak256": "0x0bcb25fd69cbb24655466c203c866e3cc4d92d9551bab4c53f420ab025eac337",
"build": "commit.a78e7794",
"longVersion": "0.4.2-nightly.2016.9.17+commit.a78e7794",
"keccak256": "0xd1bb55279a6297283df0065f0c735602dd3e71a4397b75783b1e22af3c797d19",
"urls": [
"bzzr://2efa3a6cb5c030bb53bc03c4cf78e2dd48a5d4872bd0f4a3c337ec19b2dc933f"
"bzzr://d8fe745cc4d7ff97f151cb849cc1944138dc3821cb352472cc3bf01ee1cad4a8"
]
},
{
Expand All @@ -290,14 +279,14 @@
]
},
{
"path": "soljson-v0.4.2-nightly.2016.9.17+commit.a78e7794.js",
"path": "soljson-v0.4.2-nightly.2016.9.17+commit.60f432e8.js",
"version": "0.4.2",
"prerelease": "nightly.2016.9.17",
"build": "commit.a78e7794",
"longVersion": "0.4.2-nightly.2016.9.17+commit.a78e7794",
"keccak256": "0xd1bb55279a6297283df0065f0c735602dd3e71a4397b75783b1e22af3c797d19",
"build": "commit.60f432e8",
"longVersion": "0.4.2-nightly.2016.9.17+commit.60f432e8",
"keccak256": "0x0bcb25fd69cbb24655466c203c866e3cc4d92d9551bab4c53f420ab025eac337",
"urls": [
"bzzr://d8fe745cc4d7ff97f151cb849cc1944138dc3821cb352472cc3bf01ee1cad4a8"
"bzzr://2efa3a6cb5c030bb53bc03c4cf78e2dd48a5d4872bd0f4a3c337ec19b2dc933f"
]
},
{
Expand All @@ -311,6 +300,17 @@
"bzzr://8e7cbde5a72e500c6c0185b7d580e7270e337fda18007f84ef0760cec639c063"
]
},
{
"path": "soljson-v0.4.2-nightly.2016.9.17+commit.0bc8476a.js",
"version": "0.4.2",
"prerelease": "nightly.2016.9.17",
"build": "commit.0bc8476a",
"longVersion": "0.4.2-nightly.2016.9.17+commit.0bc8476a",
"keccak256": "0xa21d556c01a5b92f0a3ec60c60ee5bb5d5ad62ec2bab23c9bd2ed3c3a5935105",
"urls": [
"bzzr://6364260c647e9c68773bb02dadd1d78caa37e4e29b2da6474c9c15a458428c20"
]
},
{
"path": "soljson-v0.4.2+commit.af6afb04.js",
"version": "0.4.2",
Expand Down
8 changes: 4 additions & 4 deletions bin/list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -853,13 +853,13 @@ soljson-v0.4.3-nightly.2016.10.11+commit.aa18a6bd.js
soljson-v0.4.3-nightly.2016.10.10+commit.119bd4ad.js
soljson-v0.4.3-nightly.2016.9.30+commit.d5cfb17b.js
soljson-v0.4.2+commit.af6afb04.js
soljson-v0.4.2-nightly.2016.9.17+commit.0bc8476a.js
soljson-v0.4.2-nightly.2016.9.17+commit.212e0160.js
soljson-v0.4.2-nightly.2016.9.17+commit.a78e7794.js
soljson-v0.4.2-nightly.2016.9.17+commit.62f13ad8.js
soljson-v0.4.2-nightly.2016.9.17+commit.60f432e8.js
soljson-v0.4.2-nightly.2016.9.17+commit.0bc8476a.js
soljson-v0.4.2-nightly.2016.9.15+commit.8a4f8c23.js
soljson-v0.4.2-nightly.2016.9.17+commit.62f13ad8.js
soljson-v0.4.2-nightly.2016.9.17+commit.a78e7794.js
soljson-v0.4.2-nightly.2016.9.15+commit.6a80511f.js
soljson-v0.4.2-nightly.2016.9.15+commit.8a4f8c23.js
soljson-v0.4.2-nightly.2016.9.13+commit.2bee7e91.js
soljson-v0.4.2-nightly.2016.9.12+commit.149dba9b.js
soljson-v0.4.2-nightly.2016.9.9+commit.51a98ab8.js
Expand Down
10 changes: 8 additions & 2 deletions update
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,14 @@ dirs.forEach(function (dir) {
return pars
})
.sort(function (a, b) {
// NOTE: a vs. b (the order is important), because we want oldest first in the list
return semver.compare(a.longVersion, b.longVersion)
// NOTE: a vs. b (the order is important), because we want oldest first in the list.
// If semver considers two versions equal we don't have enough info to say which came earlier
// so we don't care about their relative order as long as it's deterministic.
if (a.longVersion === b.longVersion) {
return 0
}

return semver.compare(a.longVersion, b.longVersion) || (a.longVersion > b.longVersion ? -1 : 1)
})

// descending list
Expand Down

0 comments on commit 8f96f7f

Please sign in to comment.