Skip to content

Commit

Permalink
Test release index loader on real proposal from git repo (#829)
Browse files Browse the repository at this point in the history
Co-authored-by: CI Automation <[email protected]>
  • Loading branch information
LittleChimera and CI Automation authored Aug 30, 2024
1 parent 46c9356 commit 5f97beb
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 49 deletions.
7 changes: 5 additions & 2 deletions release-controller/release_index_loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,12 @@ def __init__(self):
class GitReleaseLoader(ReleaseLoader):
def __init__(
self,
git_repo: str,
git_repo: str | GitRepo,
):
self.git_repo = GitRepo(git_repo)
if isinstance(git_repo, str):
self.git_repo = GitRepo(git_repo)
else:
self.git_repo = git_repo
super().__init__(self.git_repo.dir)

def index(self):
Expand Down
130 changes: 83 additions & 47 deletions release-controller/test_release_index_loader.py
Original file line number Diff line number Diff line change
@@ -1,79 +1,115 @@
import tempfile
from release_index_loader import GitReleaseLoader
from publish_notes import post_process_release_notes
from git_repo import GitRepo
import pathlib


def test_remove_excluded_changes(mocker):
processed = post_process_release_notes(
"""\
Review checklist
================
def test_remove_excluded_changes():
with tempfile.TemporaryDirectory() as d:
loader = GitReleaseLoader(
GitRepo(
"https://github.com/dfinity/dre.git",
repo_cache_dir=pathlib.Path(d),
)
)
assert (
loader.proposal_summary("35bfcadd0f2a474057e42393917b8b3ac269627a")
== """\
Release Notes for [**release\\-2024\\-08\\-29\\_01\\-30\\-base**](https://github.com/dfinity/ic/tree/release-2024-08-29_01-30-base) (35bfcadd0f2a474057e42393917b8b3ac269627a)
========================================================================================================================================================================
Please cross-out your team once you finished the review
This release is based on changes since [release\\-2024\\-08\\-21\\_15\\-36\\-base](https://dashboard.internetcomputer.org/release/b0ade55f7e8999e2842fe3f49df163ba224b71a2) (b0ade55f7e8999e2842fe3f49df163ba224b71a2\\).
* ~~@team-consensus~~
* ~~@team-crypto~~
* ~~@team-execution~~
* ~~@team-messaging~~
* ~~@team-networking~~
* ~~@node-team~~
* ~~@team-runtime~~
Please note that some commits may be excluded from this release if they're not relevant, or not modifying the GuestOS image. Additionally, descriptions of some changes might have been slightly modified to fit the release notes format.
Release Notes for [**rc--2024-02-21\\_23-01**](https://github.com/dfinity/ic/tree/rc--2024-02-21_23-01) (b0ade55f7e8999e2842fe3f49df163ba224b71a2)
=================================================================================================================================================
To see a full list of commits added since last release, compare the revisions on [GitHub](https://github.com/dfinity/ic/compare/release-2024-08-21_15-36-base...release-2024-08-29_01-30-base).
Changelog since git revision [8d4b6898d878fa3db4028b316b78b469ed29f293](https://dashboard.internetcomputer.org/release/8d4b6898d878fa3db4028b316b78b469ed29f293)
This release diverges from the latest release. Merge base is [7b3981ca032bd5d3c6be349bace7ad2da799baaa](https://github.com/dfinity/ic/tree/7b3981ca032bd5d3c6be349bace7ad2da799baaa). Changes [were removed](https://github.com/dfinity/ic/compare/release-2024-08-29_01-30-base...release-2024-08-21_15-36-base) from this release.
Features:
---------
* ~~author: Igor Novg |~~ [5f9e639d1](https://github.com/dfinity/ic/commit/5f9e639d1) ~~Boundary Nodes: remove njs~~
* ~~author: Igor Novg |~~ [eb7f3dc5c](https://github.com/dfinity/ic/commit/eb7f3dc5c) ~~Boundary Nodes: improve nginx performance~~
* author: Kami Popi | [26f30f055](https://github.com/dfinity/ic/commit/26f30f055) Consensus: Purge non-finalized blocks and notarizations below the finalized height
* author: ~~Leo Eich | [b4673936a](https://github.com/dfinity/ic/commit/b4673936a) Consensus(ecdsa):~~ Make key\\_unmasked\\_ref in PreSignatureQuadrupleRef required
* author: Leo Eich | [b733f7043](https://github.com/dfinity/ic/commit/b733f7043) Consensus(ecdsa): Extend Quadruple state machine in preparation for random unmasked kappa
* ~~author: Leo Eich | [6a4d8962c](https://github.com/dfinity/ic/commit/6a4d8962c) Consensus(ecdsa): Make masked kappa config optional~~
* author: Leo Eich | [e76c5a374](https://github.com/dfinity/ic/commit/e76c5a374) Consensus(ecdsa): Stop relaying tECDSA signature shares
* author: Leo Eich | [2d63da24c](https://github.com/dfinity/ic/commit/2d63da24c) Consensus(ecdsa): Add optional kappa\\_unmasked config to QuadrupleInCreation
"""
)
* [`d37a6a16b`](https://github.com/dfinity/ic/commit/d37a6a16b) Consensus,Interface(consensus): Make validator create equivocation proofs and ignore equivocating blocks ([\\#852](https://github.com/dfinity/ic/pull/852))
* [`35bfcadd0`](https://github.com/dfinity/ic/commit/35bfcadd0) Execution,Interface: Set the default Wasm memory limit ([\\#1040](https://github.com/dfinity/ic/pull/1040))
* [`a63138ab5`](https://github.com/dfinity/ic/commit/a63138ab5) Execution,Interface,Message Routing: Check SystemState invariants on checkpoint loading ([\\#1165](https://github.com/dfinity/ic/pull/1165))
* [`d436a526d`](https://github.com/dfinity/ic/commit/d436a526d) Interface(ic\\-admin): Print hashes rather than entire blobs when submitting InstallCode proposals ([\\#1093](https://github.com/dfinity/ic/pull/1093))
* [`99c86c9e0`](https://github.com/dfinity/ic/commit/99c86c9e0) Interface,Message Routing: Raise a critical error if ReplicatedState gets altered during checkpointing ([\\#1079](https://github.com/dfinity/ic/pull/1079))
* [`60432db15`](https://github.com/dfinity/ic/commit/60432db15) Interface,Networking: Enable synchronous endpoint for snjp subnet ([\\#1194](https://github.com/dfinity/ic/pull/1194))
* [`cd153b5b7`](https://github.com/dfinity/ic/commit/cd153b5b7) Interface,Networking: Create asynchronous handler for v3 call endpoint by default ([\\#1151](https://github.com/dfinity/ic/pull/1151))
loader = GitReleaseLoader("https://github.com/dfinity/dre.git")
mocker.patch.object(loader, "changelog", return_value=processed)
assert (
# we're using existing proposal here but mocking the input/output. TODO: change to use the real proposal instead of mocking
loader.proposal_summary("b0ade55f7e8999e2842fe3f49df163ba224b71a2")
== """\
Review checklist
================
Bugfixes:
---------
Please cross-out your team once you finished the review
* [`124957f40`](https://github.com/dfinity/ic/commit/124957f40) Consensus,Interface,Networking(IDX): remove links to unknown rustdoc refs ([\\#1145](https://github.com/dfinity/ic/pull/1145))
Chores:
-------
Release Notes for [**rc--2024-02-21\\_23-01**](https://github.com/dfinity/ic/tree/rc--2024-02-21_23-01) (b0ade55f7e8999e2842fe3f49df163ba224b71a2)
=================================================================================================================================================
* [`1c02246bb`](https://github.com/dfinity/ic/commit/1c02246bb) Consensus,Interface(consensus): add more checks to the dkg payload validator ([\\#1078](https://github.com/dfinity/ic/pull/1078))
* [`232964087`](https://github.com/dfinity/ic/commit/232964087) Consensus,Interface(consensus): small clean\\-ups in Ingress Pool ([\\#1066](https://github.com/dfinity/ic/pull/1066))
* [`a3e2dac1b`](https://github.com/dfinity/ic/commit/a3e2dac1b) Crypto,Interface: upgrade deps and use workspace version ([\\#1077](https://github.com/dfinity/ic/pull/1077))
* [`3c66cc522`](https://github.com/dfinity/ic/commit/3c66cc522) Execution,Interface: Remove obsolete LogVisibility v1 type ([\\#1139](https://github.com/dfinity/ic/pull/1139))
* [`7dbc6d425`](https://github.com/dfinity/ic/commit/7dbc6d425) Execution,Interface: Minor changes in canister snapshotting ([\\#1021](https://github.com/dfinity/ic/pull/1021))
* [`9a84997c0`](https://github.com/dfinity/ic/commit/9a84997c0) Execution,Interface: Reserve cycles just for the increase of canister snapshot size ([\\#960](https://github.com/dfinity/ic/pull/960))
* [`46e1372d2`](https://github.com/dfinity/ic/commit/46e1372d2) Execution,Interface(ic): Unify wasm\\-tools dependency versions ([\\#1125](https://github.com/dfinity/ic/pull/1125))
* [`0331e769f`](https://github.com/dfinity/ic/commit/0331e769f) Execution,Interface,Message Routing: Remove logic for deprecated reject signals. ([\\#1037](https://github.com/dfinity/ic/pull/1037))
* [`a4fefd9c7`](https://github.com/dfinity/ic/commit/a4fefd9c7) Interface: upgrade hyper in test driver ([\\#1106](https://github.com/dfinity/ic/pull/1106))
* [`62c2ed16a`](https://github.com/dfinity/ic/commit/62c2ed16a) Interface: Some typos in ValidateEq. ([\\#1177](https://github.com/dfinity/ic/pull/1177))
* [`d71e09e83`](https://github.com/dfinity/ic/commit/d71e09e83) Interface: add decoding quota to http\\_request in SNS and ICRC1 canisters ([\\#1101](https://github.com/dfinity/ic/pull/1101))
* [`4e5d6322b`](https://github.com/dfinity/ic/commit/4e5d6322b) Interface: add decoding quota to http\\_request in NNS canisters ([\\#1060](https://github.com/dfinity/ic/pull/1060))
* [`c6e64a7e3`](https://github.com/dfinity/ic/commit/c6e64a7e3) Interface(crypto): Rename ic\\_crypto\\_ecdsa\\_secp256k1 crate ([\\#999](https://github.com/dfinity/ic/pull/999))
* [`1e38e12c7`](https://github.com/dfinity/ic/commit/1e38e12c7) Interface,Message Routing: simplify further the hyper/xnet code ([\\#1107](https://github.com/dfinity/ic/pull/1107))
* [`07f4e545b`](https://github.com/dfinity/ic/commit/07f4e545b) Interface,Message Routing: upgrade hyper in xnet ([\\#758](https://github.com/dfinity/ic/pull/758))
* [`1e96fa09e`](https://github.com/dfinity/ic/commit/1e96fa09e) Interface,Message Routing: Bump certification version to v19 ([\\#1035](https://github.com/dfinity/ic/pull/1035))
* [`cb388ee94`](https://github.com/dfinity/ic/commit/cb388ee94) Interface,Message Routing,Networking: delete unused threads backtrace debug http endpoint ([\\#947](https://github.com/dfinity/ic/pull/947))
* [`77405f50d`](https://github.com/dfinity/ic/commit/77405f50d) Interface,Networking: crate the https outcalls adapter only by passing a config ([\\#1076](https://github.com/dfinity/ic/pull/1076))
* [`a5f59cf3f`](https://github.com/dfinity/ic/commit/a5f59cf3f) Interface,Networking: update ingress watcher cancellation log level ([\\#1133](https://github.com/dfinity/ic/pull/1133))
* [`a5595edf2`](https://github.com/dfinity/ic/commit/a5595edf2) Interface,Networking: https outcalls hyper upgrade ([\\#1017](https://github.com/dfinity/ic/pull/1017))
* [`3c9aaf594`](https://github.com/dfinity/ic/commit/3c9aaf594) Interface,Networking(http\\-handler): Track execution \\+ certification time for all ingress messages ([\\#1022](https://github.com/dfinity/ic/pull/1022))
* [`a8b1a1912`](https://github.com/dfinity/ic/commit/a8b1a1912) Interface,Networking(http\\-metrics): Increase number of buckets for certification time of messages ([\\#1026](https://github.com/dfinity/ic/pull/1026))
* [`45e3038eb`](https://github.com/dfinity/ic/commit/45e3038eb) Interface,Networking: remove the advert PB ([\\#1036](https://github.com/dfinity/ic/pull/1036))
* [`6fd620f4a`](https://github.com/dfinity/ic/commit/6fd620f4a) Node: Move the setup/teardown of temporary build directories to a process wrapper ([\\#1142](https://github.com/dfinity/ic/pull/1142))
* [`8a5c77e48`](https://github.com/dfinity/ic/commit/8a5c77e48) Node: Update Base Image Refs \\[2024\\-08\\-22\\-0808] ([\\#1059](https://github.com/dfinity/ic/pull/1059))
* [`3d83a4d2e`](https://github.com/dfinity/ic/commit/3d83a4d2e) Owners(reprocheck): use zst in reprocheck for all images ([\\#1136](https://github.com/dfinity/ic/pull/1136))
Changelog since git revision [8d4b6898d878fa3db4028b316b78b469ed29f293](https://dashboard.internetcomputer.org/release/8d4b6898d878fa3db4028b316b78b469ed29f293)
Refactoring:
------------
Features:
---------
* [`c890f067f`](https://github.com/dfinity/ic/commit/c890f067f) Consensus,Interface: clarify the priority fn semantics ([\\#1042](https://github.com/dfinity/ic/pull/1042))
* [`8520bf65d`](https://github.com/dfinity/ic/commit/8520bf65d) Crypto,Interface(crypto): remove CspSigVerifier ([\\#653](https://github.com/dfinity/ic/pull/653))
* [`5c02bc65d`](https://github.com/dfinity/ic/commit/5c02bc65d) Interface(nervous\\_system): Add a Request trait to simplify interacting with our canisters ([\\#1091](https://github.com/dfinity/ic/pull/1091))
* [`5b7ebe284`](https://github.com/dfinity/ic/commit/5b7ebe284) Interface(nns): Put TimeWarp in API crate to remove dependency ([\\#1122](https://github.com/dfinity/ic/pull/1122))
* [`211fa36d1`](https://github.com/dfinity/ic/commit/211fa36d1) Interface,Networking(http\\-handler): Return a concrete type in the call v2 handler ([\\#1049](https://github.com/dfinity/ic/pull/1049))
----------
Documentation:
--------------
* [`2ac785b95`](https://github.com/dfinity/ic/commit/2ac785b95) Interface,Networking: update the quic transport docs and use thiserror ([\\#1192](https://github.com/dfinity/ic/pull/1192))
* [`7809eee25`](https://github.com/dfinity/ic/commit/7809eee25) Node: update configuration documentation ([\\#1089](https://github.com/dfinity/ic/pull/1089))
Other changes:
--------------
* [`d0719bf22`](https://github.com/dfinity/ic/commit/d0719bf22) Interface,Message Routing: last two xnet commits due to flakiness ([\\#1169](https://github.com/dfinity/ic/pull/1169))
-------------------------------------------
* [`26f30f055`](https://github.com/dfinity/ic/commit/26f30f055) Consensus: Purge non-finalized blocks and notarizations below the finalized height
* [`b733f7043`](https://github.com/dfinity/ic/commit/b733f7043) Consensus(ecdsa): Extend Quadruple state machine in preparation for random unmasked kappa
* [`e76c5a374`](https://github.com/dfinity/ic/commit/e76c5a374) Consensus(ecdsa): Stop relaying tECDSA signature shares
* [`2d63da24c`](https://github.com/dfinity/ic/commit/2d63da24c) Consensus(ecdsa): Add optional kappa\\_unmasked config to QuadrupleInCreation
Full list of changes (including the ones that are not relevant to GuestOS) can be found on [GitHub](https://github.com/dfinity/dre/blob/c710c73c24e83fc62c848540f63a4eb351862c99/replica-releases/b0ade55f7e8999e2842fe3f49df163ba224b71a2.md).
Full list of changes (including the ones that are not relevant to GuestOS) can be found on [GitHub](https://github.com/dfinity/dre/blob/00094e1dc3fc52e00cb01585a633fca25d971fe9/replica-releases/35bfcadd0f2a474057e42393917b8b3ac269627a.md).
# IC-OS Verification
To build and verify the IC-OS disk image, run:
```
# From https://github.com/dfinity/ic#verifying-releases
sudo apt-get install -y curl && curl --proto \'=https\' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/b0ade55f7e8999e2842fe3f49df163ba224b71a2/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c b0ade55f7e8999e2842fe3f49df163ba224b71a2
sudo apt-get install -y curl && curl --proto \'=https\' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/35bfcadd0f2a474057e42393917b8b3ac269627a/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 35bfcadd0f2a474057e42393917b8b3ac269627a
```
The two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.
"""
)
)

0 comments on commit 5f97beb

Please sign in to comment.