Skip to content

Commit 4c10988

Browse files
authored
Merge branch 'input-output-hk:main' into patch-1
2 parents 26761f4 + 47cdaea commit 4c10988

File tree

283 files changed

+12773
-8128
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

283 files changed

+12773
-8128
lines changed

.github/workflows/ci.yml

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -289,19 +289,37 @@ jobs:
289289
matrix:
290290
mode: ["std"]
291291
era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras) }}
292-
cardano_node_version: ["9.0.0", "9.1.0", "9.1.1"]
292+
next_era: [""]
293+
cardano_node_version: ["9.0.0", "9.1.0", "9.1.1", "9.2.0", "9.2.1"]
293294
hard_fork_latest_era_at_epoch: [0]
294-
run_id: ["#1", "#2"]
295+
run_id: ["#1"]
295296
extra_args: [""]
296297

297298
include:
298299
# Include a test for the P2P mode
299300
- mode: "p2p"
300301
era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[0] }}
302+
next_era: [""]
301303
cardano_node_version: "9.1.1"
302304
hard_fork_latest_era_at_epoch: 0
303305
run_id: "#1"
304306
extra_args: "--use-p2p-network"
307+
# Include a test for the era switch without regenesis
308+
- mode: "std"
309+
era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[0] }}
310+
next_era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[1] }}
311+
cardano_node_version: "9.1.1"
312+
hard_fork_latest_era_at_epoch: 0
313+
run_id: "#1"
314+
extra_args: ""
315+
# Include a test for the era switch with regenesis
316+
- mode: "std"
317+
era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[0] }}
318+
next_era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[1] }}
319+
cardano_node_version: "9.1.1"
320+
hard_fork_latest_era_at_epoch: 0
321+
run_id: "#1"
322+
extra_args: "--mithril-era-regenesis-on-switch"
305323
steps:
306324
- name: Checkout sources
307325
uses: actions/checkout@v4
@@ -328,13 +346,24 @@ jobs:
328346
329347
- name: Test
330348
run: |
331-
./mithril-end-to-end -vvv \
332-
--bin-directory ./bin \
333-
--work-directory=./artifacts \
334-
--devnet-scripts-directory=./mithril-test-lab/mithril-devnet \
335-
--mithril-era=${{ matrix.era }} \
336-
--cardano-node-version ${{ matrix.cardano_node_version }} \
337-
--cardano-hard-fork-latest-era-at-epoch ${{ matrix.hard_fork_latest_era_at_epoch }} ${{ matrix.extra_args }}
349+
cat > ./mithril-end-to-end.sh << EOF
350+
#!/bin/bash
351+
set -x
352+
./mithril-end-to-end -vvv \\
353+
--bin-directory ./bin \\
354+
--work-directory=./artifacts \\
355+
--devnet-scripts-directory=./mithril-test-lab/mithril-devnet \\
356+
--mithril-era=${{ matrix.era }} \\
357+
--cardano-node-version ${{ matrix.cardano_node_version }} \\
358+
--cardano-hard-fork-latest-era-at-epoch ${{ matrix.hard_fork_latest_era_at_epoch }} ${{ matrix.extra_args }} \\
359+
EOF
360+
# If there is a next era, we need to specify it with '--mithril-next-era'
361+
if [[ "${{ matrix.next_era }}" != "" ]]; then
362+
echo " --mithril-next-era=${{ matrix.next_era }}" >> ./mithril-end-to-end.sh
363+
fi
364+
chmod u+x ./mithril-end-to-end.sh
365+
./mithril-end-to-end.sh
366+
rm ./mithril-end-to-end.sh
338367
339368
- name: Upload E2E Tests Artifacts
340369
if: ${{ failure() }}
@@ -841,6 +870,7 @@ jobs:
841870
with:
842871
output: out/
843872
spec-file: ./openapi.yaml
873+
token: ${{ secrets.GITHUB_TOKEN }}
844874

845875
- name: Publish OpenAPI UI build
846876
uses: actions/upload-artifact@v4

.github/workflows/pre-release.yml

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -76,23 +76,15 @@ jobs:
7676
compatibility-table: '{ "release-mainnet": "⛔", "release-preprod": "⛔", "pre-release-preview": "✔", "testing-preview": "⛔", "testing-sanchonet": "⛔" }'
7777

