From e1716df5a735f903b24306ecf38351998cc6d77e Mon Sep 17 00:00:00 2001 From: CI Automation Date: Fri, 16 Aug 2024 16:23:21 +0200 Subject: [PATCH 1/5] feat(release-controller): various improvements --- WORKSPACE.bazel | 12 + release-controller/BUILD.bazel | 27 +- release-controller/git_repo.py | 89 +- release-controller/google_docs.py | 10 +- release-controller/publish_notes.py | 62 +- release-controller/reconciler.py | 8 +- release-controller/release_index_loader.py | 15 +- release-controller/release_notes.py | 226 ++-- release-controller/test_publish_notes.py | 12 +- .../test_release_index_loader.py | 77 ++ release-controller/test_release_notes.py | 1134 +++++------------ 11 files changed, 677 insertions(+), 995 deletions(-) create mode 100644 release-controller/test_release_index_loader.py diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 91a363169..b625ae478 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -24,6 +24,18 @@ http_archive( url = "https://github.com/bazelbuild/rules_python/archive/c5c03b2477dd1ce0c06c9dc60bf816995f222bcf.zip", ) +http_file( + name = "bazelisk_darwin", + sha256 = "9a4b169038a63ebf60a9b4f367b449ab9b484c4ec7d1ef9f6b7a4196dfd50f33", + url = "https://github.com/bazelbuild/bazelisk/releases/download/v1.20.0/bazelisk-darwin", +) + +http_file( + name = "bazelisk_linux", + sha256 = "d9af1fa808c0529753c3befda75123236a711d971d3485a390507122148773a3", + url = "https://github.com/bazelbuild/bazelisk/releases/download/v1.20.0/bazelisk-linux-amd64", +) + load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") py_repositories() diff --git a/release-controller/BUILD.bazel b/release-controller/BUILD.bazel index 693c2df17..a363d4a8c 100644 --- a/release-controller/BUILD.bazel +++ b/release-controller/BUILD.bazel @@ -1,6 +1,7 @@ load("@python_deps//:requirements.bzl", "requirement") load("@rules_python//python:defs.bzl", "py_binary") load("@//tools/python:py_oci_image.bzl", "py_oci_image") +load("@bazel_skylib//rules:native_binary.bzl", "native_binary") deps = [ requirement("requests"), @@ -42,12 +43,34 @@ py_binary( deps = deps, ) +config_setting( + name = "is_linux", + constraint_values = [ + "@platforms//os:linux", + ], +) +config_setting( + name = "is_osx", + constraint_values = [ + # "@platforms//os:osx", + ], +) + +native_binary( + name = "bazelisk", + src = select({ + "@platforms//os:linux": "@bazelisk_linux//file", + "@platforms//os:macos": "@bazelisk_darwin//file", + }), + out = "bazelisk", +) + py_test( name = "pytest", srcs = ["pytest.py"], - data = glob(["*.py"]), - tags = ["no-sandbox"], + data = glob(["*.py"]) + [":bazelisk"], env = env, + tags = ["no-sandbox"], deps = deps + dev_deps, ) diff --git a/release-controller/git_repo.py b/release-controller/git_repo.py index edcef3195..d74f1f47e 100644 --- a/release-controller/git_repo.py +++ b/release-controller/git_repo.py @@ -2,6 +2,7 @@ import pathlib import subprocess import tempfile +import typing from dotenv import load_dotenv from release_index import Release @@ -9,6 +10,11 @@ from util import version_name +class FileChange(typing.TypedDict): + file_path: str + num_changes: int + + class Commit: """Class for representing a git commit.""" @@ -190,39 +196,53 @@ def distance(self, commit_a: str, commit_b: str) -> int: ).decode("utf-8") ) - def get_commits_in_range(self, first_commit, last_commit): - """Get the commits in the range [first_commit, last_commit] from the IC repo.""" - self.fetch() - - def get_commits_info(git_commit_format): - return ( - subprocess.check_output( - [ - "git", - "log", - "--format={}".format(git_commit_format), - "--no-merges", - "{}..{}".format(first_commit, last_commit), - ], - cwd=self.dir, - stderr=subprocess.DEVNULL, - ) - .decode("utf-8") - .strip() - .split("\n") + def get_commits_info( + self, + git_commit_format: str, + first_commit: str, + last_commit: str, + ) -> list[str]: + """Get the info of commits in the range [first_commit, last_commit].""" + return ( + subprocess.check_output( + [ + "git", + "log", + "--format={}".format(git_commit_format), + "--no-merges", + "{}..{}".format(first_commit, last_commit), + ], + cwd=self.dir, + stderr=subprocess.DEVNULL, ) + .decode("utf-8") + .strip() + .split("\n") + ) - commit_hash = get_commits_info("%h") - commit_message = get_commits_info("%s") - commiter = get_commits_info("%an") - - return list(zip(commit_hash, commit_message, commiter)) + def get_commit_info( + self, + git_commit_format: str, + first_commit: str, + ) -> str: + """Get the info of commit.""" + return subprocess.check_output( + [ + "git", + "show", + "-s", + "--format={}".format(git_commit_format), + first_commit, + ], + cwd=self.dir, + stderr=subprocess.DEVNULL, + ).decode("utf-8") def file(self, path: str) -> pathlib.Path: """Get the file for the given path.""" return self.dir / path - def file_changes_for_commit(self, commit_hash): + def file_changes_for_commit(self, commit_hash) -> list[FileChange]: cmd = [ "git", "diff", @@ -250,13 +270,28 @@ def file_changes_for_commit(self, commit_hash): changes.append( { - "file_path": "/" + file_path, + "file_path": file_path, "num_changes": int(additions) + int(deletions), } ) return changes + def checkout(self, ref: str): + """Checkout the given ref.""" + subprocess.check_call( + ["git", "reset", "--hard", f"origin/{self.main_branch}"], + cwd=self.dir, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + subprocess.check_call( + ["git", "checkout", ref], + cwd=self.dir, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + # TODO: test def push_release_tags(repo: GitRepo, release: Release): diff --git a/release-controller/google_docs.py b/release-controller/google_docs.py index 5f3cd9218..782fa241e 100644 --- a/release-controller/google_docs.py +++ b/release-controller/google_docs.py @@ -12,7 +12,7 @@ from release_notes import prepare_release_notes md = markdown.Markdown( - extensions=["pymdownx.tilde"], + extensions=["pymdownx.tilde", "pymdownx.details"], ) @@ -94,12 +94,12 @@ def main(): credentials_file=pathlib.Path(__file__).parent.resolve() / "credentials.json", release_notes_folder="1zOPwbYdOREhhLv-spRIRRMaFaAQlOVvF", ) - version = "2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f" + version = "3d0b3f10417fc6708e8b5d844a0bac5e86f3e17d" gdoc = client.ensure( - release_tag="relase--2024-02-21_23-01-base", + release_tag="release-2024-08-02_01-30-base", release_commit=version, - base_release_commit="8d4b6898d878fa3db4028b316b78b469ed29f293", - base_release_tag="release--2024-02-14_23-01-base", + base_release_commit="2c0b76cfc7e596d5c4304cff5222a2619294c8c1", + base_release_tag="release-2024-07-25_21-03-base", tag_teams_on_create=False, ) print(client.markdown_file(version)) diff --git a/release-controller/publish_notes.py b/release-controller/publish_notes.py index d752f1b57..9d7e8a747 100644 --- a/release-controller/publish_notes.py +++ b/release-controller/publish_notes.py @@ -6,10 +6,56 @@ from github import Auth from github import Github from github.Repository import Repository +import markdown REPLICA_RELEASES_DIR = "replica-releases" +def post_process_release_notes(release_notes: str) -> str: + """Process the release notes.""" + lines = [ + # add ticks around commit hash + re.sub( + r"(?<=\[)([a-h0-9]{9})(?=\])", + r"`\g<1>`", + # remove author + re.sub(r"(?<=^\* )(.*)author:[^|]+\| ?", r"\g<1>", line), + ) + for line in release_notes.split("\n") + ] + + changelog = "\n".join([line for line in lines if "~~" not in line]) + excluded_lines = [line for line in lines if "~~" in line] + excluded_changes = "\n".join( + [ + l + for l in [ + re.sub( + # remove whitespace after * + r"(?<=^\* )\s+", + "", + # remove [AUTO-EXCLUDED] + re.sub(r"\[AUTO-EXCLUDED[^]]*\]", "", line) + # remove ~~ + .replace("~~", ""), + ).strip() + for line in excluded_lines + ] + if l.startswith("* [") + ] + ) + if excluded_changes: + changelog += ( + "\n
\nOther changes (either not directly modifying GuestOS or not relevant)\n" + ) + md = markdown.Markdown( + extensions=["pymdownx.tilde"], + ) + changelog += md.convert(excluded_changes) + changelog += "\n
\n" + return changelog + + class PublishNotesClient: """Publishes release notes on slack.""" @@ -46,21 +92,7 @@ def publish_if_ready(self, google_doc_markdownified, version: str): logging.info("didn't get markdown notes for %s, skipping", version) return - changelog = google_doc_markdownified - changelog = "\n".join( - [ - # add ticks around commit hash - re.sub( - r"(?<=^\* \[)([a-h0-9]{9})(?=\])", - r"`\g<1>`", - # remove author - re.sub(r"(?<=^\* )author:[^|]+\| ", "", line), - ) - for line in changelog.split("\n") - # remove crossed out lines (including reviewer checklist) - if "~~" not in line - ] - ) + changelog = post_process_release_notes(google_doc_markdownified) release_notes_start = changelog.find("Release Notes") if release_notes_start == -1: diff --git a/release-controller/reconciler.py b/release-controller/reconciler.py index 9866b1c63..8145999d1 100644 --- a/release-controller/reconciler.py +++ b/release-controller/reconciler.py @@ -192,7 +192,7 @@ def reconcile(self): continue rc_forum_topic = self.forum_client.get_or_create(rc) # update to create posts for any releases - rc_forum_topic.update(changelog=self.loader.changelog, proposal=self.state.version_proposal) + rc_forum_topic.update(changelog=self.loader.proposal_summary, proposal=self.state.version_proposal) for v_idx, v in enumerate(rc.versions): logging.info("Updating version %s", v) push_release_tags(self.ic_repo, rc) @@ -210,7 +210,7 @@ def reconcile(self): ) # returns a result only if changelog is published - changelog = self.loader.changelog(v.version) + changelog = self.loader.proposal_summary(v.version) if changelog: if not self.state.proposal_submitted(v.version): unelect_versions = [] @@ -240,7 +240,7 @@ def reconcile(self): self.state.save_proposal(v.version, versions_proposals[v.version]) # update the forum posts in case the proposal was created - rc_forum_topic.update(changelog=self.loader.changelog, proposal=self.state.version_proposal) + rc_forum_topic.update(changelog=self.loader.proposal_summary, proposal=self.state.version_proposal) def place_proposal(ic_admin, changelog, version: str, forum_post_url: str, unelect_versions: list[str], dry_run=False): @@ -329,7 +329,7 @@ def main(): def oneoff(): release_loader = GitReleaseLoader(f"https://github.com/{dre_repo}.git") version = "ac971e7b4c851b89b312bee812f6de542ed907c5" - changelog = release_loader.changelog(version) + changelog = release_loader.proposal_summary(version) ic_admin = IcAdmin("https://ic0.app", git_revision="5ba1412f9175d987661ae3c0d8dbd1ac3e092b7d") place_proposal( diff --git a/release-controller/release_index_loader.py b/release-controller/release_index_loader.py index 48c2f5bed..02539e470 100644 --- a/release-controller/release_index_loader.py +++ b/release-controller/release_index_loader.py @@ -5,6 +5,7 @@ import tempfile from pydantic_yaml import parse_yaml_raw_as +import re import release_index from git_repo import GitRepo from publish_notes import REPLICA_RELEASES_DIR @@ -37,9 +38,15 @@ def index(self) -> release_index.Model: def changelog(self, version: str) -> str | None: version_changelog_path = self.release_index_dir / f"{REPLICA_RELEASES_DIR}/{version}.md" if version_changelog_path.exists(): - return open(version_changelog_path, "r").read() + _verify_release_instructions(version) + return open(version_changelog_path, "r").read() - return None + def proposal_summary(self, version: str) -> str | None: + changelog = self.changelog(version) + if not changelog: + return None + + # remove details html block from content for now until we can ensure it's going to fit into proposal size limits + return re.sub(r"\n
.*?
\n", "", changelog, flags=re.S) + _verify_release_instructions(version) class DevReleaseLoader(ReleaseLoader): @@ -63,9 +70,9 @@ def index(self): self.git_repo.fetch() return super().index() - def changelog(self, version): + def proposal_summary(self, version): self.git_repo.fetch() - return super().changelog(version) + return super().proposal_summary(version) class StaticReleaseLoader(ReleaseLoader): diff --git a/release-controller/release_notes.py b/release-controller/release_notes.py index ab65ad35d..829e4c224 100755 --- a/release-controller/release_notes.py +++ b/release-controller/release_notes.py @@ -1,9 +1,7 @@ #!/usr/bin/env python3 import argparse import fnmatch -import json import os -import pathlib import re import subprocess import sys @@ -36,6 +34,7 @@ "Orchestrator", "runtime-owners", "runtime", + "ic-owners-owners", ] ) @@ -49,7 +48,8 @@ class Change(typing.TypedDict): scope: str message: str commiter: str - included: bool + exclusion_reason: typing.Optional[str] + guestos_change: bool @dataclass @@ -128,7 +128,7 @@ class Team: } -EXCLUDE_PACKAGES_FILTERS = [ +EXCLUDE_CHANGES_FILTERS = [ r".+\/sns\/.+", r".+\/ckbtc\/.+", r".+\/cketh\/.+", @@ -140,6 +140,8 @@ class Team: r".*pocket[_-]ic.*", ] +INCLUDE_CHANGES = ["bazel/external_crates.bzl"] + NON_REPLICA_TEAMS = sorted(list(set(TEAM_PRETTY_MAP.keys()) - REPLICA_TEAMS)) # Ownership threshold for analyzing which teams were @@ -240,61 +242,61 @@ def matched_patterns(file_path, patterns): return matches[0] -def prepare_release_notes( - base_release_tag, +def release_changes( + ic_repo: GitRepo, base_release_commit, - release_tag, release_commit, max_commits=1000, -) -> str: - change_infos: dict[str, list[Change]] = {} - - ci_patterns = ["/**/*.lock", "/**/*.bzl"] - - ic_repo = GitRepo("https://github.com/dfinity/ic.git", main_branch="master") +) -> dict[str, list[Change]]: + changes: dict[str, list[Change]] = {} - commits = ic_repo.get_commits_in_range(base_release_commit, release_commit) - codeowners = parse_codeowners(ic_repo.file(".github/CODEOWNERS")) + commits = ic_repo.get_commits_info("%h", base_release_commit, release_commit) if len(commits) >= max_commits: print("WARNING: max commits limit reached, increase depth") exit(1) - guestos_packages_all, guestos_packages_filtered = get_guestos_packages_with_bazel(ic_repo) - bazel_packages_all = bazel_query_all_packages(ic_repo) - - for i, _ in progressbar([i[0] for i in commits], "Processing commit: ", 80): - change_info = get_change_description_for_commit( - commit_info=commits[i], - change_infos=change_infos, - ci_patterns=ci_patterns, + if "KUBERNETES_SERVICE_HOST" not in os.environ: + commit_iter = progressbar([i[0] for i in commits], "Processing commit: ", 80) + else: + commit_iter = enumerate([i[0] for i in commits]) + for i, _ in commit_iter: + change = get_change_description_for_commit( + commit_hash=commits[i], ic_repo=ic_repo, - codeowners=codeowners, - bazel_packages_all=bazel_packages_all, - guestos_packages_all=guestos_packages_all, - guestos_packages_filtered=guestos_packages_filtered, ) - if change_info is None: + if change is None: continue - commit_type = change_info["type"] - change_infos[commit_type].append(change_info) + commit_type = change["type"] + if commit_type not in changes: + changes[commit_type] = [] + changes[commit_type].append(change) - return release_notes_markdown( - ic_repo, base_release_tag, base_release_commit, release_tag, release_commit, change_infos + return changes + + +def prepare_release_notes( + base_release_tag, + base_release_commit, + release_tag, + release_commit, + max_commits=1000, +): + ic_repo = GitRepo("https://github.com/dfinity/ic.git", main_branch="master") + changes = release_changes( + ic_repo, + base_release_commit, + release_commit, + max_commits, ) + return release_notes_markdown(ic_repo, base_release_tag, base_release_commit, release_tag, release_commit, changes) def get_change_description_for_commit( - commit_info, - change_infos, - ci_patterns, - ic_repo, - codeowners, - bazel_packages_all, - guestos_packages_all, - guestos_packages_filtered, -) -> typing.Optional[Change]: + commit_hash: str, + ic_repo: GitRepo, +) -> Change: # Conventional commit regex pattern conv_commit_pattern = re.compile(r"^(\w+)(\([^\)]*\))?: (.+)$") # Jira ticket: @@ -302,17 +304,23 @@ def get_change_description_for_commit( # Sometimes Jira tickets are in square brackets empty_brackets_regex = r" *\[ *\]:?" - commit_hash, commit_message, commiter = commit_info + commit_message = ic_repo.get_commit_info("%s", commit_hash) + commiter = ic_repo.get_commit_info("%an", commit_hash) + + ic_repo.checkout(commit_hash) + guestos_targets_all = get_guestos_targets_with_bazel(ic_repo) + INCLUDE_CHANGES + guestos_targets_filtered = [ + t + for t in guestos_targets_all + if t in INCLUDE_CHANGES or not any(re.match(f, t) for f in EXCLUDE_CHANGES_FILTERS) + ] file_changes = ic_repo.file_changes_for_commit(commit_hash) - modified_packages = list( - next((p for p in sorted(bazel_packages_all, key=len, reverse=True) if c["file_path"][1:].startswith(p)), None) - for c in file_changes - ) - if not any(p in guestos_packages_all for p in modified_packages): - return None - included = any(p in guestos_packages_filtered for p in modified_packages) + exclusion_reasons = [] + guestos_change = any(f["file_path"] in guestos_targets_all for f in file_changes) + if guestos_change and not any(f["file_path"] in guestos_targets_filtered for f in file_changes): + exclusion_reasons.append("filtered out by package filters") ownership = {} stripped_message = re.sub(jira_ticket_regex, "", commit_message) @@ -323,11 +331,14 @@ def get_change_description_for_commit( conventional = parse_conventional_commit(stripped_message, conv_commit_pattern) + codeowners = parse_codeowners(ic_repo.file(".github/CODEOWNERS")) for change in file_changes: - if any([fnmatch.fnmatch(change["file_path"], pattern) for pattern in ci_patterns]): - continue - - teams = set(sum([codeowners[p] for p in codeowners.keys() if fnmatch.fnmatch(change["file_path"], p)], [])) + teams = set( + sum( + [codeowners[p] for p in codeowners.keys() if fnmatch.fnmatch(change["file_path"], p.removeprefix("/"))], + [], + ) + ) if not teams: teams = ["unknown"] @@ -337,7 +348,7 @@ def get_change_description_for_commit( continue ownership[team] += change["num_changes"] - if "ic-owners-owners" in ownership: + if "ic-owners-owners" in ownership and len(set(ownership.keys()).intersection(REPLICA_TEAMS)) > 1: ownership.pop("ic-owners-owners") # TODO: count max first by replica team then others @@ -357,14 +368,11 @@ def get_change_description_for_commit( commit_type = conventional["type"].lower() commit_type = commit_type if commit_type in TYPE_PRETTY_MAP else "other" - if not REPLICA_TEAMS.intersection(teams): - included = False + if guestos_change and not REPLICA_TEAMS.intersection(teams): + exclusion_reasons.append("not a replica team change") teams = sorted(list(teams)) - if commit_type not in change_infos: - change_infos[commit_type] = [] - commiter_parts = commiter.split() commiter = "{:<4} {:<4}".format( commiter_parts[0][:4], @@ -378,7 +386,8 @@ def get_change_description_for_commit( scope=conventional["scope"] if conventional["scope"] else "", message=conventional["message"], commiter=commiter, - included=included, + exclusion_reason=",".join(exclusion_reasons) if exclusion_reasons else None, + guestos_change=guestos_change, ) @@ -386,14 +395,23 @@ def release_notes_html(notes_markdown): """Generate release notes in HTML format, typically for local testing.""" import webbrowser + md = markdown.Markdown( + extensions=["pymdownx.tilde", "pymdownx.details"], + ) + with tempfile.NamedTemporaryFile(suffix=".html", delete=False) as output: - output.write(str.encode(markdown.markdown(notes_markdown))) + output.write(str.encode(md.convert(notes_markdown))) filename = "file://{}".format(output.name) webbrowser.open_new_tab(filename) def release_notes_markdown( - ic_repo: GitRepo, base_release_tag, base_release_commit, release_tag, release_commit, change_infos + ic_repo: GitRepo, + base_release_tag, + base_release_commit, + release_tag, + release_commit, + change_infos: dict[str, list[Change]], ): """Generate release notes in markdown format.""" merge_base = ic_repo.merge_base(base_release_commit, release_commit) @@ -431,39 +449,55 @@ def release_notes_markdown( base_release_tag=base_release_tag, ) + def format_change(change: Change): + commit_part = "[`{0}`](https://github.com/dfinity/ic/commit/{0})".format(change["commit"][:9]) + team_part = ",".join([TEAM_PRETTY_MAP.get(team, team) for team in change["teams"]]) + team_part = team_part if team_part else "General" + scope_part = ( + ":" + if change["scope"] == "" or change["scope"].lower() == team_part.lower() + else "({0}):".format(change["scope"]) + ) + message_part = change["message"] + commiter_part = f"author: {change['commiter']}" + + text = "{4} | {0} {1}{2} {3}".format(commit_part, team_part, scope_part, message_part, commiter_part) + if change["exclusion_reason"] or not change["guestos_change"]: + text = "~~{} [AUTO-EXCLUDED:{}]~~".format( + text, "not a GuestOS change" if not change["guestos_change"] else change["exclusion_reason"] + ) + return "* " + text + "\n" + + non_guestos_changes = [] for current_type in sorted(TYPE_PRETTY_MAP, key=lambda x: TYPE_PRETTY_MAP[x][1]): - if current_type not in change_infos: + if current_type not in change_infos or not change_infos[current_type]: continue notes += "## {0}:\n".format(TYPE_PRETTY_MAP[current_type][0]) for change in sorted(change_infos[current_type], key=lambda x: ",".join(x["teams"])): - commit_part = "[`{0}`](https://github.com/dfinity/ic/commit/{0})".format(change["commit"][:9]) - team_part = ",".join([TEAM_PRETTY_MAP.get(team, team) for team in change["teams"]]) - team_part = team_part if team_part else "General" - scope_part = ( - ":" - if change["scope"] == "" or change["scope"].lower() == team_part.lower() - else "({0}):".format(change["scope"]) - ) - message_part = change["message"] - commiter_part = f"author: {change['commiter']}" + if not change["guestos_change"]: + non_guestos_changes.append(change) + continue - text = "{4} | {0} {1}{2} {3}".format(commit_part, team_part, scope_part, message_part, commiter_part) - if not change["included"]: - text = "~~{} [AUTO-EXCLUDED]~~".format(text) - notes += "* " + text + "\n" + notes += format_change(change) + if non_guestos_changes: + notes += "## ~~Other changes not modifying GuestOS~~\n" + for change in non_guestos_changes: + notes += format_change(change) return notes def bazel_query(ic_repo: GitRepo, query): """Bazel query package for GuestOS.""" + bazel_binary = "bazel" + if "BAZEL" in os.environ: + bazel_binary = os.path.abspath(os.curdir) + "/release-controller/bazelisk" + bazel_query = [ - "bazel", + bazel_binary, "query", - "--universe_scope=//...", query, - "--output=package", ] p = subprocess.run( ["gitlab-ci/container/container-run.sh"] + bazel_query, @@ -481,25 +515,17 @@ def bazel_query(ic_repo: GitRepo, query): stdout=subprocess.PIPE, check=True, ) - return [l for l in p.stdout.strip().splitlines() if l] - - -def bazel_query_all_packages(ic_repo: GitRepo): - """Bazel query package for GuestOS.""" - return bazel_query(ic_repo, "//...:*") + return [l[::-1].replace(":", "/", 1)[::-1].removeprefix("//") for l in p.stdout.splitlines()] -def get_guestos_packages_with_bazel(ic_repo: GitRepo): +def get_guestos_targets_with_bazel(ic_repo: GitRepo): """Get the packages that are related to the GuestOS image using Bazel.""" guestos_packages_all = bazel_query( ic_repo, - "deps(//ic-os/guestos/envs/prod:update-img.tar.gz) union deps(//ic-os/setupos/envs/prod:disk-img.tar.zst)", + "deps(//ic-os/guestos/envs/prod:update-img.tar.zst) union deps(//ic-os/setupos/envs/prod:disk-img.tar.zst)", ) - guestos_packages_filtered = [ - p for p in guestos_packages_all if not any(re.match(f, p) for f in EXCLUDE_PACKAGES_FILTERS) - ] - return guestos_packages_all, guestos_packages_filtered + return guestos_packages_all def main(): @@ -515,15 +541,15 @@ def main(): ) args = parser.parse_args() - release_notes_html( - prepare_release_notes( - args.base_release_tag, - args.base_release_commit, - args.release_tag, - args.release_commit, - max_commits=args.max_commits, - ) + release_notes = prepare_release_notes( + args.base_release_tag, + args.base_release_commit, + args.release_tag, + args.release_commit, + max_commits=args.max_commits, ) + print(release_notes) + release_notes_html(release_notes) if __name__ == "__main__": diff --git a/release-controller/test_publish_notes.py b/release-controller/test_publish_notes.py index f6b535574..fd795710a 100644 --- a/release-controller/test_publish_notes.py +++ b/release-controller/test_publish_notes.py @@ -32,7 +32,7 @@ def test_publish_if_ready__ready(mocker): Features: --------- -* ~~author: Igor Novg |~~ [5f9e639d1](https://github.com/dfinity/ic/commit/5f9e639d1) ~~Boundary Nodes: remove njs~~ +* ~~author: Igor Novg |~~ [5f9e639d1](https://github.com/dfinity/ic/commit/5f9e639d1) ~~Boundary Nodes: remove njs [AUTO-EXCLUDED:not a GuestOS change]~~ * ~~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 @@ -59,6 +59,16 @@ def test_publish_if_ready__ready(mocker): * [`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 + +
+Other changes (either not directly modifying GuestOS or not relevant) +
    +
  • 5f9e639d1 Boundary Nodes: remove njs
  • +
  • eb7f3dc5c Boundary Nodes: improve nginx performance
  • +
  • b4673936a Consensus(ecdsa): Make key_unmasked_ref in PreSignatureQuadrupleRef required
  • +
  • 6a4d8962c Consensus(ecdsa): Make masked kappa config optional
  • +
+
""", ) diff --git a/release-controller/test_release_index_loader.py b/release-controller/test_release_index_loader.py new file mode 100644 index 000000000..7169eac1e --- /dev/null +++ b/release-controller/test_release_index_loader.py @@ -0,0 +1,77 @@ +from release_index_loader import ReleaseLoader +from publish_notes import post_process_release_notes +import pathlib + + +def test_remove_details(mocker): + processed = post_process_release_notes( + """\ +Review checklist +================ + +Please cross-out your team once you finished the review + +* ~~@team-consensus~~ +* ~~@team-crypto~~ +* ~~@team-execution~~ +* ~~@team-messaging~~ +* ~~@team-networking~~ +* ~~@node-team~~ +* ~~@team-runtime~~ + +Release Notes for [**rc--2024-02-21\\_23-01**](https://github.com/dfinity/ic/tree/rc--2024-02-21_23-01) (2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f) +================================================================================================================================================= + +Changelog since git revision [8d4b6898d878fa3db4028b316b78b469ed29f293](https://dashboard.internetcomputer.org/release/8d4b6898d878fa3db4028b316b78b469ed29f293) + +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 +""" + ) + + loader = ReleaseLoader(pathlib.Path("notimoprtant")) + mocker.patch.object(loader, "changelog", return_value=processed) + a = loader.proposal_summary("2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f") + assert ( + loader.proposal_summary("2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f") + == """\ +Review checklist +================ + +Please cross-out your team once you finished the review + + +Release Notes for [**rc--2024-02-21\\_23-01**](https://github.com/dfinity/ic/tree/rc--2024-02-21_23-01) (2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f) +================================================================================================================================================= + +Changelog since git revision [8d4b6898d878fa3db4028b316b78b469ed29f293](https://dashboard.internetcomputer.org/release/8d4b6898d878fa3db4028b316b78b469ed29f293) + +Features: +--------- + +* [`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 + +# 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/2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f +``` + +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. +""" + ) diff --git a/release-controller/test_release_notes.py b/release-controller/test_release_notes.py index b339ba608..3b6e41912 100644 --- a/release-controller/test_release_notes.py +++ b/release-controller/test_release_notes.py @@ -1,759 +1,81 @@ -from release_notes import prepare_release_notes +from release_notes import prepare_release_notes, get_change_description_for_commit, Change +from git_repo import GitRepo +import pytest -def test_release_notes(mocker): - guest_os_packages_all = [ - "bazel", - "cpp", - "gitlab-ci/src/artifacts", - "ic-os/bootloader", - "ic-os/components", - "ic-os/guestos", - "ic-os/guestos/context", - "ic-os/guestos/envs/prod", - "ic-os/hostos", - "ic-os/hostos/context", - "ic-os/hostos/envs/prod", - "ic-os/setupos", - "ic-os/setupos/context", - "ic-os/setupos/envs/prod", - "packages/ic-ledger-hash-of", - "packages/icrc-ledger-client", - "packages/icrc-ledger-types", - "publish/binaries", - "rs/artifact_pool", - "rs/async_utils", - "rs/bitcoin/adapter", - "rs/bitcoin/client", - "rs/bitcoin/consensus", - "rs/bitcoin/replica_types", - "rs/bitcoin/service", - "rs/boundary_node/ic_boundary", - "rs/canister_client", - "rs/canister_client/sender", - "rs/canister_sandbox", - "rs/canonical_state", - "rs/canonical_state/certification_version", - "rs/canonical_state/tree_hash", - "rs/certification", - "rs/certification/test-utils", - "rs/config", - "rs/consensus", - "rs/consensus/utils", - "rs/constants", - "rs/crypto", - "rs/crypto/ecdsa_secp256k1", - "rs/crypto/ecdsa_secp256r1", - "rs/crypto/ed25519", - "rs/crypto/for_verification_only", - "rs/crypto/getrandom_for_wasm", - "rs/crypto/iccsa", - "rs/crypto/interfaces/sig_verification", - "rs/crypto/internal/crypto_lib/basic_sig/cose", - "rs/crypto/internal/crypto_lib/basic_sig/der_utils", - "rs/crypto/internal/crypto_lib/basic_sig/ecdsa_secp256k1", - "rs/crypto/internal/crypto_lib/basic_sig/ecdsa_secp256r1", - "rs/crypto/internal/crypto_lib/basic_sig/ed25519", - "rs/crypto/internal/crypto_lib/basic_sig/iccsa", - "rs/crypto/internal/crypto_lib/basic_sig/rsa_pkcs1", - "rs/crypto/internal/crypto_lib/bls12_381/type", - "rs/crypto/internal/crypto_lib/hmac", - "rs/crypto/internal/crypto_lib/multi_sig/bls12_381", - "rs/crypto/internal/crypto_lib/seed", - "rs/crypto/internal/crypto_lib/sha2", - "rs/crypto/internal/crypto_lib/threshold_sig/bls12_381", - "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa", - "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa/fe-derive", - "rs/crypto/internal/crypto_lib/tls", - "rs/crypto/internal/crypto_lib/types", - "rs/crypto/internal/crypto_service_provider", - "rs/crypto/internal/logmon", - "rs/crypto/internal/test_vectors", - "rs/crypto/node_key_generation", - "rs/crypto/node_key_validation", - "rs/crypto/node_key_validation/tls_cert_validation", - "rs/crypto/prng", - "rs/crypto/secrets_containers", - "rs/crypto/sha2", - "rs/crypto/standalone-sig-verifier", - "rs/crypto/temp_crypto", - "rs/crypto/temp_crypto/temp_vault", - "rs/crypto/test_utils/ni-dkg", - "rs/crypto/tls_interfaces", - "rs/crypto/tree_hash", - "rs/crypto/utils/basic_sig", - "rs/crypto/utils/canister_threshold_sig", - "rs/crypto/utils/ni_dkg", - "rs/crypto/utils/threshold_sig", - "rs/crypto/utils/threshold_sig_der", - "rs/crypto/utils/tls", - "rs/cup_explorer", - "rs/cycles_account_manager", - "rs/embedders", - "rs/execution_environment", - "rs/http_endpoints/metrics", - "rs/http_endpoints/public", - "rs/http_utils", - "rs/https_outcalls/adapter", - "rs/https_outcalls/client", - "rs/https_outcalls/consensus", - "rs/https_outcalls/service", - "rs/ic_os/config", - "rs/ic_os/dflate", - "rs/ic_os/diroid", - "rs/ic_os/fstrim_tool", - "rs/ic_os/guestos_tool", - "rs/ic_os/hostos_tool", - "rs/ic_os/inject_files", - "rs/ic_os/network", - "rs/ic_os/nft_exporter", - "rs/ic_os/nss_icos", - "rs/ic_os/partition_tools", - "rs/ic_os/setupos_tool", - "rs/ic_os/utils", - "rs/ic_os/vsock/guest", - "rs/ic_os/vsock/host", - "rs/ic_os/vsock/vsock_lib", - "rs/ingress_manager", - "rs/interfaces", - "rs/interfaces/adapter_client", - "rs/interfaces/certified_stream_store", - "rs/interfaces/registry", - "rs/interfaces/state_manager", - "rs/memory_tracker", - "rs/messaging", - "rs/monitoring/adapter_metrics/client", - "rs/monitoring/adapter_metrics/server", - "rs/monitoring/adapter_metrics/service", - "rs/monitoring/backtrace", - "rs/monitoring/logger", - "rs/monitoring/metrics", - "rs/monitoring/pprof", - "rs/monitoring/tracing", - "rs/nervous_system", - "rs/nervous_system/clients", - "rs/nervous_system/collections/union_multi_map", - "rs/nervous_system/common", - "rs/nervous_system/common/build_metadata", - "rs/nervous_system/governance", - "rs/nervous_system/lock", - "rs/nervous_system/neurons_fund", - "rs/nervous_system/proto", - "rs/nervous_system/proxied_canister_calls_tracker", - "rs/nervous_system/root", - "rs/nervous_system/runtime", - "rs/nervous_system/string", - "rs/nns/cmc", - "rs/nns/common", - "rs/nns/constants", - "rs/nns/governance/api", - "rs/orchestrator", - "rs/orchestrator/dashboard", - "rs/orchestrator/image_upgrader", - "rs/orchestrator/registry_replicator", - "rs/p2p/artifact_manager", - "rs/p2p/consensus_manager", - "rs/p2p/peer_manager", - "rs/p2p/quic_transport", - "rs/p2p/state_sync_manager", - "rs/phantom_newtype", - "rs/protobuf", - "rs/query_stats", - "rs/recovery", - "rs/registry/canister", - "rs/registry/client", - "rs/registry/fake", - "rs/registry/helpers", - "rs/registry/keys", - "rs/registry/local_store", - "rs/registry/nns_data_provider", - "rs/registry/nns_data_provider_wrappers", - "rs/registry/proto", - "rs/registry/proto_data_provider", - "rs/registry/provisional_whitelist", - "rs/registry/regedit", - "rs/registry/routing_table", - "rs/registry/subnet_features", - "rs/registry/subnet_type", - "rs/registry/transport", - "rs/replay", - "rs/replica", - "rs/replica/setup_ic_network", - "rs/replicated_state", - "rs/rosetta-api/icp_ledger", - "rs/rosetta-api/icrc1", - "rs/rosetta-api/icrc1/archive", - "rs/rosetta-api/icrc1/ledger", - "rs/rosetta-api/icrc1/tokens_u64", - "rs/rosetta-api/ledger_canister_core", - "rs/rosetta-api/ledger_core", - "rs/rust_canisters/canister_log", - "rs/rust_canisters/canister_profiler", - "rs/rust_canisters/dfn_candid", - "rs/rust_canisters/dfn_core", - "rs/rust_canisters/dfn_http", - "rs/rust_canisters/dfn_http_metrics", - "rs/rust_canisters/dfn_protobuf", - "rs/rust_canisters/http_types", - "rs/rust_canisters/on_wire", - "rs/sns/governance", - "rs/sns/governance/proposal_criticality", - "rs/sns/governance/proposals_amount_total_limit", - "rs/sns/governance/token_valuation", - "rs/sns/root", - "rs/sns/swap", - "rs/sns/swap/proto_library", - "rs/state_layout", - "rs/state_manager", - "rs/state_tool", - "rs/sys", - "rs/system_api", - "rs/test_utilities/io", - "rs/test_utilities/metrics", - "rs/tree_deserializer", - "rs/types/base_types", - "rs/types/error_types", - "rs/types/management_canister_types", - "rs/types/types", - "rs/types/wasm_types", - "rs/utils", - "rs/utils/lru_cache", - "rs/utils/thread", - "rs/validator", - "rs/wasm_transform", - "rs/xnet/endpoint", - "rs/xnet/hyper", - "rs/xnet/payload_builder", - "rs/xnet/uri", - "toolchains/sysimage", - ] - - bazel_packages_all = [ - "bazel", - "bazel/candid_integration_tests", - "bazel/exporter", - "bazel/inject_version_into_wasm_tests", - "bazel/proto", - "bazel/sanitizers_enabled_env", - "bazel/tlaplus", - "bazel/tools/cmpbuildlogs", - "cpp", - "gitlab-ci/config", - "gitlab-ci/src/artifacts", - "gitlab-ci/src/git_changes/test_data/change_file_ignore/after/rs", - "gitlab-ci/src/git_changes/test_data/change_file_ignore/before/rs", - "hs/spec_compliance", - "ic-os", - "ic-os/bootloader", - "ic-os/boundary-guestos", - "ic-os/boundary-guestos/context", - "ic-os/boundary-guestos/envs/dev", - "ic-os/boundary-guestos/envs/prod", - "ic-os/components", - "ic-os/dev-tools/bare_metal_deployment", - "ic-os/guestos", - "ic-os/guestos/context", - "ic-os/guestos/envs/dev", - "ic-os/guestos/envs/dev-malicious", - "ic-os/guestos/envs/local-base-dev", - "ic-os/guestos/envs/local-base-prod", - "ic-os/guestos/envs/prod", - "ic-os/hostos", - "ic-os/hostos/context", - "ic-os/hostos/envs/dev", - "ic-os/hostos/envs/local-base-dev", - "ic-os/hostos/envs/local-base-prod", - "ic-os/hostos/envs/prod", - "ic-os/setupos", - "ic-os/setupos/context", - "ic-os/setupos/envs/dev", - "ic-os/setupos/envs/local-base-dev", - "ic-os/setupos/envs/local-base-prod", - "ic-os/setupos/envs/prod", - "packages/ic-ledger-hash-of", - "packages/ic-signature-verification", - "packages/ic-vetkd-utils", - "packages/icrc-ledger-agent", - "packages/icrc-ledger-client", - "packages/icrc-ledger-client-cdk", - "packages/icrc-ledger-types", - "packages/pocket-ic", - "pre-commit", - "publish", - "publish/binaries", - "publish/canisters", - "publish/malicious", - "publish/tests", - "rs", - "rs/artifact_pool", - "rs/async_utils", - "rs/backup", - "rs/bitcoin/adapter", - "rs/bitcoin/adapter/test_utils", - "rs/bitcoin/ckbtc/agent", - "rs/bitcoin/ckbtc/kyt", - "rs/bitcoin/ckbtc/minter", - "rs/bitcoin/ckbtc/spec", - "rs/bitcoin/client", - "rs/bitcoin/consensus", - "rs/bitcoin/mock", - "rs/bitcoin/replica_types", - "rs/bitcoin/service", - "rs/boundary_node/canary_proxy", - "rs/boundary_node/certificate_issuance/certificate_issuer", - "rs/boundary_node/certificate_issuance/certificate_orchestrator", - "rs/boundary_node/certificate_issuance/certificate_orchestrator_interface", - "rs/boundary_node/certificate_issuance/certificate_syncer", - "rs/boundary_node/denylist_updater", - "rs/boundary_node/discower_bowndary", - "rs/boundary_node/ic_balance_exporter", - "rs/boundary_node/ic_boundary", - "rs/boundary_node/icx_proxy", - "rs/boundary_node/prober", - "rs/boundary_node/systemd_journal_gatewayd_shim", - "rs/canister_client", - "rs/canister_client/sender", - "rs/canister_sandbox", - "rs/canonical_state", - "rs/canonical_state/certification_version", - "rs/canonical_state/tree_hash", - "rs/canonical_state/tree_hash/test_utils", - "rs/certification", - "rs/certification/test-utils", - "rs/config", - "rs/consensus", - "rs/consensus/mocks", - "rs/consensus/utils", - "rs/constants", - "rs/criterion_time", - "rs/cross-chain", - "rs/cross-chain/proposal-cli", - "rs/crypto", - "rs/crypto/ecdsa_secp256k1", - "rs/crypto/ecdsa_secp256r1", - "rs/crypto/ed25519", - "rs/crypto/extended_bip32", - "rs/crypto/for_verification_only", - "rs/crypto/getrandom_for_wasm", - "rs/crypto/iccsa", - "rs/crypto/interfaces/sig_verification", - "rs/crypto/internal/crypto_lib/basic_sig/cose", - "rs/crypto/internal/crypto_lib/basic_sig/der_utils", - "rs/crypto/internal/crypto_lib/basic_sig/ecdsa_secp256k1", - "rs/crypto/internal/crypto_lib/basic_sig/ecdsa_secp256r1", - "rs/crypto/internal/crypto_lib/basic_sig/ed25519", - "rs/crypto/internal/crypto_lib/basic_sig/iccsa", - "rs/crypto/internal/crypto_lib/basic_sig/iccsa/test_utils", - "rs/crypto/internal/crypto_lib/basic_sig/rsa_pkcs1", - "rs/crypto/internal/crypto_lib/bls12_381/type", - "rs/crypto/internal/crypto_lib/bls12_381/vetkd", - "rs/crypto/internal/crypto_lib/hmac", - "rs/crypto/internal/crypto_lib/multi_sig/bls12_381", - "rs/crypto/internal/crypto_lib/seed", - "rs/crypto/internal/crypto_lib/sha2", - "rs/crypto/internal/crypto_lib/threshold_sig/bls12_381", - "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa", - "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa/fe-derive", - "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa/fuzz", - "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa/fuzz/cbor_deserialize_dealing_seed_corpus", - "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa/test_utils", - "rs/crypto/internal/crypto_lib/tls", - "rs/crypto/internal/crypto_lib/types", - "rs/crypto/internal/crypto_service_provider", - "rs/crypto/internal/crypto_service_provider/csp_proptest_utils", - "rs/crypto/internal/crypto_service_provider/protobuf_generator", - "rs/crypto/internal/csp_test_utils", - "rs/crypto/internal/logmon", - "rs/crypto/internal/test_vectors", - "rs/crypto/node_key_generation", - "rs/crypto/node_key_validation", - "rs/crypto/node_key_validation/tls_cert_validation", - "rs/crypto/prng", - "rs/crypto/secrets_containers", - "rs/crypto/sha2", - "rs/crypto/sha3", - "rs/crypto/standalone-sig-verifier", - "rs/crypto/temp_crypto", - "rs/crypto/temp_crypto/temp_vault", - "rs/crypto/test_utils", - "rs/crypto/test_utils/canister_sigs", - "rs/crypto/test_utils/canister_threshold_sigs", - "rs/crypto/test_utils/csp", - "rs/crypto/test_utils/keygen", - "rs/crypto/test_utils/keys", - "rs/crypto/test_utils/local_csp_vault", - "rs/crypto/test_utils/metrics", - "rs/crypto/test_utils/multi_sigs", - "rs/crypto/test_utils/ni-dkg", - "rs/crypto/test_utils/reproducible_rng", - "rs/crypto/test_utils/root_of_trust", - "rs/crypto/test_utils/tls", - "rs/crypto/tls_interfaces", - "rs/crypto/tls_interfaces/mocks", - "rs/crypto/tree_hash", - "rs/crypto/tree_hash/fuzz", - "rs/crypto/tree_hash/fuzz/check_witness_equality_utils", - "rs/crypto/tree_hash/test_utils", - "rs/crypto/utils/basic_sig", - "rs/crypto/utils/canister_threshold_sig", - "rs/crypto/utils/ni_dkg", - "rs/crypto/utils/threshold_sig", - "rs/crypto/utils/threshold_sig_der", - "rs/crypto/utils/tls", - "rs/cup_explorer", - "rs/cycles_account_manager", - "rs/depcheck", - "rs/determinism_test", - "rs/drun", - "rs/embedders", - "rs/embedders/fuzz", - "rs/ethereum/cketh/minter", - "rs/ethereum/cketh/test_utils", - "rs/ethereum/evm-rpc-client", - "rs/ethereum/ledger-suite-orchestrator", - "rs/ethereum/ledger-suite-orchestrator/test_utils", - "rs/ethereum/types", - "rs/execution_environment", - "rs/execution_environment/benches/lib", - "rs/execution_environment/benches/management_canister/test_canister", - "rs/execution_environment/fuzz", - "rs/execution_environment/tools", - "rs/fuzzers/bitcoin", - "rs/fuzzers/candid", - "rs/fuzzers/stable_structures", - "rs/http_endpoints/fuzz", - "rs/http_endpoints/metrics", - "rs/http_endpoints/public", - "rs/http_utils", - "rs/https_outcalls/adapter", - "rs/https_outcalls/client", - "rs/https_outcalls/consensus", - "rs/https_outcalls/service", - "rs/ic_os/config", - "rs/ic_os/deterministic_ips", - "rs/ic_os/dflate", - "rs/ic_os/diroid", - "rs/ic_os/fstrim_tool", - "rs/ic_os/guestos_tool", - "rs/ic_os/hostos_tool", - "rs/ic_os/inject_files", - "rs/ic_os/launch-single-vm", - "rs/ic_os/network", - "rs/ic_os/nft_exporter", - "rs/ic_os/nss_icos", - "rs/ic_os/partition_tools", - "rs/ic_os/release", - "rs/ic_os/setupos-disable-checks", - "rs/ic_os/setupos-inject-configuration", - "rs/ic_os/setupos_tool", - "rs/ic_os/utils", - "rs/ic_os/vsock/guest", - "rs/ic_os/vsock/host", - "rs/ic_os/vsock/vsock_lib", - "rs/ingress_manager", - "rs/interfaces", - "rs/interfaces/adapter_client", - "rs/interfaces/certified_stream_store", - "rs/interfaces/certified_stream_store/mocks", - "rs/interfaces/mocks", - "rs/interfaces/registry", - "rs/interfaces/registry/mocks", - "rs/interfaces/state_manager", - "rs/interfaces/state_manager/mocks", - "rs/memory_tracker", - "rs/messaging", - "rs/monitoring/adapter_metrics/client", - "rs/monitoring/adapter_metrics/server", - "rs/monitoring/adapter_metrics/service", - "rs/monitoring/backtrace", - "rs/monitoring/logger", - "rs/monitoring/metrics", - "rs/monitoring/pprof", - "rs/monitoring/tracing", - "rs/nervous_system", - "rs/nervous_system/clients", - "rs/nervous_system/collections/union_multi_map", - "rs/nervous_system/common", - "rs/nervous_system/common/build_metadata", - "rs/nervous_system/common/test_canister", - "rs/nervous_system/common/test_keys", - "rs/nervous_system/common/test_utils", - "rs/nervous_system/governance", - "rs/nervous_system/humanize", - "rs/nervous_system/integration_tests", - "rs/nervous_system/lock", - "rs/nervous_system/neurons_fund", - "rs/nervous_system/neurons_fund/nfplot", - "rs/nervous_system/proto", - "rs/nervous_system/proto/protobuf_generator", - "rs/nervous_system/proxied_canister_calls_tracker", - "rs/nervous_system/root", - "rs/nervous_system/runtime", - "rs/nervous_system/string", - "rs/nervous_system/tools/sync-with-released-nevous-system-wasms", - "rs/nns/cmc", - "rs/nns/common", - "rs/nns/common/protobuf_generator", - "rs/nns/constants", - "rs/nns/governance", - "rs/nns/governance/api", - "rs/nns/governance/init", - "rs/nns/governance/protobuf_generator", - "rs/nns/gtc", - "rs/nns/gtc/protobuf_generator", - "rs/nns/gtc_accounts", - "rs/nns/handlers/lifeline/impl", - "rs/nns/handlers/lifeline/interface", - "rs/nns/handlers/root/impl", - "rs/nns/handlers/root/impl/protobuf_generator", - "rs/nns/handlers/root/interface", - "rs/nns/identity", - "rs/nns/init", - "rs/nns/inspector", - "rs/nns/integration_tests", - "rs/nns/nns-ui", - "rs/nns/sns-wasm", - "rs/nns/sns-wasm/protobuf_generator", - "rs/nns/test_utils", - "rs/nns/test_utils/golden_nns_state", - "rs/nns/test_utils_macros", - "rs/orchestrator", - "rs/orchestrator/dashboard", - "rs/orchestrator/image_upgrader", - "rs/orchestrator/registry_replicator", - "rs/p2p/artifact_downloader", - "rs/p2p/artifact_manager", - "rs/p2p/consensus_manager", - "rs/p2p/memory_transport", - "rs/p2p/peer_manager", - "rs/p2p/quic_transport", - "rs/p2p/state_sync_manager", - "rs/p2p/test_utils", - "rs/phantom_newtype", - "rs/pocket_ic_server", - "rs/prep", - "rs/protobuf", - "rs/protobuf/generator", - "rs/query_stats", - "rs/recovery", - "rs/recovery/subnet_splitting", - "rs/registry/admin", - "rs/registry/admin-derive", - "rs/registry/canister", - "rs/registry/canister/protobuf_generator", - "rs/registry/client", - "rs/registry/fake", - "rs/registry/helpers", - "rs/registry/keys", - "rs/registry/local_registry", - "rs/registry/local_store", - "rs/registry/local_store/artifacts", - "rs/registry/nns_data_provider", - "rs/registry/nns_data_provider_wrappers", - "rs/registry/proto", - "rs/registry/proto/generator", - "rs/registry/proto_data_provider", - "rs/registry/provisional_whitelist", - "rs/registry/regedit", - "rs/registry/routing_table", - "rs/registry/subnet_features", - "rs/registry/subnet_type", - "rs/registry/transport", - "rs/registry/transport/protobuf_generator", - "rs/replay", - "rs/replica", - "rs/replica/setup_ic_network", - "rs/replica_tests", - "rs/replicated_state", - "rs/replicated_state/fuzz", - "rs/rosetta-api", - "rs/rosetta-api/hardware_wallet_tests", - "rs/rosetta-api/icp_ledger", - "rs/rosetta-api/icp_ledger/archive", - "rs/rosetta-api/icp_ledger/index", - "rs/rosetta-api/icp_ledger/ledger", - "rs/rosetta-api/icp_ledger/protobuf_generator", - "rs/rosetta-api/icp_ledger/rosetta-integration-tests", - "rs/rosetta-api/icp_ledger/test_utils", - "rs/rosetta-api/icrc1", - "rs/rosetta-api/icrc1/archive", - "rs/rosetta-api/icrc1/benchmark/generator", - "rs/rosetta-api/icrc1/benchmark/worker", - "rs/rosetta-api/icrc1/index", - "rs/rosetta-api/icrc1/index-ng", - "rs/rosetta-api/icrc1/ledger", - "rs/rosetta-api/icrc1/ledger/sm-tests", - "rs/rosetta-api/icrc1/rosetta", - "rs/rosetta-api/icrc1/rosetta/client", - "rs/rosetta-api/icrc1/rosetta/runner", - "rs/rosetta-api/icrc1/test_utils", - "rs/rosetta-api/icrc1/tokens_u256", - "rs/rosetta-api/icrc1/tokens_u64", - "rs/rosetta-api/ledger_canister_blocks_synchronizer", - "rs/rosetta-api/ledger_canister_blocks_synchronizer/test_utils", - "rs/rosetta-api/ledger_canister_core", - "rs/rosetta-api/ledger_core", - "rs/rosetta-api/rosetta_core", - "rs/rosetta-api/test_utils", - "rs/rosetta-api/test_utils/sender_canister", - "rs/rosetta-api/tvl", - "rs/rosetta-api/tvl/xrc_mock", - "rs/rust_canisters/call_tree_test", - "rs/rust_canisters/canister_creator", - "rs/rust_canisters/canister_log", - "rs/rust_canisters/canister_profiler", - "rs/rust_canisters/canister_serve", - "rs/rust_canisters/canister_test", - "rs/rust_canisters/dfn_candid", - "rs/rust_canisters/dfn_core", - "rs/rust_canisters/dfn_http", - "rs/rust_canisters/dfn_http_metrics", - "rs/rust_canisters/dfn_json", - "rs/rust_canisters/dfn_macro", - "rs/rust_canisters/dfn_protobuf", - "rs/rust_canisters/downstream_calls_test", - "rs/rust_canisters/ecdsa", - "rs/rust_canisters/http_types", - "rs/rust_canisters/memory_test", - "rs/rust_canisters/on_wire", - "rs/rust_canisters/pmap", - "rs/rust_canisters/proxy_canister", - "rs/rust_canisters/response_payload_test", - "rs/rust_canisters/stable_memory_integrity", - "rs/rust_canisters/stable_reader", - "rs/rust_canisters/stable_structures", - "rs/rust_canisters/statesync_test", - "rs/rust_canisters/tests", - "rs/rust_canisters/xnet_test", - "rs/scenario_tests", - "rs/sns/audit", - "rs/sns/cli", - "rs/sns/governance", - "rs/sns/governance/proposal_criticality", - "rs/sns/governance/proposals_amount_total_limit", - "rs/sns/governance/protobuf_generator", - "rs/sns/governance/token_valuation", - "rs/sns/init", - "rs/sns/init/protobuf_generator", - "rs/sns/integration_tests", - "rs/sns/root", - "rs/sns/root/protobuf_generator", - "rs/sns/swap", - "rs/sns/swap/proto_library", - "rs/sns/swap/protobuf_generator", - "rs/sns/test_utils", - "rs/starter", - "rs/state_layout", - "rs/state_machine_tests", - "rs/state_manager", - "rs/state_manager/spec", - "rs/state_tool", - "rs/sys", - "rs/system_api", - "rs/test_utilities", - "rs/test_utilities/artifact_pool", - "rs/test_utilities/compare_dirs", - "rs/test_utilities/consensus", - "rs/test_utilities/embedders", - "rs/test_utilities/execution_environment", - "rs/test_utilities/identity", - "rs/test_utilities/in_memory_logger", - "rs/test_utilities/io", - "rs/test_utilities/load_wasm", - "rs/test_utilities/logger", - "rs/test_utilities/metrics", - "rs/test_utilities/registry", - "rs/test_utilities/serialization", - "rs/test_utilities/state", - "rs/test_utilities/time", - "rs/test_utilities/tmpdir", - "rs/test_utilities/types", - "rs/tests", - "rs/tests/boundary_nodes", - "rs/tests/consensus", - "rs/tests/consensus/orchestrator", - "rs/tests/consensus/tecdsa", - "rs/tests/consensus/tecdsa/utils", - "rs/tests/consensus/utils", - "rs/tests/cross_chain", - "rs/tests/crypto", - "rs/tests/driver", - "rs/tests/execution", - "rs/tests/financial_integrations", - "rs/tests/financial_integrations/ckbtc", - "rs/tests/financial_integrations/rosetta", - "rs/tests/gix", - "rs/tests/httpbin-rs", - "rs/tests/ict", - "rs/tests/ict/cmd", - "rs/tests/message_routing", - "rs/tests/message_routing/xnet", - "rs/tests/nested", - "rs/tests/networking", - "rs/tests/networking/canister_http", - "rs/tests/nns", - "rs/tests/nns/ic_mainnet_nns_recovery", - "rs/tests/nns/sns", - "rs/tests/node", - "rs/tests/query_stats", - "rs/tests/query_stats/lib", - "rs/tests/sdk", - "rs/tests/test_canisters/http_counter", - "rs/tests/test_canisters/kv_store", - "rs/tests/test_canisters/message", - "rs/tests/testing_verification", - "rs/tests/testing_verification/spec_compliance", - "rs/tests/testing_verification/testnets", - "rs/tests/testing_verification/wabt-tests", - "rs/tools/check_did", - "rs/tree_deserializer", - "rs/types/base_types", - "rs/types/base_types/protobuf_generator", - "rs/types/error_types", - "rs/types/exhaustive_derive", - "rs/types/management_canister_types", - "rs/types/management_canister_types/fuzz", - "rs/types/management_canister_types/fuzz/candid_seed_corpus_generation", - "rs/types/types", - "rs/types/types_test_utils", - "rs/types/wasm_types", - "rs/universal_canister/impl", - "rs/universal_canister/lib", - "rs/utils", - "rs/utils/ensure", - "rs/utils/lru_cache", - "rs/utils/rustfmt", - "rs/utils/thread", - "rs/validator", - "rs/validator/fuzz", - "rs/validator/http_request_arbitrary", - "rs/validator/http_request_test_utils", - "rs/validator/ingress_message", - "rs/validator/ingress_message/test_canister", - "rs/wasm_transform", - "rs/workload_generator", - "rs/xnet/endpoint", - "rs/xnet/hyper", - "rs/xnet/payload_builder", - "rs/xnet/uri", - "testnet", - "testnet/tools", - "third_party/bitcoin-core", - "third_party/lmdb", - "third_party/lmdb-rkv-0.14.99", - "third_party/tlaplus-1.8.0", - "toolchains/sysimage", - ] - - mock = mocker.patch("release_notes.bazel_query") +def test_get_change_description_for_commit(): + ic_repo = GitRepo("https://github.com/dfinity/ic.git", main_branch="master") + # not a guestos change + assert get_change_description_for_commit(commit_hash="00dc67f8d", ic_repo=ic_repo) == Change( + commit="00dc67f8d", + teams=[ + "crypto-team", + "ic-interface-owners", + ], + type="refactor", + scope="", + message="Use ic_cdk::api::time for ingress message validator crate ([#802](https://github.com/dfinity/ic/pull/802))", + commiter="Dimi Sarl", + exclusion_reason=None, + guestos_change=False, + ) + # bumping dependencies + assert get_change_description_for_commit(commit_hash="2d0835bba", ic_repo=ic_repo) == Change( + commit="2d0835bba", + teams=[ + "ic-owners-owners", + ], + type="chore", + scope="crypto", + message="bump ic_bls12_381 to 0.10.0 ([#770](https://github.com/dfinity/ic/pull/770))", + commiter="Olek Tkac", + exclusion_reason=None, + guestos_change=True, + ) + # .github change + assert get_change_description_for_commit(commit_hash="94fd38099", ic_repo=ic_repo) == Change( + commit="94fd38099", + teams=[ + "ic-owners-owners", + ], + type="chore", + scope="IDX", + message="fix workflow syntax ([#824](https://github.com/dfinity/ic/pull/824))", + commiter="Carl Gund", + exclusion_reason=None, + guestos_change=False, + ) + # replica change + assert get_change_description_for_commit(commit_hash="951e895c7", ic_repo=ic_repo) == Change( + commit="951e895c7", + teams=[ + "execution", + "ic-interface-owners", + ], + type="feat", + scope="", + message="Handle stable_read/write with Wasm64 heaps and testing infrastructure ([#781](https://github.com/dfinity/ic/pull/781))", + commiter="Alex Uta ", + exclusion_reason=None, + guestos_change=True, + ) + # modifies Cargo.lock but not in a meaningful way + assert get_change_description_for_commit(commit_hash="5a250cb34", ic_repo=ic_repo) == Change( + commit="5a250cb34", + teams=[ + "ic-interface-owners", + ], + type="feat", + scope="ic-admin", + message="Support sending update_canister_settings proposals through ic-admin ([#789](https://github.com/dfinity/ic/pull/789))", + commiter="jaso ", + exclusion_reason=None, + guestos_change=False, + ) - def bazel_query_side_effect(*args, **kwargs): - if args[0] == "//...:*": - return bazel_packages_all - else: - return guest_os_packages_all - mock.side_effect = bazel_query_side_effect +@pytest.mark.skip(reason="to expensive to test this currently") +def test_release_notes(): assert ( prepare_release_notes( "release-2024-07-10_23-01-base", @@ -783,62 +105,51 @@ def bazel_query_side_effect(*args, **kwargs): * author: Eero Kell | [`f5491f4b2`](https://github.com/dfinity/ic/commit/f5491f4b2) Consensus,Interface: Add backoff and jitter to HostOS upgrades ([#395](https://github.com/dfinity/ic/pull/395)) * author: Rost Rume | [`3ba4a08a2`](https://github.com/dfinity/ic/commit/3ba4a08a2) Crypto,Interface: quinn and rustls upgrade * author: Drag Djur | [`2bae326f0`](https://github.com/dfinity/ic/commit/2bae326f0) Execution,Interface: Add new type of task OnLowWasmMemory ([#379](https://github.com/dfinity/ic/pull/379)) -* author: Alex | [`e7a36d5c8`](https://github.com/dfinity/ic/commit/e7a36d5c8) Execution,Interface: Handle canister snapshots during subnet splitting ([#412](https://github.com/dfinity/ic/pull/412)) -* author: Dimi Sarl | [`59f22753b`](https://github.com/dfinity/ic/commit/59f22753b) Execution,Interface: Print instructions consumed in DTS executions in a more readable form -* author: Ulan Dege | [`9f25198cf`](https://github.com/dfinity/ic/commit/9f25198cf) Execution,Interface: Reland switch to compiler sandbox for compilation -* author: Alex Uta | [`75c57bc48`](https://github.com/dfinity/ic/commit/75c57bc48) Execution,Interface,Networking: Adjust max number of cached sandboxes +* author: Alex | [`e7a36d5c8`](https://github.com/dfinity/ic/commit/e7a36d5c8) Execution,Interface,Runtime: Handle canister snapshots during subnet splitting ([#412](https://github.com/dfinity/ic/pull/412)) +* author: Dimi Sarl | [`59f22753b`](https://github.com/dfinity/ic/commit/59f22753b) Execution,Interface,Runtime: Print instructions consumed in DTS executions in a more readable form * author: Dimi Sarl | [`9416ad7d0`](https://github.com/dfinity/ic/commit/9416ad7d0) Interface: Compute effective canister id for canister snapshot requests ([#541](https://github.com/dfinity/ic/pull/541)) -* ~~author: Niko | [`67e53cc29`](https://github.com/dfinity/ic/commit/67e53cc29) Interface(ICP-Rosetta): add rosetta blocks to block/transaction endpoint ([#524](https://github.com/dfinity/ic/pull/524)) [AUTO-EXCLUDED]~~ -* ~~author: Andr Popo | [`fd0eafaf4`](https://github.com/dfinity/ic/commit/fd0eafaf4) Interface(sns): Include hash of upgrade args in UpgradeSnsControlledCanister payload text rendering ([#554](https://github.com/dfinity/ic/pull/554)) [AUTO-EXCLUDED]~~ -* ~~author: dani | [`871efb5cc`](https://github.com/dfinity/ic/commit/871efb5cc) Interface(nns): Added setting neuron visibility. ([#517](https://github.com/dfinity/ic/pull/517)) [AUTO-EXCLUDED]~~ +* ~~author: Andr Popo | [`fd0eafaf4`](https://github.com/dfinity/ic/commit/fd0eafaf4) Interface(sns): Include hash of upgrade args in UpgradeSnsControlledCanister payload text rendering ([#554](https://github.com/dfinity/ic/pull/554)) [AUTO-EXCLUDED:filtered out by package filters]~~ +* ~~author: dani | [`871efb5cc`](https://github.com/dfinity/ic/commit/871efb5cc) Interface(nns): Added setting neuron visibility. ([#517](https://github.com/dfinity/ic/pull/517)) [AUTO-EXCLUDED:filtered out by package filters]~~ * author: jaso | [`b3ac41768`](https://github.com/dfinity/ic/commit/b3ac41768) Interface(nns): Support StopOrStartCanister proposal action ([#458](https://github.com/dfinity/ic/pull/458)) -* ~~author: dani | [`3625067d6`](https://github.com/dfinity/ic/commit/3625067d6) Interface(nns): Added visibility field to neurons. ([#451](https://github.com/dfinity/ic/pull/451)) [AUTO-EXCLUDED]~~ +* ~~author: dani | [`3625067d6`](https://github.com/dfinity/ic/commit/3625067d6) Interface(nns): Added visibility field to neurons. ([#451](https://github.com/dfinity/ic/pull/451)) [AUTO-EXCLUDED:filtered out by package filters]~~ * author: Dani Shar | [`faa3c1ad8`](https://github.com/dfinity/ic/commit/faa3c1ad8) Interface(pocket-ic): Support synchronous call endpoint in pocket-ic. ([#348](https://github.com/dfinity/ic/pull/348)) -* ~~author: jaso | [`b8cd861b9`](https://github.com/dfinity/ic/commit/b8cd861b9) Interface: Add bitcoin and cycles ledger canisters to protocol canisters ([#424](https://github.com/dfinity/ic/pull/424)) [AUTO-EXCLUDED]~~ -* ~~author: Niko Milo | [`215fb78b6`](https://github.com/dfinity/ic/commit/215fb78b6) Interface(farm): extending from config testnet ([#359](https://github.com/dfinity/ic/pull/359)) [AUTO-EXCLUDED]~~ +* ~~author: jaso | [`b8cd861b9`](https://github.com/dfinity/ic/commit/b8cd861b9) Interface: Add bitcoin and cycles ledger canisters to protocol canisters ([#424](https://github.com/dfinity/ic/pull/424)) [AUTO-EXCLUDED:filtered out by package filters]~~ +* author: Niko Milo | [`215fb78b6`](https://github.com/dfinity/ic/commit/215fb78b6) Interface(farm): extending from config testnet ([#359](https://github.com/dfinity/ic/pull/359)) * author: jaso | [`922a89e6b`](https://github.com/dfinity/ic/commit/922a89e6b) Interface(nns): Create a new proposal action install_code and support non-root canisters ([#394](https://github.com/dfinity/ic/pull/394)) -* ~~author: Mari Past | [`5ac0b1653`](https://github.com/dfinity/ic/commit/5ac0b1653) Interface: transaction uniqueness in Rosetta Blocks [AUTO-EXCLUDED]~~ -* author: Igor Novg | [`fde205151`](https://github.com/dfinity/ic/commit/fde205151) Interface: ic-boundary: retry on most calls -* ~~author: Niko Haim | [`5bba7bd69`](https://github.com/dfinity/ic/commit/5bba7bd69) Interface(ICP-Rosetta): Add query block range [AUTO-EXCLUDED]~~ -* ~~author: Jaso (Yel | [`891c74208`](https://github.com/dfinity/ic/commit/891c74208) Interface(nns): Create 2 new topics while not allowing following to be set on them [AUTO-EXCLUDED]~~ -* author: Andr Popo | [`42fb959d5`](https://github.com/dfinity/ic/commit/42fb959d5) Interface(nns): Better field names for API type `NeuronsFundNeuronPortion` -* ~~author: Mari Past | [`a9d1d1052`](https://github.com/dfinity/ic/commit/a9d1d1052) Interface: support Rosetta Blocks in /blocks in icp rosetta [AUTO-EXCLUDED]~~ +* ~~author: Igor Novg | [`fde205151`](https://github.com/dfinity/ic/commit/fde205151) Interface: ic-boundary: retry on most calls [AUTO-EXCLUDED:filtered out by package filters]~~ +* ~~author: Jaso (Yel | [`891c74208`](https://github.com/dfinity/ic/commit/891c74208) Interface(nns): Create 2 new topics while not allowing following to be set on them [AUTO-EXCLUDED:filtered out by package filters]~~ +* ~~author: Andr Popo | [`42fb959d5`](https://github.com/dfinity/ic/commit/42fb959d5) Interface(nns): Better field names for API type `NeuronsFundNeuronPortion` [AUTO-EXCLUDED:filtered out by package filters]~~ * author: Chri Stie | [`0f3b81c5f`](https://github.com/dfinity/ic/commit/0f3b81c5f) Interface,Message Routing: Implement handling reject signals from incoming stream slices. -* author: Alex Uta | [`d267d7f0f`](https://github.com/dfinity/ic/commit/d267d7f0f) Interface,Message Routing,Networking: Revert to the memory allocator ([#515](https://github.com/dfinity/ic/pull/515)) +* author: Alex Uta | [`d267d7f0f`](https://github.com/dfinity/ic/commit/d267d7f0f) Interface,Networking: Revert to the memory allocator ([#515](https://github.com/dfinity/ic/pull/515)) * author: Tim Gret | [`4c03f768f`](https://github.com/dfinity/ic/commit/4c03f768f) Interface,Networking: publish https outcalls adapter with http enabled for dfx * author: Eero Kell | [`7d70776f8`](https://github.com/dfinity/ic/commit/7d70776f8) Interface,Node: Pull HostOS upgrade file in chunks -* ~~author: Nico Matt | [`aa89e8079`](https://github.com/dfinity/ic/commit/aa89e8079) IDX: Add Apple Silicon builds ([#512](https://github.com/dfinity/ic/pull/512)) [AUTO-EXCLUDED]~~ +* author: Alex Uta | [`75c57bc48`](https://github.com/dfinity/ic/commit/75c57bc48) Interface,Runtime: Adjust max number of cached sandboxes +* author: Ulan Dege | [`9f25198cf`](https://github.com/dfinity/ic/commit/9f25198cf) Interface,Runtime: Reland switch to compiler sandbox for compilation ## Bugfixes: -* ~~author: Rost Rume | [`b239fb792`](https://github.com/dfinity/ic/commit/b239fb792) General: upgrade the bytes crate since v1.6.0 was yanked due to a bug [AUTO-EXCLUDED]~~ * author: Adri Alic | [`4fd343cae`](https://github.com/dfinity/ic/commit/4fd343cae) Consensus,Interface(consensus): Fix inconsistency when purging validated pool below maximum element ([#598](https://github.com/dfinity/ic/pull/598)) * author: Chri Müll | [`9243f5c75`](https://github.com/dfinity/ic/commit/9243f5c75) Consensus,Interface: ic-replay when DTS is enabled * author: Jack Lloy | [`72e6f39b0`](https://github.com/dfinity/ic/commit/72e6f39b0) Crypto,Interface(crypto): Re-enable NIDKG cheating dealer solving test -* author: Nico Matt | [`3eb105c27`](https://github.com/dfinity/ic/commit/3eb105c27) Execution,Interface(IDX): remove unused aarch64 import ([#507](https://github.com/dfinity/ic/pull/507)) -* author: Nico Matt | [`d1d720915`](https://github.com/dfinity/ic/commit/d1d720915) Execution,Interface(IDX): disable unused aarch64-darwin code ([#486](https://github.com/dfinity/ic/pull/486)) -* author: Alex Uta | [`ff9e2941c`](https://github.com/dfinity/ic/commit/ff9e2941c) Execution,Interface: Cap Wasm64 heap memory size ([#446](https://github.com/dfinity/ic/pull/446)) -* author: Alex Uta | [`d23960734`](https://github.com/dfinity/ic/commit/d23960734) Execution,Interface: Fix instrumentation for memory.init and table.init in Wasm 64-bit mode ([#442](https://github.com/dfinity/ic/pull/442)) -* author: Ulan Dege | [`7708333b2`](https://github.com/dfinity/ic/commit/7708333b2) Execution,Interface: Follow up on the reserved cycles limit fix ([#383](https://github.com/dfinity/ic/pull/383)) -* author: Ulan Dege | [`4a622c04c`](https://github.com/dfinity/ic/commit/4a622c04c) Execution,Interface: Free SandboxedExecutionController threads ([#354](https://github.com/dfinity/ic/pull/354)) -* author: Andr Bere | [`587c1485b`](https://github.com/dfinity/ic/commit/587c1485b) Execution,Interface: Revert "feat: Switch to compiler sandbox for compilation" * author: Stef Schn | [`fc5913c1c`](https://github.com/dfinity/ic/commit/fc5913c1c) Execution,Interface,Message Routing: Maintain snapshot_ids correctly ([#360](https://github.com/dfinity/ic/pull/360)) +* ~~author: Nico Matt | [`3eb105c27`](https://github.com/dfinity/ic/commit/3eb105c27) Execution,Interface,Runtime(IDX): remove unused aarch64 import ([#507](https://github.com/dfinity/ic/pull/507)) [AUTO-EXCLUDED:filtered out by package filters]~~ +* ~~author: Nico Matt | [`d1d720915`](https://github.com/dfinity/ic/commit/d1d720915) Execution,Interface,Runtime(IDX): disable unused aarch64-darwin code ([#486](https://github.com/dfinity/ic/pull/486)) [AUTO-EXCLUDED:filtered out by package filters]~~ +* author: Ulan Dege | [`7708333b2`](https://github.com/dfinity/ic/commit/7708333b2) Execution,Interface,Runtime: Follow up on the reserved cycles limit fix ([#383](https://github.com/dfinity/ic/pull/383)) * author: Stef | [`dd0be35cb`](https://github.com/dfinity/ic/commit/dd0be35cb) Interface: fifo tracing layers and connections dashboard ([#576](https://github.com/dfinity/ic/pull/576)) * author: max- | [`994af8f87`](https://github.com/dfinity/ic/commit/994af8f87) Interface(registry): Optimize get_key_family ([#556](https://github.com/dfinity/ic/pull/556)) * author: Rost Rume | [`65c3775eb`](https://github.com/dfinity/ic/commit/65c3775eb) Interface: use idna for parsing domain names ([#414](https://github.com/dfinity/ic/pull/414)) * author: Luka Skug | [`2ef33c956`](https://github.com/dfinity/ic/commit/2ef33c956) Interface(k8s-testnets): adapt firewall rules for k8s testnets ([#436](https://github.com/dfinity/ic/pull/436)) -* author: Bas van | [`3a31b54c3`](https://github.com/dfinity/ic/commit/3a31b54c3) Interface(IDX): double CPU reservation for //rs/nervous_system/integration_tests:integration_tests_test_tests/sns_ledger_upgrade ([#428](https://github.com/dfinity/ic/pull/428)) * author: Niko | [`33187dbe8`](https://github.com/dfinity/ic/commit/33187dbe8) Interface: add e 8 s to icrc 21 ([#340](https://github.com/dfinity/ic/pull/340)) -* ~~author: Niko | [`18243444a`](https://github.com/dfinity/ic/commit/18243444a) Interface(ICRC-Index): remove comment on removing 0 balance accounts ([#341](https://github.com/dfinity/ic/pull/341)) [AUTO-EXCLUDED]~~ * author: Stef Schn | [`932506f89`](https://github.com/dfinity/ic/commit/932506f89) Interface,Message Routing: Add total_size to CanisterSnapshotBits ([#479](https://github.com/dfinity/ic/pull/479)) * author: Rost Rume | [`3ee248686`](https://github.com/dfinity/ic/commit/3ee248686) Interface,Networking: use the Shutdown struct instead of explicitly passing the cancellation token for the sender side of the consensus manager -* ~~author: Bas van | [`24278eb74`](https://github.com/dfinity/ic/commit/24278eb74) IDX: fix the did_git_test on GitHub ([#480](https://github.com/dfinity/ic/pull/480)) [AUTO-EXCLUDED]~~ -* ~~author: Nico Matt | [`d7097b0ef`](https://github.com/dfinity/ic/commit/d7097b0ef) IDX: move build filters ([#482](https://github.com/dfinity/ic/pull/482)) [AUTO-EXCLUDED]~~ +* author: Alex Uta | [`ff9e2941c`](https://github.com/dfinity/ic/commit/ff9e2941c) Interface,Runtime: Cap Wasm64 heap memory size ([#446](https://github.com/dfinity/ic/pull/446)) +* author: Alex Uta | [`d23960734`](https://github.com/dfinity/ic/commit/d23960734) Interface,Runtime: Fix instrumentation for memory.init and table.init in Wasm 64-bit mode ([#442](https://github.com/dfinity/ic/pull/442)) +* author: Ulan Dege | [`4a622c04c`](https://github.com/dfinity/ic/commit/4a622c04c) Interface,Runtime: Free SandboxedExecutionController threads ([#354](https://github.com/dfinity/ic/pull/354)) +* author: Andr Bere | [`587c1485b`](https://github.com/dfinity/ic/commit/587c1485b) Interface,Runtime: Revert "feat: Switch to compiler sandbox for compilation" +* author: Rost Rume | [`b239fb792`](https://github.com/dfinity/ic/commit/b239fb792) Owners: upgrade the bytes crate since v1.6.0 was yanked due to a bug ## Performance improvements: * author: Leo Eich | [`460693f61`](https://github.com/dfinity/ic/commit/460693f61) Consensus,Interface: Reduce cost of cloning tSchnorr inputs ([#344](https://github.com/dfinity/ic/pull/344)) * author: Jack Lloy | [`fac32ae6f`](https://github.com/dfinity/ic/commit/fac32ae6f) Crypto,Interface(crypto): Reduce the size of randomizers during Ed25519 batch verification ([#413](https://github.com/dfinity/ic/pull/413)) * author: Dimi Sarl | [`390135775`](https://github.com/dfinity/ic/commit/390135775) Execution,Interface: Speed up parsing of optional blob in CanisterHttpRequestArgs ([#478](https://github.com/dfinity/ic/pull/478)) ## Chores: -* ~~author: r-bi | [`af87b88ac`](https://github.com/dfinity/ic/commit/af87b88ac) General: bump response verification and associated crates ([#590](https://github.com/dfinity/ic/pull/590)) [AUTO-EXCLUDED]~~ -* ~~author: Jack Lloy | [`72f9e6d7f`](https://github.com/dfinity/ic/commit/72f9e6d7f) General(crypto): Always optimize the curve25519-dalek crate [AUTO-EXCLUDED]~~ * author: Adri Alic | [`95f4680b0`](https://github.com/dfinity/ic/commit/95f4680b0) Consensus,Interface(consensus): Move get_block_maker_by_rank into test utilities ([#525](https://github.com/dfinity/ic/pull/525)) * author: Leo Eich | [`1b4b3b478`](https://github.com/dfinity/ic/commit/1b4b3b478) Consensus,Interface: Update documentation to include tSchnorr ([#523](https://github.com/dfinity/ic/pull/523)) * author: Leo Eich | [`282c6ec9c`](https://github.com/dfinity/ic/commit/282c6ec9c) Consensus,Interface: Rename `ecdsa` block payload field and fix comments ([#416](https://github.com/dfinity/ic/pull/416)) @@ -851,84 +162,233 @@ def bazel_query_side_effect(*args, **kwargs): * author: push | [`f906cf8da`](https://github.com/dfinity/ic/commit/f906cf8da) Crypto(github-sync): PR#248 / feat(crypto): add new signature verification package initially supporting canister signatures * author: Jack Lloy | [`dbaa4375c`](https://github.com/dfinity/ic/commit/dbaa4375c) Crypto,Interface(crypto): Remove support for masked kappa in threshold ECDSA ([#368](https://github.com/dfinity/ic/pull/368)) * author: Jack Lloy | [`bed4f13ef`](https://github.com/dfinity/ic/commit/bed4f13ef) Crypto,Interface(crypto): Implement ZIP25 Ed25519 verification in ic_crypto_ed25519 -* author: Dimi Sarl | [`d1206f45a`](https://github.com/dfinity/ic/commit/d1206f45a) Execution,Interface: Add logs to capture usages of legacy ICQC feature on system subnets ([#607](https://github.com/dfinity/ic/pull/607)) -* author: Dimi Sarl | [`bc2755cff`](https://github.com/dfinity/ic/commit/bc2755cff) Execution,Interface(execution): Remove wasm_chunk_store flag ([#542](https://github.com/dfinity/ic/pull/542)) -* author: Maks Arut | [`7a8c6c69f`](https://github.com/dfinity/ic/commit/7a8c6c69f) Execution,Interface: unify ECDSA and tSchnorr signing requests ([#544](https://github.com/dfinity/ic/pull/544)) -* author: Dimi Sarl | [`513b2baec`](https://github.com/dfinity/ic/commit/513b2baec) Execution,Interface(management-canister): Remove unimplemented delete_chunks API ([#537](https://github.com/dfinity/ic/pull/537)) -* author: Maks Arut | [`e41aefe34`](https://github.com/dfinity/ic/commit/e41aefe34) Execution,Interface: remove obsolete canister_logging feature flag ([#505](https://github.com/dfinity/ic/pull/505)) -* author: Dimi Sarl | [`005885513`](https://github.com/dfinity/ic/commit/005885513) Execution,Interface: Remove deprecated controller field in update settings requests ([#432](https://github.com/dfinity/ic/pull/432)) -* author: Ulan Dege | [`45aefaf9f`](https://github.com/dfinity/ic/commit/45aefaf9f) Execution,Interface: Derive ParitalEq for all sandbox IPC types ([#374](https://github.com/dfinity/ic/pull/374)) -* author: Andr Bere | [`234e5c396`](https://github.com/dfinity/ic/commit/234e5c396) Execution,Interface: Update Wasm benchmarks * author: Maks Arut | [`2411eb905`](https://github.com/dfinity/ic/commit/2411eb905) Execution,Interface: rename iDKG key to threshold key * author: Dimi Sarl | [`1ba3b5e0b`](https://github.com/dfinity/ic/commit/1ba3b5e0b) Execution,Interface,Message Routing: Update error message for subnet methods that are not allowed through ingress messages ([#574](https://github.com/dfinity/ic/pull/574)) -* author: Venk Seka | [`5dc3afeb5`](https://github.com/dfinity/ic/commit/5dc3afeb5) Execution,Interface,Networking(fuzzing): fix clippy warnings for fuzzers -* ~~author: maci | [`3ecb66f20`](https://github.com/dfinity/ic/commit/3ecb66f20) Interface(ICP/ICRC-ledger): return value in BalanceStrore.get_balance ([#518](https://github.com/dfinity/ic/pull/518)) [AUTO-EXCLUDED]~~ +* author: Dimi Sarl | [`d1206f45a`](https://github.com/dfinity/ic/commit/d1206f45a) Execution,Interface,Runtime: Add logs to capture usages of legacy ICQC feature on system subnets ([#607](https://github.com/dfinity/ic/pull/607)) +* author: Dimi Sarl | [`bc2755cff`](https://github.com/dfinity/ic/commit/bc2755cff) Execution,Interface,Runtime(execution): Remove wasm_chunk_store flag ([#542](https://github.com/dfinity/ic/pull/542)) +* author: Maks Arut | [`7a8c6c69f`](https://github.com/dfinity/ic/commit/7a8c6c69f) Execution,Interface,Runtime: unify ECDSA and tSchnorr signing requests ([#544](https://github.com/dfinity/ic/pull/544)) +* author: Dimi Sarl | [`513b2baec`](https://github.com/dfinity/ic/commit/513b2baec) Execution,Interface,Runtime(management-canister): Remove unimplemented delete_chunks API ([#537](https://github.com/dfinity/ic/pull/537)) +* author: Maks Arut | [`e41aefe34`](https://github.com/dfinity/ic/commit/e41aefe34) Execution,Interface,Runtime: remove obsolete canister_logging feature flag ([#505](https://github.com/dfinity/ic/pull/505)) +* author: Dimi Sarl | [`005885513`](https://github.com/dfinity/ic/commit/005885513) Execution,Interface,Runtime: Remove deprecated controller field in update settings requests ([#432](https://github.com/dfinity/ic/pull/432)) +* ~~author: maci | [`3ecb66f20`](https://github.com/dfinity/ic/commit/3ecb66f20) Interface(ICP/ICRC-ledger): return value in BalanceStrore.get_balance ([#518](https://github.com/dfinity/ic/pull/518)) [AUTO-EXCLUDED:filtered out by package filters]~~ * author: Dimi Sarl | [`c4eb29da7`](https://github.com/dfinity/ic/commit/c4eb29da7) Interface: Remove unused instruction limits from subnet record ([#441](https://github.com/dfinity/ic/pull/441)) -* ~~author: Niko | [`cec100d16`](https://github.com/dfinity/ic/commit/cec100d16) Interface(ICRC-Rosetta): add secp key test ([#467](https://github.com/dfinity/ic/pull/467)) [AUTO-EXCLUDED]~~ * author: Maks Arut | [`eec6107fa`](https://github.com/dfinity/ic/commit/eec6107fa) Interface: remove obsolete cost scaling feature flag ([#502](https://github.com/dfinity/ic/pull/502)) -* ~~author: Niko | [`6764190a8`](https://github.com/dfinity/ic/commit/6764190a8) Interface(ICP-Rosetta): enable feature flag rosetta blocks ([#465](https://github.com/dfinity/ic/pull/465)) [AUTO-EXCLUDED]~~ -* ~~author: maci | [`14836b59d`](https://github.com/dfinity/ic/commit/14836b59d) Interface(ICP/ICRC-Ledger): refactor approvals library to allow using regular and stable allowance storage ([#382](https://github.com/dfinity/ic/pull/382)) [AUTO-EXCLUDED]~~ +* ~~author: maci | [`14836b59d`](https://github.com/dfinity/ic/commit/14836b59d) Interface(ICP/ICRC-Ledger): refactor approvals library to allow using regular and stable allowance storage ([#382](https://github.com/dfinity/ic/pull/382)) [AUTO-EXCLUDED:filtered out by package filters]~~ * author: Rost Rume | [`4cc989aa3`](https://github.com/dfinity/ic/commit/4cc989aa3) Interface: upgrade url and uuid and use workspace versions ([#417](https://github.com/dfinity/ic/pull/417)) -* ~~author: max- | [`d732d9d6d`](https://github.com/dfinity/ic/commit/d732d9d6d) Interface(nns): Add api <--> internal type conversions ([#393](https://github.com/dfinity/ic/pull/393)) [AUTO-EXCLUDED]~~ -* ~~author: r-bi | [`9a3aa19d7`](https://github.com/dfinity/ic/commit/9a3aa19d7) Interface(ic-boundary): removing deprecated CLI option ([#404](https://github.com/dfinity/ic/pull/404)) [AUTO-EXCLUDED]~~ -* author: mras | [`3ba594f48`](https://github.com/dfinity/ic/commit/3ba594f48) Interface: collection of preparatory steps for canister HTTP outcalls in PocketIC and unrelated fixes ([#352](https://github.com/dfinity/ic/pull/352)) +* ~~author: r-bi | [`9a3aa19d7`](https://github.com/dfinity/ic/commit/9a3aa19d7) Interface(ic-boundary): removing deprecated CLI option ([#404](https://github.com/dfinity/ic/pull/404)) [AUTO-EXCLUDED:filtered out by package filters]~~ * author: Rost Rume | [`c52bf40a1`](https://github.com/dfinity/ic/commit/c52bf40a1) Interface: upgrade rustls * author: Rost Rume | [`5cfaea5ea`](https://github.com/dfinity/ic/commit/5cfaea5ea) Interface: upgrade external crates and use workspace version -* author: Ognj Mari | [`3017e2e4a`](https://github.com/dfinity/ic/commit/3017e2e4a) Interface: move some Bazel rules out of the system test defs * author: Stef Neam | [`0a9901ae4`](https://github.com/dfinity/ic/commit/0a9901ae4) Interface: remove old hyper from system tests -* ~~author: Andr Popo | [`91ceadc58`](https://github.com/dfinity/ic/commit/91ceadc58) Interface,Message Routing(nervous_system): Principals proto typo fix: 7 -> 1 ([#375](https://github.com/dfinity/ic/pull/375)) [AUTO-EXCLUDED]~~ -* author: mras | [`11bc5648c`](https://github.com/dfinity/ic/commit/11bc5648c) Interface,Networking: publish ic-https-outcalls-adapter-https-only ([#578](https://github.com/dfinity/ic/pull/578)) +* ~~author: Andr Popo | [`91ceadc58`](https://github.com/dfinity/ic/commit/91ceadc58) Interface,Message Routing(nervous_system): Principals proto typo fix: 7 -> 1 ([#375](https://github.com/dfinity/ic/pull/375)) [AUTO-EXCLUDED:filtered out by package filters]~~ * author: Dani Shar | [`deafb0a12`](https://github.com/dfinity/ic/commit/deafb0a12) Interface,Networking(http-endpoint): Increase `SETTINGS_MAX_CONCURRENT_STREAMS` to 1000 ([#349](https://github.com/dfinity/ic/pull/349)) * author: Tim Gret | [`0775cd819`](https://github.com/dfinity/ic/commit/0775cd819) Interface,Networking: abort artifact download externally if peer set is empty -* author: Stef Neam | [`a91bae41e`](https://github.com/dfinity/ic/commit/a91bae41e) Interface,Networking: decompress bitcoin data inside tests * author: Dani Shar | [`b2268cbaa`](https://github.com/dfinity/ic/commit/b2268cbaa) Interface,Networking(ingress-watcher): Add metric to track capacity of the channel from execeution -* author: Rost Rume | [`3d1337795`](https://github.com/dfinity/ic/commit/3d1337795) Interface,Node: make the visibility rules consistent ([#567](https://github.com/dfinity/ic/pull/567)) -* author: Rost Rume | [`21c75cb41`](https://github.com/dfinity/ic/commit/21c75cb41) Interface,Node: introduce release-pkg and ic-os-pkg package groups ([#553](https://github.com/dfinity/ic/pull/553)) +* author: Venk Seka | [`5dc3afeb5`](https://github.com/dfinity/ic/commit/5dc3afeb5) Interface,Networking,Runtime(fuzzing): fix clippy warnings for fuzzers * author: r-bi | [`eb775492d`](https://github.com/dfinity/ic/commit/eb775492d) Interface,Node: firewall counter exporter ([#343](https://github.com/dfinity/ic/pull/343)) -* ~~author: Mark Kosm | [`2c0b76cfc`](https://github.com/dfinity/ic/commit/2c0b76cfc) IDX: updating container autobuild ([#390](https://github.com/dfinity/ic/pull/390)) [AUTO-EXCLUDED]~~ -* ~~author: Luka Skug | [`7c5e06583`](https://github.com/dfinity/ic/commit/7c5e06583) IDX: revert "remove binaries which don't need to be released (e.g. stripped) and don't need to to uploaded to the CDN" ([#616](https://github.com/dfinity/ic/pull/616)) [AUTO-EXCLUDED]~~ -* ~~author: Rost Rume | [`fd136861c`](https://github.com/dfinity/ic/commit/fd136861c) IDX: don't not upload/compress test canisters ([#561](https://github.com/dfinity/ic/pull/561)) [AUTO-EXCLUDED]~~ -* ~~author: Rost Rume | [`9c36d497b`](https://github.com/dfinity/ic/commit/9c36d497b) IDX: remove binaries which don't need to be released (e.g. stripped) and don't need to to uploaded to the CDN ([#563](https://github.com/dfinity/ic/pull/563)) [AUTO-EXCLUDED]~~ -* ~~author: Nico Matt | [`3ea305b03`](https://github.com/dfinity/ic/commit/3ea305b03) IDX: remove targets from rust_canister ([#440](https://github.com/dfinity/ic/pull/440)) [AUTO-EXCLUDED]~~ -* ~~author: Nico Matt | [`c5121e693`](https://github.com/dfinity/ic/commit/c5121e693) IDX: split .bazelrc ([#459](https://github.com/dfinity/ic/pull/459)) [AUTO-EXCLUDED]~~ +* author: Ulan Dege | [`45aefaf9f`](https://github.com/dfinity/ic/commit/45aefaf9f) Interface,Runtime: Derive ParitalEq for all sandbox IPC types ([#374](https://github.com/dfinity/ic/pull/374)) +* author: r-bi | [`af87b88ac`](https://github.com/dfinity/ic/commit/af87b88ac) Owners: bump response verification and associated crates ([#590](https://github.com/dfinity/ic/pull/590)) +* author: Jack Lloy | [`72f9e6d7f`](https://github.com/dfinity/ic/commit/72f9e6d7f) Owners(crypto): Always optimize the curve25519-dalek crate * author: sa-g | [`1999421a1`](https://github.com/dfinity/ic/commit/1999421a1) Node: Update Base Image Refs [2024-07-25-0808] ([#601](https://github.com/dfinity/ic/pull/601)) * author: sa-g | [`c488577bc`](https://github.com/dfinity/ic/commit/c488577bc) Node: Update Base Image Refs [2024-07-20-0145] ([#492](https://github.com/dfinity/ic/pull/492)) * author: sa-g | [`52b65a8af`](https://github.com/dfinity/ic/commit/52b65a8af) Node: Update Base Image Refs [2024-07-17-0147] ([#397](https://github.com/dfinity/ic/pull/397)) * author: Andr Batt | [`3aae377ca`](https://github.com/dfinity/ic/commit/3aae377ca) Node: Log HostOS config partition (config.ini and deployment.json) * author: DFIN GitL | [`233657b46`](https://github.com/dfinity/ic/commit/233657b46) Node: Update container base images refs [2024-07-12-0623] ## Refactoring: -* author: Rost Rume | [`e21c3e74e`](https://github.com/dfinity/ic/commit/e21c3e74e) Consensus,Interface,Networking: move the PriorityFn under interfaces and rename the PrioriyFnAndFilterProducer to PriorityFnFactory * author: Fran Prei | [`5b8fc4237`](https://github.com/dfinity/ic/commit/5b8fc4237) Crypto,Interface(crypto): remove CspPublicAndSecretKeyStoreChecker ([#559](https://github.com/dfinity/ic/pull/559)) * author: Fran Prei | [`63da4b23a`](https://github.com/dfinity/ic/commit/63da4b23a) Crypto,Interface(crypto): unify threshold sign method names ([#321](https://github.com/dfinity/ic/pull/321)) * author: Fran Prei | [`1413afe92`](https://github.com/dfinity/ic/commit/1413afe92) Crypto,Interface(crypto): replace ed25519-consensus with ic-crypto-ed25519 in prod ([#347](https://github.com/dfinity/ic/pull/347)) -* author: Venk Seka | [`34ff2857a`](https://github.com/dfinity/ic/commit/34ff2857a) Execution,Interface(fuzzing): create new test library `wasm_fuzzers` -* author: stie | [`61870cc77`](https://github.com/dfinity/ic/commit/61870cc77) Execution,Interface,Message Routing: Remove misleading `callback_id` from `register_callback()` test function ([#497](https://github.com/dfinity/ic/pull/497)) -* ~~author: Math Björ | [`2e8fa1ad7`](https://github.com/dfinity/ic/commit/2e8fa1ad7) Interface(icp_ledger): Move test helper functions to test utils ([#462](https://github.com/dfinity/ic/pull/462)) [AUTO-EXCLUDED]~~ -* ~~author: max- | [`d04d4bbd5`](https://github.com/dfinity/ic/commit/d04d4bbd5) Interface(nns): no longer generate api types from internal protos ([#588](https://github.com/dfinity/ic/pull/588)) [AUTO-EXCLUDED]~~ -* ~~author: max- | [`2926051d5`](https://github.com/dfinity/ic/commit/2926051d5) Interface(nns): Move governance::init to its own crate to further split type dependencies ([#490](https://github.com/dfinity/ic/pull/490)) [AUTO-EXCLUDED]~~ -* author: Andr Popo | [`a7f5db70e`](https://github.com/dfinity/ic/commit/a7f5db70e) Interface(nervous_system): Add `controller` and `hotkeys` fields to CfParticipant, CfNeuron, and CfInvestment ([#373](https://github.com/dfinity/ic/pull/373)) -* ~~author: max- | [`d0a0cc72a`](https://github.com/dfinity/ic/commit/d0a0cc72a) Interface(nns): Use governance_api instead of governance types in entrypoint in governance ([#457](https://github.com/dfinity/ic/pull/457)) [AUTO-EXCLUDED]~~ +* ~~author: stie | [`61870cc77`](https://github.com/dfinity/ic/commit/61870cc77) Execution,Interface,Message Routing: Remove misleading `callback_id` from `register_callback()` test function ([#497](https://github.com/dfinity/ic/pull/497)) [AUTO-EXCLUDED:filtered out by package filters]~~ +* ~~author: max- | [`2926051d5`](https://github.com/dfinity/ic/commit/2926051d5) Interface(nns): Move governance::init to its own crate to further split type dependencies ([#490](https://github.com/dfinity/ic/pull/490)) [AUTO-EXCLUDED:filtered out by package filters]~~ +* ~~author: Andr Popo | [`a7f5db70e`](https://github.com/dfinity/ic/commit/a7f5db70e) Interface(nervous_system): Add `controller` and `hotkeys` fields to CfParticipant, CfNeuron, and CfInvestment ([#373](https://github.com/dfinity/ic/pull/373)) [AUTO-EXCLUDED:filtered out by package filters]~~ +* ~~author: max- | [`d0a0cc72a`](https://github.com/dfinity/ic/commit/d0a0cc72a) Interface(nns): Use governance_api instead of governance types in entrypoint in governance ([#457](https://github.com/dfinity/ic/pull/457)) [AUTO-EXCLUDED:filtered out by package filters]~~ * author: Andr Popo | [`8a852bed9`](https://github.com/dfinity/ic/commit/8a852bed9) Interface(nervous_system): Move `Principals` message definition to nervous_system/proto ([#447](https://github.com/dfinity/ic/pull/447)) -* ~~author: Andr Popo | [`7d3245ce7`](https://github.com/dfinity/ic/commit/7d3245ce7) Interface(nervous_system): Add fields with better names to NeuronsFundNeuron [AUTO-EXCLUDED]~~ +* ~~author: Andr Popo | [`7d3245ce7`](https://github.com/dfinity/ic/commit/7d3245ce7) Interface(nervous_system): Add fields with better names to NeuronsFundNeuron [AUTO-EXCLUDED:filtered out by package filters]~~ * author: tim gret | [`f3628917c`](https://github.com/dfinity/ic/commit/f3628917c) Interface,Networking: introduce artifact downloader component ([#403](https://github.com/dfinity/ic/pull/403)) +* author: Rost Rume | [`e21c3e74e`](https://github.com/dfinity/ic/commit/e21c3e74e) Interface,Networking: move the PriorityFn under interfaces and rename the PrioriyFnAndFilterProducer to PriorityFnFactory ## Tests: -* author: Ulan Dege | [`e15d65e1c`](https://github.com/dfinity/ic/commit/e15d65e1c) Execution,Interface: Add execution smoke tests ([#526](https://github.com/dfinity/ic/pull/526)) -* author: Ulan Dege | [`ba82afe4d`](https://github.com/dfinity/ic/commit/ba82afe4d) Execution,Interface: Add unit tests for sandbox to replica IPC messages ([#435](https://github.com/dfinity/ic/pull/435)) -* author: Ulan Dege | [`9552f0828`](https://github.com/dfinity/ic/commit/9552f0828) Execution,Interface: Add unit tests for replica to sandbox IPC messages ([#411](https://github.com/dfinity/ic/pull/411)) -* author: Drag Djur | [`de3425fa6`](https://github.com/dfinity/ic/commit/de3425fa6) Execution,Interface: make system api test to be state machine test ([#377](https://github.com/dfinity/ic/pull/377)) -* author: Maks Arut | [`c12b4b26d`](https://github.com/dfinity/ic/commit/c12b4b26d) Execution,Interface: support signing disabled iDKG keys in state_machine_tests -* ~~author: Ulan Dege | [`bc8db7683`](https://github.com/dfinity/ic/commit/bc8db7683) Interface: Remove the scalability benchmarking suite ([#527](https://github.com/dfinity/ic/pull/527)) [AUTO-EXCLUDED]~~ -* ~~author: Math Björ | [`f2f408333`](https://github.com/dfinity/ic/commit/f2f408333) Interface(ICRC-Ledger): Add tests for upgrading ICRC ledger with WASMs with different token types ([#388](https://github.com/dfinity/ic/pull/388)) [AUTO-EXCLUDED]~~ -* ~~author: Math Björ | [`620613591`](https://github.com/dfinity/ic/commit/620613591) Interface(icrc_ledger): Upgrade test for ledgers using golden state ([#399](https://github.com/dfinity/ic/pull/399)) [AUTO-EXCLUDED]~~ -* author: dani | [`2d2f3b550`](https://github.com/dfinity/ic/commit/2d2f3b550) Interface(sns): SNS upgrade-related tests were flaking out. ([#391](https://github.com/dfinity/ic/pull/391)) -* author: Ognj Mari | [`38c7a5098`](https://github.com/dfinity/ic/commit/38c7a5098) Interface,Message Routing: check canister queue upgrade/downgrade compatibility against published version -* ~~author: Rost Rume | [`3e4a107f6`](https://github.com/dfinity/ic/commit/3e4a107f6) IDX: stop uploading test canister artifacts ([#533](https://github.com/dfinity/ic/pull/533)) [AUTO-EXCLUDED]~~ +* ~~author: Ulan Dege | [`e15d65e1c`](https://github.com/dfinity/ic/commit/e15d65e1c) Execution,Interface,Runtime: Add execution smoke tests ([#526](https://github.com/dfinity/ic/pull/526)) [AUTO-EXCLUDED:filtered out by package filters]~~ +* author: Maks Arut | [`c12b4b26d`](https://github.com/dfinity/ic/commit/c12b4b26d) Execution,Interface,Runtime: support signing disabled iDKG keys in state_machine_tests +* author: Ulan Dege | [`ba82afe4d`](https://github.com/dfinity/ic/commit/ba82afe4d) Interface,Runtime: Add unit tests for sandbox to replica IPC messages ([#435](https://github.com/dfinity/ic/pull/435)) +* author: Ulan Dege | [`9552f0828`](https://github.com/dfinity/ic/commit/9552f0828) Interface,Runtime: Add unit tests for replica to sandbox IPC messages ([#411](https://github.com/dfinity/ic/pull/411)) ## Documentation: -* ~~author: Rost Rume | [`7c4a08fc2`](https://github.com/dfinity/ic/commit/7c4a08fc2) General: why GuestOS deps are required ([#410](https://github.com/dfinity/ic/pull/410)) [AUTO-EXCLUDED]~~ -* ~~author: Andr Popo | [`16dc659a0`](https://github.com/dfinity/ic/commit/16dc659a0) Interface(sns): Typo fix ManageVotingPermissions → ManageVotingPermission [AUTO-EXCLUDED]~~ -## Other changes: -* ~~author: Math Björ | [`364fe4f38`](https://github.com/dfinity/ic/commit/364fe4f38) Interface: test(icp_ledger):, Get and query all blocks from ledger and archives and fix test_archive_indexing ([#398](https://github.com/dfinity/ic/pull/398)) [AUTO-EXCLUDED]~~ -* author: Dani Wong | [`15beeb6a9`](https://github.com/dfinity/ic/commit/15beeb6a9) Interface(nns): Add and use workspace version of prometheus-parse. +* ~~author: Andr Popo | [`16dc659a0`](https://github.com/dfinity/ic/commit/16dc659a0) Interface(sns): Typo fix ManageVotingPermissions → ManageVotingPermission [AUTO-EXCLUDED:filtered out by package filters]~~ +## ~~Other changes not modifying GuestOS~~ +* ~~author: greg | [`5519637d2`](https://github.com/dfinity/ic/commit/5519637d2) Interface(ckerc20): NNS proposal to add ckUSDT ([#433](https://github.com/dfinity/ic/pull/433)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: greg | [`0838df154`](https://github.com/dfinity/ic/commit/0838df154) Interface(ckerc20): Use EVM-RPC canister to call `eth_feeHistory` ([#508](https://github.com/dfinity/ic/pull/508)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Niko | [`67e53cc29`](https://github.com/dfinity/ic/commit/67e53cc29) Interface(ICP-Rosetta): add rosetta blocks to block/transaction endpoint ([#524](https://github.com/dfinity/ic/pull/524)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: dani | [`163f1b0a8`](https://github.com/dfinity/ic/commit/163f1b0a8) Interface(nns): Known neurons are always public. ([#488](https://github.com/dfinity/ic/pull/488)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: mras | [`476955407`](https://github.com/dfinity/ic/commit/476955407) Interface(PocketIC): canister HTTP outcalls ([#421](https://github.com/dfinity/ic/pull/421)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: greg | [`1add852d7`](https://github.com/dfinity/ic/commit/1add852d7) Interface(ckerc20): Use EVM-RPC canister to call `eth_getLogs` ([#400](https://github.com/dfinity/ic/pull/400)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Luka Skug | [`ff4fba1a5`](https://github.com/dfinity/ic/commit/ff4fba1a5) Interface(k8s-testnets): playnet certificates ([#437](https://github.com/dfinity/ic/pull/437)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: mras | [`5237d0cbc`](https://github.com/dfinity/ic/commit/5237d0cbc) Interface(PocketIC): store registry file in state_dir ([#356](https://github.com/dfinity/ic/pull/356)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: jaso | [`de29a1a55`](https://github.com/dfinity/ic/commit/de29a1a55) Interface(nns): Support upgrading root canister through install_code ([#396](https://github.com/dfinity/ic/pull/396)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: greg | [`ce468ecac`](https://github.com/dfinity/ic/commit/ce468ecac) Interface(ckerc20): Simplify adding new ckERC20 token (II) ([#365](https://github.com/dfinity/ic/pull/365)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: greg | [`f38380772`](https://github.com/dfinity/ic/commit/f38380772) Interface(ckerc20): add ckWBTC () ([#364](https://github.com/dfinity/ic/pull/364)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mari Past | [`5ac0b1653`](https://github.com/dfinity/ic/commit/5ac0b1653) Interface: transaction uniqueness in Rosetta Blocks [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Niko Haim | [`5bba7bd69`](https://github.com/dfinity/ic/commit/5bba7bd69) Interface(ICP-Rosetta): Add query block range [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Niko Milo | [`27902feb6`](https://github.com/dfinity/ic/commit/27902feb6) Interface(testnets): topology for testnet from config file [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Grég Dema | [`ff90a5234`](https://github.com/dfinity/ic/commit/ff90a5234) Interface(ckerc20): Simplify adding new ckERC20 token [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Dani Wong | [`999054302`](https://github.com/dfinity/ic/commit/999054302) Interface(nns): Exclude the neurons controlled by the Genesis Token canister from metrics about neurons that have a controller that is not self-authenticating. [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mari Past | [`a9d1d1052`](https://github.com/dfinity/ic/commit/a9d1d1052) Interface: support Rosetta Blocks in /blocks in icp rosetta [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mart Rasz | [`1b550f2d0`](https://github.com/dfinity/ic/commit/1b550f2d0) Interface,Networking(PocketIC): non-mainnet features [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`9619db245`](https://github.com/dfinity/ic/commit/9619db245) Owners(IDX): team labels ([#558](https://github.com/dfinity/ic/pull/558)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`b4d49439c`](https://github.com/dfinity/ic/commit/b4d49439c) Owners(IDX): add commit to release channel message ([#613](https://github.com/dfinity/ic/pull/613)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Nico Matt | [`14ece195b`](https://github.com/dfinity/ic/commit/14ece195b) Owners(IDX): limit namespace runs to 1 ([#536](https://github.com/dfinity/ic/pull/536)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Nico Matt | [`aa89e8079`](https://github.com/dfinity/ic/commit/aa89e8079) Owners(IDX): Add Apple Silicon builds ([#512](https://github.com/dfinity/ic/pull/512)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`ebeb49ea8`](https://github.com/dfinity/ic/commit/ebeb49ea8) Owners(IDX): wait queue notifications ([#409](https://github.com/dfinity/ic/pull/409)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Jaso (Yel | [`f9c308a73`](https://github.com/dfinity/ic/commit/f9c308a73) Node(release): List commits changing rs/sns/init for NNS Governance and SNS-Wasm [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Luc Blae | [`1955f41a9`](https://github.com/dfinity/ic/commit/1955f41a9) Execution,Interface(drun): Make drun deterministic again ([#552](https://github.com/dfinity/ic/pull/552)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: tim gret | [`4c2c49554`](https://github.com/dfinity/ic/commit/4c2c49554) Interface: add missing large testnet runtime dependency ([#468](https://github.com/dfinity/ic/pull/468)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: mras | [`bb2387f17`](https://github.com/dfinity/ic/commit/bb2387f17) Interface(PocketIC): make CallRequest of type V3 deterministic ([#493](https://github.com/dfinity/ic/pull/493)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Niko | [`322c53786`](https://github.com/dfinity/ic/commit/322c53786) Interface(ICP-Rosetta): rosetta block performance issue ([#405](https://github.com/dfinity/ic/pull/405)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`3a31b54c3`](https://github.com/dfinity/ic/commit/3a31b54c3) Interface(IDX): double CPU reservation for //rs/nervous_system/integration_tests:integration_tests_test_tests/sns_ledger_upgrade ([#428](https://github.com/dfinity/ic/pull/428)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: r-bi | [`99e8b75bb`](https://github.com/dfinity/ic/commit/99e8b75bb) Interface(custom domains): ignore leading and trailing whitespaces when checking domain names ([#361](https://github.com/dfinity/ic/pull/361)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Niko | [`18243444a`](https://github.com/dfinity/ic/commit/18243444a) Interface(ICRC-Index): remove comment on removing 0 balance accounts ([#341](https://github.com/dfinity/ic/pull/341)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mart Rasz | [`c7bf31924`](https://github.com/dfinity/ic/commit/c7bf31924) Interface(PocketIC): make sure progress threads stop when deleting PocketIC instance [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Grég Dema | [`f420b4d6e`](https://github.com/dfinity/ic/commit/f420b4d6e) Interface(ckerc20): Stuck ckERC20 withdrawal when fee increases [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`ce2486a3e`](https://github.com/dfinity/ic/commit/ce2486a3e) Interface,Message Routing(IDX): add missing WASM_PATH env vars to the release-testing systests ([#570](https://github.com/dfinity/ic/pull/570)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mart Rasz | [`befc5a404`](https://github.com/dfinity/ic/commit/befc5a404) Interface,Message Routing(PocketIC): resource leak in PocketIC server and bug in PocketIC library [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`dedeaf720`](https://github.com/dfinity/ic/commit/dedeaf720) Owners(IDX): don't invoke gitlab-ci/src/bazel-ci/diff.sh twice ([#623](https://github.com/dfinity/ic/pull/623)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`1866aa854`](https://github.com/dfinity/ic/commit/1866aa854) Owners(IDX): slack alerts syntax error ([#622](https://github.com/dfinity/ic/pull/622)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: venk | [`e44bf9aa2`](https://github.com/dfinity/ic/commit/e44bf9aa2) Owners(dependency-mgmt): Adapt `ic` root directory checks ([#615](https://github.com/dfinity/ic/pull/615)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`cb69def40`](https://github.com/dfinity/ic/commit/cb69def40) Owners(IDX): add token to workflow ([#614](https://github.com/dfinity/ic/pull/614)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`1bbab0e34`](https://github.com/dfinity/ic/commit/1bbab0e34) Owners(IDX): add correct permissions for dependencies-check ([#605](https://github.com/dfinity/ic/pull/605)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Fran Prei | [`3720193fc`](https://github.com/dfinity/ic/commit/3720193fc) Owners(crypto): make crypto-team own ic-signature-verification package ([#571](https://github.com/dfinity/ic/pull/571)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`70e5f7e61`](https://github.com/dfinity/ic/commit/70e5f7e61) Owners(IDX): syntax error ([#568](https://github.com/dfinity/ic/pull/568)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`a3bb3cb69`](https://github.com/dfinity/ic/commit/a3bb3cb69) Owners(IDX): exclude certain tests from the merge train ([#534](https://github.com/dfinity/ic/pull/534)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Nico Matt | [`1f5acb4ad`](https://github.com/dfinity/ic/commit/1f5acb4ad) Owners(IDX): inline namespace profile ([#555](https://github.com/dfinity/ic/pull/555)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`ae163b85d`](https://github.com/dfinity/ic/commit/ae163b85d) Owners(IDX): update release testing channel ([#532](https://github.com/dfinity/ic/pull/532)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`24278eb74`](https://github.com/dfinity/ic/commit/24278eb74) Owners(IDX): fix the did_git_test on GitHub ([#480](https://github.com/dfinity/ic/pull/480)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`1925b7064`](https://github.com/dfinity/ic/commit/1925b7064) Owners(IDX): remove undefined CI_COMMIT_REF_NAME in lock-generate.sh ([#495](https://github.com/dfinity/ic/pull/495)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`1b9c124f7`](https://github.com/dfinity/ic/commit/1b9c124f7) Owners(IDX): make lock-generate.sh work on GitHub ([#487](https://github.com/dfinity/ic/pull/487)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Nico Matt | [`d7097b0ef`](https://github.com/dfinity/ic/commit/d7097b0ef) Owners(IDX): move build filters ([#482](https://github.com/dfinity/ic/pull/482)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`718942d68`](https://github.com/dfinity/ic/commit/718942d68) Owners(IDX): set channel correctly ([#473](https://github.com/dfinity/ic/pull/473)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`d4e510aa9`](https://github.com/dfinity/ic/commit/d4e510aa9) Owners(IDX): codeowners and notifications ([#463](https://github.com/dfinity/ic/pull/463)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`0fb2285ed`](https://github.com/dfinity/ic/commit/0fb2285ed) Owners(IDX): handle name ([#460](https://github.com/dfinity/ic/pull/460)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`81d5f1809`](https://github.com/dfinity/ic/commit/81d5f1809) Owners(IDX): fixing URL syntax ([#430](https://github.com/dfinity/ic/pull/430)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`fe231b385`](https://github.com/dfinity/ic/commit/fe231b385) Owners(IDX): reflect the changed dept-crypto-library team name to crypto-team ([#420](https://github.com/dfinity/ic/pull/420)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: venk | [`2e269b77f`](https://github.com/dfinity/ic/commit/2e269b77f) Owners(dependency-mgmt): Export `GITHUB_TOKEN` for `dependency-scan-release-cut` ([#406](https://github.com/dfinity/ic/pull/406)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`4ba2d48f6`](https://github.com/dfinity/ic/commit/4ba2d48f6) Owners(IDX): use correct team names in .github/workflows/team-channels.json ([#401](https://github.com/dfinity/ic/pull/401)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: venk | [`c2307201b`](https://github.com/dfinity/ic/commit/c2307201b) Owners(dependency-mgmt): Set `fetch-depth` to 256 for `dependencies-check` ([#372](https://github.com/dfinity/ic/pull/372)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`27ef4655c`](https://github.com/dfinity/ic/commit/27ef4655c) Owners(IDX): update pre-commit logic for ic-private ([#370](https://github.com/dfinity/ic/pull/370)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`668b0bf47`](https://github.com/dfinity/ic/commit/668b0bf47) Owners(IDX): add token to lock-generate ([#350](https://github.com/dfinity/ic/pull/350)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`99e513d77`](https://github.com/dfinity/ic/commit/99e513d77) Owners(IDX): update finint team name ([#345](https://github.com/dfinity/ic/pull/345)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`416d937fc`](https://github.com/dfinity/ic/commit/416d937fc) Owners(IDX): use the correct capitalized InfraSec team name in slack-workflow-run ([#334](https://github.com/dfinity/ic/pull/334)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`bd6284524`](https://github.com/dfinity/ic/commit/bd6284524) Owners(IDX): /cache for benchmarks ([#333](https://github.com/dfinity/ic/pull/333)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`548a180f9`](https://github.com/dfinity/ic/commit/548a180f9) Owners(IDX): remove trigger push on master and keep schedule [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: r-bi | [`47538ff03`](https://github.com/dfinity/ic/commit/47538ff03) Node(testnet): succeed if certs can be fetched from at least one machine ([#448](https://github.com/dfinity/ic/pull/448)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: nabd | [`fb898b290`](https://github.com/dfinity/ic/commit/fb898b290) Node: fix testonly in icos_deploy bazel rules ([#369](https://github.com/dfinity/ic/pull/369)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Leo Eich | [`ab43272aa`](https://github.com/dfinity/ic/commit/ab43272aa) Consensus,Interface: Extract a tECDSA system test library and inline some tests ([#608](https://github.com/dfinity/ic/pull/608)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Olek Tkac | [`f0f7659a8`](https://github.com/dfinity/ic/commit/f0f7659a8) Consensus,Interface(consensus): fix uploading of tECDSA benchmark system test results ([#575](https://github.com/dfinity/ic/pull/575)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: kpop | [`311f6a76e`](https://github.com/dfinity/ic/commit/311f6a76e) Consensus,Interface(consensus): inline `node_registration_test` and `ssh_access_to_nodes_test` system tests ([#481](https://github.com/dfinity/ic/pull/481)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: kpop | [`c54b0eb81`](https://github.com/dfinity/ic/commit/c54b0eb81) Consensus,Interface(consensus): move `set_sandbox_env_vars` function to `consensus_system_test_utils` ([#472](https://github.com/dfinity/ic/pull/472)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: kpop | [`53e47573a`](https://github.com/dfinity/ic/commit/53e47573a) Consensus,Interface(consensus): move `ssh_access` to `consensus_system_test_utils` crate ([#471](https://github.com/dfinity/ic/pull/471)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: kpop | [`4f9c5dce3`](https://github.com/dfinity/ic/commit/4f9c5dce3) Consensus,Interface(consensus): Inline `adding_nodes_to_subnet_test` and `node_reassignment_test` system tests ([#466](https://github.com/dfinity/ic/pull/466)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: kpop | [`ea2f05d23`](https://github.com/dfinity/ic/commit/ea2f05d23) Consensus,Interface(consensus): move `rw_message.rs` out of `/rs/tests/src` into `/rs/tests/consensus/utils` ([#378](https://github.com/dfinity/ic/pull/378)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: kpop | [`10cca1d6f`](https://github.com/dfinity/ic/commit/10cca1d6f) Consensus,Interface(consensus): Deduplicate code in {consensus,tecdsa}_performance_test ([#346](https://github.com/dfinity/ic/pull/346)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Kami Popi | [`3f5b078b7`](https://github.com/dfinity/ic/commit/3f5b078b7) Consensus,Interface(consensus): inline `consensus_performance` system test [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Leo Eich | [`b3b624fce`](https://github.com/dfinity/ic/commit/b3b624fce) Consensus,Node: Manually update `testnet/mainnet_revisions.json` ([#573](https://github.com/dfinity/ic/pull/573)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: CI Auto | [`e6b1f8b40`](https://github.com/dfinity/ic/commit/e6b1f8b40) Consensus,Node: Update Mainnet IC revisions file [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: CI Auto | [`09bc55871`](https://github.com/dfinity/ic/commit/09bc55871) Consensus,Node: Update Mainnet IC revisions file [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Andr Bere | [`234e5c396`](https://github.com/dfinity/ic/commit/234e5c396) Execution,Interface,Runtime: Update Wasm benchmarks [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`2735cf2e4`](https://github.com/dfinity/ic/commit/2735cf2e4) Interface(IDX): skip system-tests on darwin ([#610](https://github.com/dfinity/ic/pull/610)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: greg | [`587ffff53`](https://github.com/dfinity/ic/commit/587ffff53) Interface(ckerc20): NNS proposal to upgrade ledger suite orchestrator ([#427](https://github.com/dfinity/ic/pull/427)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`fd136861c`](https://github.com/dfinity/ic/commit/fd136861c) Interface: don't not upload/compress test canisters ([#561](https://github.com/dfinity/ic/pull/561)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Dani Shar | [`087df9b7f`](https://github.com/dfinity/ic/commit/087df9b7f) Interface: change file extension for system test logs ([#546](https://github.com/dfinity/ic/pull/546)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Niko | [`cec100d16`](https://github.com/dfinity/ic/commit/cec100d16) Interface(ICRC-Rosetta): add secp key test ([#467](https://github.com/dfinity/ic/pull/467)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: mras | [`16c2d6877`](https://github.com/dfinity/ic/commit/16c2d6877) Interface(PocketIC): release server v5.0.0 and library v4.0.0 ([#485](https://github.com/dfinity/ic/pull/485)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Dani Shar | [`200fdf578`](https://github.com/dfinity/ic/commit/200fdf578) Interface(test-dashboard): Update message routing dashboards to mirror productions ([#539](https://github.com/dfinity/ic/pull/539)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Nico Matt | [`14f088b87`](https://github.com/dfinity/ic/commit/14f088b87) Interface(IDX): set wasm paths via env ([#483](https://github.com/dfinity/ic/pull/483)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Niko | [`6764190a8`](https://github.com/dfinity/ic/commit/6764190a8) Interface(ICP-Rosetta): enable feature flag rosetta blocks ([#465](https://github.com/dfinity/ic/pull/465)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`a5f5c187c`](https://github.com/dfinity/ic/commit/a5f5c187c) Interface: inline the basic_health_test ([#449](https://github.com/dfinity/ic/pull/449)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: max- | [`d732d9d6d`](https://github.com/dfinity/ic/commit/d732d9d6d) Interface(nns): Add api <--> internal type conversions ([#393](https://github.com/dfinity/ic/pull/393)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: mras | [`4b2983084`](https://github.com/dfinity/ic/commit/4b2983084) Interface(PocketIC): refactor progress threads in PocketIC ([#353](https://github.com/dfinity/ic/pull/353)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: mras | [`3ba594f48`](https://github.com/dfinity/ic/commit/3ba594f48) Interface: collection of preparatory steps for canister HTTP outcalls in PocketIC and unrelated fixes ([#352](https://github.com/dfinity/ic/pull/352)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Nico Matt | [`073c2bc1f`](https://github.com/dfinity/ic/commit/073c2bc1f) Interface(IDX): make nns_dapp tests bazel-agnostic ([#389](https://github.com/dfinity/ic/pull/389)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: greg | [`a5831a57c`](https://github.com/dfinity/ic/commit/a5831a57c) Interface(ckerc20): fix dfx.json ([#351](https://github.com/dfinity/ic/pull/351)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Kami Popi | [`96aef6a97`](https://github.com/dfinity/ic/commit/96aef6a97) Interface(consensus): inline `tecdsa_performance_test` [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Ognj Mari | [`3017e2e4a`](https://github.com/dfinity/ic/commit/3017e2e4a) Interface: move some Bazel rules out of the system test defs [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: mras | [`11bc5648c`](https://github.com/dfinity/ic/commit/11bc5648c) Interface,Networking: publish ic-https-outcalls-adapter-https-only ([#578](https://github.com/dfinity/ic/pull/578)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Stef Neam | [`a91bae41e`](https://github.com/dfinity/ic/commit/a91bae41e) Interface,Networking: decompress bitcoin data inside tests [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`3d1337795`](https://github.com/dfinity/ic/commit/3d1337795) Interface,Node: make the visibility rules consistent ([#567](https://github.com/dfinity/ic/pull/567)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`21c75cb41`](https://github.com/dfinity/ic/commit/21c75cb41) Interface,Node: introduce release-pkg and ic-os-pkg package groups ([#553](https://github.com/dfinity/ic/pull/553)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Andr Popo | [`ac0bdf46b`](https://github.com/dfinity/ic/commit/ac0bdf46b) Message Routing(idx): Restore buf.yaml ([#450](https://github.com/dfinity/ic/pull/450)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Andr Popo | [`9724376a0`](https://github.com/dfinity/ic/commit/9724376a0) Message Routing(idx): Restore buf.yaml ([#376](https://github.com/dfinity/ic/pull/376)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Leo Eich | [`ef680f5f2`](https://github.com/dfinity/ic/commit/ef680f5f2) Message Routing: Stop ignoring `consensus.proto` in `buf.yaml` [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`2c0b76cfc`](https://github.com/dfinity/ic/commit/2c0b76cfc) Owners(IDX): updating container autobuild ([#390](https://github.com/dfinity/ic/pull/390)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Niko Milo | [`864666555`](https://github.com/dfinity/ic/commit/864666555) Owners: adding back xnet test canister ([#624](https://github.com/dfinity/ic/pull/624)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`8c3f19ca5`](https://github.com/dfinity/ic/commit/8c3f19ca5) Owners(IDX): remove gitlab tests completely ([#519](https://github.com/dfinity/ic/pull/519)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Luka Skug | [`7c5e06583`](https://github.com/dfinity/ic/commit/7c5e06583) Owners: revert "remove binaries which don't need to be released (e.g. stripped) and don't need to to uploaded to the CDN" ([#616](https://github.com/dfinity/ic/pull/616)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`a98f5949b`](https://github.com/dfinity/ic/commit/a98f5949b) Owners(IDX): k8s system tests schedule ([#599](https://github.com/dfinity/ic/pull/599)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`9c36d497b`](https://github.com/dfinity/ic/commit/9c36d497b) Owners: remove binaries which don't need to be released (e.g. stripped) and don't need to to uploaded to the CDN ([#563](https://github.com/dfinity/ic/pull/563)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Fran Prei | [`e660c9b08`](https://github.com/dfinity/ic/commit/e660c9b08) Owners(crypto): adapt ic-signature-verification changelog ([#566](https://github.com/dfinity/ic/pull/566)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Dimi Sarl | [`24c8384d0`](https://github.com/dfinity/ic/commit/24c8384d0) Owners: Move drun ownership to the languages team ([#565](https://github.com/dfinity/ic/pull/565)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`48cce3b3c`](https://github.com/dfinity/ic/commit/48cce3b3c) Owners(IDX): k8s system tests workflow ([#498](https://github.com/dfinity/ic/pull/498)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`a9ded4162`](https://github.com/dfinity/ic/commit/a9ded4162) Owners(IDX): update dependencies of //hs/spec_compliance:ic-ref-test ([#547](https://github.com/dfinity/ic/pull/547)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Stef Schn | [`540554986`](https://github.com/dfinity/ic/commit/540554986) Owners: Code owners for state manager config ([#522](https://github.com/dfinity/ic/pull/522)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`dcd24d6be`](https://github.com/dfinity/ic/commit/dcd24d6be) Owners: /rs/state_machine_tests/ owned by pocket-ic ([#521](https://github.com/dfinity/ic/pull/521)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Nico Matt | [`3ea305b03`](https://github.com/dfinity/ic/commit/3ea305b03) Owners(IDX): remove targets from rust_canister ([#440](https://github.com/dfinity/ic/pull/440)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`ad207fddb`](https://github.com/dfinity/ic/commit/ad207fddb) Owners(IDX): release testing update ([#464](https://github.com/dfinity/ic/pull/464)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`3a2aa6de8`](https://github.com/dfinity/ic/commit/3a2aa6de8) Owners(IDX): drop the --github suffix for rc branches ([#476](https://github.com/dfinity/ic/pull/476)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`36725229c`](https://github.com/dfinity/ic/commit/36725229c) Owners(IDX): update the node PR notification channel ([#474](https://github.com/dfinity/ic/pull/474)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Nico Matt | [`c5121e693`](https://github.com/dfinity/ic/commit/c5121e693) Owners(IDX): split .bazelrc ([#459](https://github.com/dfinity/ic/pull/459)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`bc3a6c321`](https://github.com/dfinity/ic/commit/bc3a6c321) Owners(IDX): changing schedule ([#456](https://github.com/dfinity/ic/pull/456)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`163b01f76`](https://github.com/dfinity/ic/commit/163b01f76) Owners(IDX): rm unneeded workflows ([#445](https://github.com/dfinity/ic/pull/445)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`d13d77482`](https://github.com/dfinity/ic/commit/d13d77482) Owners(IDX): update codeowners ([#443](https://github.com/dfinity/ic/pull/443)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: mras | [`68aa7fc30`](https://github.com/dfinity/ic/commit/68aa7fc30) Owners: optimize starting PocketIC server in PocketIC library ([#439](https://github.com/dfinity/ic/pull/439)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`5c1ddd3bf`](https://github.com/dfinity/ic/commit/5c1ddd3bf) Owners(IDX): update release-alerts channel ([#434](https://github.com/dfinity/ic/pull/434)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`e38437aa3`](https://github.com/dfinity/ic/commit/e38437aa3) Owners(IDX): add sycing from public to private repo ([#429](https://github.com/dfinity/ic/pull/429)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`374c13181`](https://github.com/dfinity/ic/commit/374c13181) Owners(IDX): exclude workflows with long wait times ([#425](https://github.com/dfinity/ic/pull/425)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`c877909e6`](https://github.com/dfinity/ic/commit/c877909e6) Owners(IDX): updating base images workflow ([#366](https://github.com/dfinity/ic/pull/366)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`76ef61bc3`](https://github.com/dfinity/ic/commit/76ef61bc3) Owners(IDX): introduce the pocket-ic team and let it own the pocket-ic code ([#386](https://github.com/dfinity/ic/pull/386)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`becd51568`](https://github.com/dfinity/ic/commit/becd51568) Owners(IDX): add eng-cross-chain team ([#355](https://github.com/dfinity/ic/pull/355)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: venk | [`72b90db5b`](https://github.com/dfinity/ic/commit/72b90db5b) Owners(dependency-mgmt): Migrate dependency management jobs to Github ([#332](https://github.com/dfinity/ic/pull/332)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`dd5c67525`](https://github.com/dfinity/ic/commit/dd5c67525) Owners(IDX): remove change base branch [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`66340d3f6`](https://github.com/dfinity/ic/commit/66340d3f6) Owners(IDX): dont run macos on merge queue [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Bas van | [`3b0cfd257`](https://github.com/dfinity/ic/commit/3b0cfd257) Owners(IDX): let infrasec co-own .github/workflows so they're notified about CI changes [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`775295f34`](https://github.com/dfinity/ic/commit/775295f34) Owners(IDX): disable schedule on CI Main [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`0e8cc5d47`](https://github.com/dfinity/ic/commit/0e8cc5d47) Owners(IDX): updating filtered tags [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mart Rasz | [`4d4fccc41`](https://github.com/dfinity/ic/commit/4d4fccc41) Owners: update serde_json in Cargo.toml according to bazel/external_crates.bzl [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`d2f891dd0`](https://github.com/dfinity/ic/commit/d2f891dd0) Owners(IDX): trigger on push to dev-gh-* [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`622fd758d`](https://github.com/dfinity/ic/commit/622fd758d) Owners(IDX): switch to ghcr.io [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Mark Kosm | [`8273f44aa`](https://github.com/dfinity/ic/commit/8273f44aa) Owners(IDX): container options [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: push | [`7e2403507`](https://github.com/dfinity/ic/commit/7e2403507) Owners(github-sync): PR#327 / chore(IDX): only run certain python tests on security-hotfix [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`5428a9b29`](https://github.com/dfinity/ic/commit/5428a9b29) Owners(IDX): Update GitHub team [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Toma Hlav | [`03351c23f`](https://github.com/dfinity/ic/commit/03351c23f) Node: Align CH1 IPv6 prefix ([#489](https://github.com/dfinity/ic/pull/489)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Eero Kell | [`c69c755d5`](https://github.com/dfinity/ic/commit/c69c755d5) Node: Update ansible for upcoming lints [S3_UPLOAD] ([#422](https://github.com/dfinity/ic/pull/422)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Eero Kell | [`008a73566`](https://github.com/dfinity/ic/commit/008a73566) Node,Runtime: Miscellaneous updates in prep for upgrade ([#423](https://github.com/dfinity/ic/pull/423)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Maks Arut | [`76882bc40`](https://github.com/dfinity/ic/commit/76882bc40) Runtime: cleanup Bazel files ([#499](https://github.com/dfinity/ic/pull/499)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Math Björ | [`2e8fa1ad7`](https://github.com/dfinity/ic/commit/2e8fa1ad7) Interface(icp_ledger): Move test helper functions to test utils ([#462](https://github.com/dfinity/ic/pull/462)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: max- | [`d04d4bbd5`](https://github.com/dfinity/ic/commit/d04d4bbd5) Interface(nns): no longer generate api types from internal protos ([#588](https://github.com/dfinity/ic/pull/588)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`5e34a0f8f`](https://github.com/dfinity/ic/commit/5e34a0f8f) Interface: introduce a system-tests-pkg group and add all system tests under that package group ([#528](https://github.com/dfinity/ic/pull/528)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`214998263`](https://github.com/dfinity/ic/commit/214998263) Interface: add testonly tag for some test libraries [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`fbffe8109`](https://github.com/dfinity/ic/commit/fbffe8109) Interface: remove unused rs/local-bin and update codeowners file [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Venk Seka | [`34ff2857a`](https://github.com/dfinity/ic/commit/34ff2857a) Interface,Runtime(fuzzing): create new test library `wasm_fuzzers` [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`417e0b5c1`](https://github.com/dfinity/ic/commit/417e0b5c1) Owners(IDX): remove gitlab reference from tests ([#520](https://github.com/dfinity/ic/pull/520)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`4c2c76525`](https://github.com/dfinity/ic/commit/4c2c76525) Owners(IDX): simplify hotfix branch matching logic ([#514](https://github.com/dfinity/ic/pull/514)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`77ee36864`](https://github.com/dfinity/ic/commit/77ee36864) Networking: update deny.toml [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Fran Prei | [`65f6d7dd0`](https://github.com/dfinity/ic/commit/65f6d7dd0) Consensus,Interface(orchestrator): increase subnet size for sr_app_large_with_tecdsa_test to 37 ([#586](https://github.com/dfinity/ic/pull/586)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Kami Popi | [`373c9f93f`](https://github.com/dfinity/ic/commit/373c9f93f) Consensus,Interface(consensus): Add artificial network restrictions to `consensus_performance_test` & print some throughput information at the end of the test [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Drag Djur | [`de3425fa6`](https://github.com/dfinity/ic/commit/de3425fa6) Execution,Interface,Runtime: make system api test to be state machine test ([#377](https://github.com/dfinity/ic/pull/377)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`3e4a107f6`](https://github.com/dfinity/ic/commit/3e4a107f6) Interface: stop uploading test canister artifacts ([#533](https://github.com/dfinity/ic/pull/533)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Ulan Dege | [`bc8db7683`](https://github.com/dfinity/ic/commit/bc8db7683) Interface: Remove the scalability benchmarking suite ([#527](https://github.com/dfinity/ic/pull/527)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Math Björ | [`f2f408333`](https://github.com/dfinity/ic/commit/f2f408333) Interface(ICRC-Ledger): Add tests for upgrading ICRC ledger with WASMs with different token types ([#388](https://github.com/dfinity/ic/pull/388)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Math Björ | [`620613591`](https://github.com/dfinity/ic/commit/620613591) Interface(icrc_ledger): Upgrade test for ledgers using golden state ([#399](https://github.com/dfinity/ic/pull/399)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: dani | [`2d2f3b550`](https://github.com/dfinity/ic/commit/2d2f3b550) Interface(sns): SNS upgrade-related tests were flaking out. ([#391](https://github.com/dfinity/ic/pull/391)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Leo Eich | [`a67c3df73`](https://github.com/dfinity/ic/commit/a67c3df73) Interface: Generalize tECDSA performance test for tSchnorr and update dashboard [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Dani Shar | [`530cc0b56`](https://github.com/dfinity/ic/commit/530cc0b56) Interface(execution-benchmark): Created a system test for benchmarking full execution rounds [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Ognj Mari | [`38c7a5098`](https://github.com/dfinity/ic/commit/38c7a5098) Interface,Message Routing: check canister queue upgrade/downgrade compatibility against published version [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`3d42215df`](https://github.com/dfinity/ic/commit/3d42215df) Owners: don't upload malicious_replica ([#538](https://github.com/dfinity/ic/pull/538)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`022619a77`](https://github.com/dfinity/ic/commit/022619a77) Owners: don't upload test canister artifacts ([#531](https://github.com/dfinity/ic/pull/531)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: dani | [`d35c2fc45`](https://github.com/dfinity/ic/commit/d35c2fc45) Interface(nns): Adds a README to nns/governance. ([#325](https://github.com/dfinity/ic/pull/325)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Dani Wong | [`7e1b19dba`](https://github.com/dfinity/ic/commit/7e1b19dba) Interface(nns): Changed help string of some neurons metrics to say that GTC is excluded. [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`6bb7d0143`](https://github.com/dfinity/ic/commit/6bb7d0143) Owners: rust external dep policy ([#358](https://github.com/dfinity/ic/pull/358)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`cd8f32f03`](https://github.com/dfinity/ic/commit/cd8f32f03) Networking: fix deny.toml [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Rost Rume | [`7c4a08fc2`](https://github.com/dfinity/ic/commit/7c4a08fc2) Node: why GuestOS deps are required ([#410](https://github.com/dfinity/ic/pull/410)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Math Björ | [`364fe4f38`](https://github.com/dfinity/ic/commit/364fe4f38) Interface: test(icp_ledger):, Get and query all blocks from ledger and archives and fix test_archive_indexing ([#398](https://github.com/dfinity/ic/pull/398)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Dani Wong | [`15beeb6a9`](https://github.com/dfinity/ic/commit/15beeb6a9) Interface(nns): Add and use workspace version of prometheus-parse. [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: Carl Gund | [`439491c53`](https://github.com/dfinity/ic/commit/439491c53) Owners: "fix(IDX): exclude certain tests from the merge train" ([#580](https://github.com/dfinity/ic/pull/580)) [AUTO-EXCLUDED:not a GuestOS change]~~ +* ~~author: push | [`10e396728`](https://github.com/dfinity/ic/commit/10e396728) Owners: chore(github-sync): PR#326 / chore(IDX): update repo reference in build-ic [AUTO-EXCLUDED:not a GuestOS change]~~ """ ) From f4a6b470483b0186e30957735645190e662bbd45 Mon Sep 17 00:00:00 2001 From: CI Automation Date: Fri, 16 Aug 2024 16:28:47 +0200 Subject: [PATCH 2/5] remove unnecessary config setting --- release-controller/BUILD.bazel | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/release-controller/BUILD.bazel b/release-controller/BUILD.bazel index a363d4a8c..8c1034622 100644 --- a/release-controller/BUILD.bazel +++ b/release-controller/BUILD.bazel @@ -43,19 +43,6 @@ py_binary( deps = deps, ) -config_setting( - name = "is_linux", - constraint_values = [ - "@platforms//os:linux", - ], -) -config_setting( - name = "is_osx", - constraint_values = [ - # "@platforms//os:osx", - ], -) - native_binary( name = "bazelisk", src = select({ From 4320ec03fbcbb0d0702e4c434d75e6a1804a2cb4 Mon Sep 17 00:00:00 2001 From: CI Automation Date: Fri, 16 Aug 2024 16:39:42 +0200 Subject: [PATCH 3/5] debug --- release-controller/release_notes.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/release-controller/release_notes.py b/release-controller/release_notes.py index 829e4c224..b2b98a178 100755 --- a/release-controller/release_notes.py +++ b/release-controller/release_notes.py @@ -508,13 +508,18 @@ def bazel_query(ic_repo: GitRepo, query): ) if p.returncode != 0: print("Failure running Bazel through container. Attempting direct run.", file=sys.stderr) - p = subprocess.run( - bazel_query, - cwd=ic_repo.dir, - text=True, - stdout=subprocess.PIPE, - check=True, - ) + try: + p = subprocess.run( + bazel_query, + cwd=ic_repo.dir, + text=True, + stdout=subprocess.PIPE, + check=True, + ) + except subprocess.CalledProcessError as e: + print(p.stdout) + print(p.stderr) + raise e return [l[::-1].replace(":", "/", 1)[::-1].removeprefix("//") for l in p.stdout.splitlines()] From 213883208a53359f3a7e68a1fe0b7ca1a90cdbf7 Mon Sep 17 00:00:00 2001 From: CI Automation Date: Mon, 19 Aug 2024 11:15:10 +0200 Subject: [PATCH 4/5] capture stderr --- release-controller/release_notes.py | 1 + 1 file changed, 1 insertion(+) diff --git a/release-controller/release_notes.py b/release-controller/release_notes.py index b2b98a178..2e1a27863 100755 --- a/release-controller/release_notes.py +++ b/release-controller/release_notes.py @@ -514,6 +514,7 @@ def bazel_query(ic_repo: GitRepo, query): cwd=ic_repo.dir, text=True, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, check=True, ) except subprocess.CalledProcessError as e: From 674b7660be701bfd6864d47e443bee7f41ed1277 Mon Sep 17 00:00:00 2001 From: CI Automation Date: Mon, 19 Aug 2024 11:30:47 +0200 Subject: [PATCH 5/5] inherit home env --- release-controller/BUILD.bazel | 1 + 1 file changed, 1 insertion(+) diff --git a/release-controller/BUILD.bazel b/release-controller/BUILD.bazel index 8c1034622..923a89a42 100644 --- a/release-controller/BUILD.bazel +++ b/release-controller/BUILD.bazel @@ -59,6 +59,7 @@ py_test( env = env, tags = ["no-sandbox"], deps = deps + dev_deps, + env_inherit = ["HOME"], ) py_oci_image(