Skip to content

Commit

Permalink
Merge branch 'input-output-hk:main' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
Fuma419 authored Oct 15, 2024
2 parents 26761f4 + 47cdaea commit 4c10988
Show file tree
Hide file tree
Showing 283 changed files with 12,773 additions and 8,128 deletions.
48 changes: 39 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -289,19 +289,37 @@ jobs:
matrix:
mode: ["std"]
era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras) }}
cardano_node_version: ["9.0.0", "9.1.0", "9.1.1"]
next_era: [""]
cardano_node_version: ["9.0.0", "9.1.0", "9.1.1", "9.2.0", "9.2.1"]
hard_fork_latest_era_at_epoch: [0]
run_id: ["#1", "#2"]
run_id: ["#1"]
extra_args: [""]

include:
# Include a test for the P2P mode
- mode: "p2p"
era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[0] }}
next_era: [""]
cardano_node_version: "9.1.1"
hard_fork_latest_era_at_epoch: 0
run_id: "#1"
extra_args: "--use-p2p-network"
# Include a test for the era switch without regenesis
- mode: "std"
era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[0] }}
next_era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[1] }}
cardano_node_version: "9.1.1"
hard_fork_latest_era_at_epoch: 0
run_id: "#1"
extra_args: ""
# Include a test for the era switch with regenesis
- mode: "std"
era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[0] }}
next_era: ${{ fromJSON(needs.build-ubuntu-X64.outputs.eras)[1] }}
cardano_node_version: "9.1.1"
hard_fork_latest_era_at_epoch: 0
run_id: "#1"
extra_args: "--mithril-era-regenesis-on-switch"
steps:
- name: Checkout sources
uses: actions/checkout@v4
Expand All @@ -328,13 +346,24 @@ jobs:
- name: Test
run: |
./mithril-end-to-end -vvv \
--bin-directory ./bin \
--work-directory=./artifacts \
--devnet-scripts-directory=./mithril-test-lab/mithril-devnet \
--mithril-era=${{ matrix.era }} \
--cardano-node-version ${{ matrix.cardano_node_version }} \
--cardano-hard-fork-latest-era-at-epoch ${{ matrix.hard_fork_latest_era_at_epoch }} ${{ matrix.extra_args }}
cat > ./mithril-end-to-end.sh << EOF
#!/bin/bash
set -x
./mithril-end-to-end -vvv \\
--bin-directory ./bin \\
--work-directory=./artifacts \\
--devnet-scripts-directory=./mithril-test-lab/mithril-devnet \\
--mithril-era=${{ matrix.era }} \\
--cardano-node-version ${{ matrix.cardano_node_version }} \\
--cardano-hard-fork-latest-era-at-epoch ${{ matrix.hard_fork_latest_era_at_epoch }} ${{ matrix.extra_args }} \\
EOF
# If there is a next era, we need to specify it with '--mithril-next-era'
if [[ "${{ matrix.next_era }}" != "" ]]; then
echo " --mithril-next-era=${{ matrix.next_era }}" >> ./mithril-end-to-end.sh
fi
chmod u+x ./mithril-end-to-end.sh
./mithril-end-to-end.sh
rm ./mithril-end-to-end.sh
- name: Upload E2E Tests Artifacts
if: ${{ failure() }}
Expand Down Expand Up @@ -841,6 +870,7 @@ jobs:
with:
output: out/
spec-file: ./openapi.yaml
token: ${{ secrets.GITHUB_TOKEN }}

- name: Publish OpenAPI UI build
uses: actions/upload-artifact@v4
Expand Down
18 changes: 5 additions & 13 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,23 +76,15 @@ jobs:
compatibility-table: '{ "release-mainnet": "⛔", "release-preprod": "⛔", "pre-release-preview": "✔", "testing-preview": "⛔", "testing-sanchonet": "⛔" }'