7878
- name: Create pre-release ${{ github.ref_name }}
79-
uses: marvinpinto/action-automatic-releases@latest
79+
uses: softprops/action-gh-release@v2
8080
with:
81-
repo_token: ${{ secrets.GITHUB_TOKEN }}
82-
automatic_release_tag: ${{ github.ref_name }}
81+
token: ${{ secrets.GITHUB_TOKEN }}
82+
tag_name: ${{ github.ref_name }}
8383
prerelease: true
84-
title: Mithril v${{ github.ref_name }}
84+
name: Mithril v${{ github.ref_name }}
8585
files: package/*
86-
87-
- name: Update release body with release notes addon
88-
# specific version since this action does not support giving only the major number
89-
uses: tubone24/[email protected]
90-
env:
91-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
92-
TAG_NAME: ${{ github.ref_name }}
93-
with:
94-
is_append_body: true
9586
body_path: ./release-notes-addon.txt
87+
append_body: true
9688

9789
build-push-docker:
9890
runs-on: ubuntu-22.04

.github/workflows/test-client.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,20 +141,20 @@ jobs:
141141
shell: bash
142142
working-directory: ./bin
143143
run: |
144-
./mithril-client ${{ steps.prepare.outputs.debug_level }} --unstable cardano-transaction snapshot list
145-
echo "CTX_SNAPSHOT_HASH=$(./mithril-client --unstable cardano-transaction snapshot list --json | jq -r '.[0].hash')" >> $GITHUB_ENV
144+
./mithril-client ${{ steps.prepare.outputs.debug_level }} cardano-transaction snapshot list
145+
echo "CTX_SNAPSHOT_HASH=$(./mithril-client cardano-transaction snapshot list --json | jq -r '.[0].hash')" >> $GITHUB_ENV
146146
147147
- name: Cardano transaction / show snapshot
148148
if: steps.aggregator_capability_unix.outputs.ctx_enabled == 'true' || steps.aggregator_capability_windows.outputs.ctx_enabled == 'true'
149149
shell: bash
150150
working-directory: ./bin
151-
run: ./mithril-client --unstable cardano-transaction snapshot show $CTX_SNAPSHOT_HASH
151+
run: ./mithril-client cardano-transaction snapshot show $CTX_SNAPSHOT_HASH
152152

153153
- name: Cardano transaction certify
154154
if: steps.aggregator_capability_unix.outputs.ctx_enabled == 'true' || steps.aggregator_capability_windows.outputs.ctx_enabled == 'true'
155155
shell: bash
156156
working-directory: ./bin
157-
run: ./mithril-client --unstable ${{ steps.prepare.outputs.debug_level }} cardano-transaction certify $TRANSACTIONS_HASHES_TO_CERTIFY
157+
run: ./mithril-client ${{ steps.prepare.outputs.debug_level }} cardano-transaction certify $TRANSACTIONS_HASHES_TO_CERTIFY
158158

159159
- name: Cardano Stake Distribution / list and get last epoch and hash
160160
if: steps.aggregator_capability_unix.outputs.csd_enabled == 'true' || steps.aggregator_capability_windows.outputs.csd_enabled == 'true'
@@ -242,18 +242,18 @@ jobs:
242242
if: steps.aggregator_capability.outputs.ctx_enabled == 'true'
243243
shell: bash
244244
run: |
245-
${{ steps.command.outputs.mithril_client }} --unstable cardano-transaction snapshot list
246-
echo "CTX_SNAPSHOT_HASH=$(${{ steps.command.outputs.mithril_client }} --unstable cardano-transaction snapshot list --json | jq -r '.[0].hash')" >> $GITHUB_ENV
245+
${{ steps.command.outputs.mithril_client }} cardano-transaction snapshot list
246+
echo "CTX_SNAPSHOT_HASH=$(${{ steps.command.outputs.mithril_client }} cardano-transaction snapshot list --json | jq -r '.[0].hash')" >> $GITHUB_ENV
247247
248248
- name: Cardano transaction / show snapshot
249249
if: steps.aggregator_capability.outputs.ctx_enabled == 'true'
250250
shell: bash
251-
run: ${{ steps.command.outputs.mithril_client }} --unstable cardano-transaction snapshot show $CTX_SNAPSHOT_HASH
251+
run: ${{ steps.command.outputs.mithril_client }} cardano-transaction snapshot show $CTX_SNAPSHOT_HASH
252252

253253
- name: Cardano transaction certify
254254
if: steps.aggregator_capability.outputs.ctx_enabled == 'true'
255255
shell: bash
256-
run: ${{ steps.command.outputs.mithril_client }} --unstable ${{ steps.prepare.outputs.debug_level }} cardano-transaction certify $TRANSACTIONS_HASHES_TO_CERTIFY
256+
run: ${{ steps.command.outputs.mithril_client }} ${{ steps.prepare.outputs.debug_level }} cardano-transaction certify $TRANSACTIONS_HASHES_TO_CERTIFY
257257

258258
- name: Cardano Stake Distribution / list and get last epoch and hash
259259
if: steps.aggregator_capability.outputs.csd_enabled == 'true'

.github/workflows/test-deploy-network.yml

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ on:
1616
options:
1717
- dev-preview
1818
- dev-mainnet
19-
- testing-mainnet
2019
dry_run:
2120
description: Dry run will not deploy the distribution to the Mithril network
2221
required: true
@@ -28,7 +27,7 @@ jobs:
2827
strategy:
2928
fail-fast: false
3029
matrix:
31-
environment: [dev-preview, dev-mainnet, testing-mainnet]
30+
environment: [dev-preview, dev-mainnet]
3231
include:
3332
- environment: dev-preview
3433
environment_prefix: dev
@@ -92,33 +91,6 @@ jobs:
9291
google_compute_instance_boot_disk_type: pd-standard
9392
google_compute_instance_data_disk_size: 1000
9493
google_compute_instance_data_disk_type: pd-balanced
95-
- environment: testing-mainnet
96-
environment_prefix: testing
97-
cardano_network: mainnet
98-
mithril_use_p2p_network: false
99-
mithril_api_domain: api.mithril.network
100-
mithril_era_reader_adapter_type: bootstrap
101-
mithril_protocol_parameters: |
102-
{
103-
k = 2422
104-
m = 20973
105-
phi_f = 0.20
106-
}
107-
mithril_signers: |
108-
{
109-
"1" = {
110-
type = "unverified-alone",
111-
pool_id = "pool1re8cmjt895tpx8dx2veg0cew5yqtxnt82sll03e433a4ugnh9w7",
112-
}
113-
}
114-
terraform_backend_bucket: hydra-terraform-admin
115-
google_region: europe-west1
116-
google_zone: europe-west1-b
117-
google_machine_type: e2-highmem-8
118-
google_compute_instance_boot_disk_size: 250
119-
google_compute_instance_boot_disk_type: pd-standard
120-
google_compute_instance_data_disk_size: 1000
121-
google_compute_instance_data_disk_type: pd-balanced
12294

12395
environment: ${{ matrix.environment }}
12496
runs-on: ubuntu-22.04

.github/workflows/test-docker-distribution.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ on:
2525
description: The url of the archive of the Cardano binaries
2626
required: true
2727
type: string
28-
default: https://github.com/IntersectMBO/cardano-node/releases/download/9.0.0/cardano-node-9.0.0-linux.tar.gz
28+
default: https://github.com/IntersectMBO/cardano-node/releases/download/9.2.1/cardano-node-9.2.1-linux.tar.gz
2929
dry_run:
3030
description: Dry run will not push the Docker images to the registry
3131
required: true

CHANGELOG.md

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,35 @@ As a minor extension, we have adopted a slightly different versioning convention
99

1010
## Mithril Distribution [XXXX] - UNRELEASED
1111

12-
- Optimizations of the state machine used by the signer to create individual signatures.
12+
- Crates versions:
13+
14+
| Crate | Version |
15+
| ----- | ------- |
16+
| N/A | `-` |
17+
18+
## Mithril Distribution [2442.0] - UNRELEASED
19+
20+
- Decentralization of the signature orchestration:
21+
22+
- Optimizations of the state machine used by the signer to create individual signatures.
23+
24+
- Support for buffering of incoming single signatures by the aggregator if it can not aggregate them yet.
25+
26+
- Expose the Cardano transactions signing configuration for the current and upcoming epoch via the `/epoch-settings` route.
27+
28+
- Signer computes what to sign independently of the aggregator.
29+
30+
- Deprecate aggregator `/certificate-pending` route as the signer does not need it anymore.
31+
32+
- Support for new `Pythagoras` Mithril era.
33+
34+
- Support for signing the protocol parameters in the Genesis certificate.
35+
36+
- Refactor the builder of the protocol messages, and add support for protocol parameters and epoch parts.
1337

14-
- Support for buffering of incoming single signatures by the aggregator if it can not aggregate them yet.
38+
- Support for `Cardano node` `9.2.1` in the signer and the aggregator.
1539

16-
- Expose the Cardano transactions signing configuration for the current and upcoming epoch via the `/epoch-settings` route.
40+
- Support for stable Cardano transaction client library, CLI and WASM.
1741

1842
- Crates versions:
1943

0 commit comments

Comments
 (0)