- name: Create pre-release ${{ github.ref_name }}
uses: marvinpinto/action-automatic-releases@latest
uses: softprops/action-gh-release@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
automatic_release_tag: ${{ github.ref_name }}
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ github.ref_name }}
prerelease: true
title: Mithril v${{ github.ref_name }}
name: Mithril v${{ github.ref_name }}
files: package/*

- name: Update release body with release notes addon
# specific version since this action does not support giving only the major number
uses: tubone24/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG_NAME: ${{ github.ref_name }}
with:
is_append_body: true
body_path: ./release-notes-addon.txt
append_body: true

build-push-docker:
runs-on: ubuntu-22.04
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/test-client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,20 +141,20 @@ jobs:
shell: bash
working-directory: ./bin
run: |
./mithril-client ${{ steps.prepare.outputs.debug_level }} --unstable cardano-transaction snapshot list
echo "CTX_SNAPSHOT_HASH=$(./mithril-client --unstable cardano-transaction snapshot list --json | jq -r '.[0].hash')" >> $GITHUB_ENV
./mithril-client ${{ steps.prepare.outputs.debug_level }} cardano-transaction snapshot list
echo "CTX_SNAPSHOT_HASH=$(./mithril-client cardano-transaction snapshot list --json | jq -r '.[0].hash')" >> $GITHUB_ENV
- name: Cardano transaction / show snapshot
if: steps.aggregator_capability_unix.outputs.ctx_enabled == 'true' || steps.aggregator_capability_windows.outputs.ctx_enabled == 'true'
shell: bash
working-directory: ./bin
run: ./mithril-client --unstable cardano-transaction snapshot show $CTX_SNAPSHOT_HASH
run: ./mithril-client cardano-transaction snapshot show $CTX_SNAPSHOT_HASH

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

- name: Cardano Stake Distribution / list and get last epoch and hash
if: steps.aggregator_capability_unix.outputs.csd_enabled == 'true' || steps.aggregator_capability_windows.outputs.csd_enabled == 'true'
Expand Down Expand Up @@ -242,18 +242,18 @@ jobs:
if: steps.aggregator_capability.outputs.ctx_enabled == 'true'
shell: bash
run: |
${{ steps.command.outputs.mithril_client }} --unstable cardano-transaction snapshot list
echo "CTX_SNAPSHOT_HASH=$(${{ steps.command.outputs.mithril_client }} --unstable cardano-transaction snapshot list --json | jq -r '.[0].hash')" >> $GITHUB_ENV
${{ steps.command.outputs.mithril_client }} cardano-transaction snapshot list
echo "CTX_SNAPSHOT_HASH=$(${{ steps.command.outputs.mithril_client }} cardano-transaction snapshot list --json | jq -r '.[0].hash')" >> $GITHUB_ENV
- name: Cardano transaction / show snapshot
if: steps.aggregator_capability.outputs.ctx_enabled == 'true'
shell: bash
run: ${{ steps.command.outputs.mithril_client }} --unstable cardano-transaction snapshot show $CTX_SNAPSHOT_HASH
run: ${{ steps.command.outputs.mithril_client }} cardano-transaction snapshot show $CTX_SNAPSHOT_HASH

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

- name: Cardano Stake Distribution / list and get last epoch and hash
if: steps.aggregator_capability.outputs.csd_enabled == 'true'
Expand Down
30 changes: 1 addition & 29 deletions .github/workflows/test-deploy-network.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ on:
options:
- dev-preview
- dev-mainnet
- testing-mainnet
dry_run:
description: Dry run will not deploy the distribution to the Mithril network
required: true
Expand All @@ -28,7 +27,7 @@ jobs:
strategy:
fail-fast: false
matrix:
environment: [dev-preview, dev-mainnet, testing-mainnet]
environment: [dev-preview, dev-mainnet]
include:
- environment: dev-preview
environment_prefix: dev
Expand Down Expand Up @@ -92,33 +91,6 @@ jobs:
google_compute_instance_boot_disk_type: pd-standard
google_compute_instance_data_disk_size: 1000
google_compute_instance_data_disk_type: pd-balanced
- environment: testing-mainnet
environment_prefix: testing
cardano_network: mainnet
mithril_use_p2p_network: false
mithril_api_domain: api.mithril.network
mithril_era_reader_adapter_type: bootstrap
mithril_protocol_parameters: |
{
k = 2422
m = 20973
phi_f = 0.20
}
mithril_signers: |
{
"1" = {
type = "unverified-alone",
pool_id = "pool1re8cmjt895tpx8dx2veg0cew5yqtxnt82sll03e433a4ugnh9w7",
}
}
terraform_backend_bucket: hydra-terraform-admin
google_region: europe-west1
google_zone: europe-west1-b
google_machine_type: e2-highmem-8
google_compute_instance_boot_disk_size: 250
google_compute_instance_boot_disk_type: pd-standard
google_compute_instance_data_disk_size: 1000
google_compute_instance_data_disk_type: pd-balanced

environment: ${{ matrix.environment }}
runs-on: ubuntu-22.04
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-docker-distribution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ on:
description: The url of the archive of the Cardano binaries
required: true
type: string
default: https://github.com/IntersectMBO/cardano-node/releases/download/9.0.0/cardano-node-9.0.0-linux.tar.gz
default: https://github.com/IntersectMBO/cardano-node/releases/download/9.2.1/cardano-node-9.2.1-linux.tar.gz
dry_run:
description: Dry run will not push the Docker images to the registry
required: true
Expand Down
30 changes: 27 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,35 @@ As a minor extension, we have adopted a slightly different versioning convention

## Mithril Distribution [XXXX] - UNRELEASED

- Optimizations of the state machine used by the signer to create individual signatures.
- Crates versions:

| Crate | Version |
| ----- | ------- |
| N/A | `-` |

## Mithril Distribution [2442.0] - UNRELEASED

- Decentralization of the signature orchestration:

- Optimizations of the state machine used by the signer to create individual signatures.

- Support for buffering of incoming single signatures by the aggregator if it can not aggregate them yet.

- Expose the Cardano transactions signing configuration for the current and upcoming epoch via the `/epoch-settings` route.

- Signer computes what to sign independently of the aggregator.

- Deprecate aggregator `/certificate-pending` route as the signer does not need it anymore.

- Support for new `Pythagoras` Mithril era.

- Support for signing the protocol parameters in the Genesis certificate.

- Refactor the builder of the protocol messages, and add support for protocol parameters and epoch parts.

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

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

- Crates versions:

Expand Down
Loading

0 comments on commit 4c10988

Please sign in to comment.