diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index acd9d52..07bdf94 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -213,14 +213,14 @@ jobs: id: restore-nomos-bins-host uses: actions/cache@v4 with: - path: ${{ github.workspace }}/.tmp/nomos-binaries-host-${{ env.VERSION }}.tar.gz - key: ${{ runner.os }}-nomos-binaries-host-${{ env.VERSION }}-${{ env.NOMOS_BUNDLE_VERSION }} + path: ${{ github.workspace }}/.tmp/nomos-binaries.tar.gz + key: ${{ runner.os }}-nomos-binaries-${{ env.VERSION }}-${{ env.NOMOS_BUNDLE_VERSION }} - name: Download nomos binaries artifact (fallback) if: steps.restore-nomos-bins-host.outputs.cache-hit != 'true' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ARTIFACT_NAME: nomos-binaries-host-${{ env.VERSION }}-${{ env.NOMOS_BUNDLE_VERSION }} + ARTIFACT_NAME: nomos-binaries-${{ runner.os }}-${{ env.VERSION }}-${{ env.NOMOS_BUNDLE_VERSION }} run: | set -euo pipefail mkdir -p "${TMPDIR}" @@ -239,12 +239,12 @@ jobs: exit 1 fi mkdir -p "${GITHUB_WORKSPACE}/.tmp" - mv "$found_tar" "${GITHUB_WORKSPACE}/.tmp/nomos-binaries-host-${VERSION}.tar.gz" + mv "$found_tar" "${GITHUB_WORKSPACE}/.tmp/nomos-binaries.tar.gz" - name: Normalize host bundle path run: | set -euo pipefail mkdir -p .tmp - SRC="${GITHUB_WORKSPACE}/.tmp/nomos-binaries-host-${VERSION}.tar.gz" + SRC="${GITHUB_WORKSPACE}/.tmp/nomos-binaries.tar.gz" DEST="${GITHUB_WORKSPACE}/.tmp/nomos-binaries-host-${VERSION}.tar.gz" if [ -f "${SRC}" ]; then mv "${SRC}" "${DEST}" @@ -313,13 +313,13 @@ jobs: uses: actions/cache@v4 with: path: ${{ github.workspace }}/.tmp/nomos-binaries.tar.gz - key: ${{ runner.os }}-nomos-binaries-${{ env.NOMOS_NODE_REV }}-${{ env.NOMOS_BUNDLE_VERSION }} + key: ${{ runner.os }}-nomos-binaries-${{ env.VERSION }}-${{ env.NOMOS_BUNDLE_VERSION }} - name: Download nomos binaries artifact (fallback) if: steps.restore-nomos-bins.outputs.cache-hit != 'true' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ARTIFACT_NAME: nomos-binaries-${{ runner.os }}-${{ env.NOMOS_NODE_REV }}-${{ env.NOMOS_BUNDLE_VERSION }} + ARTIFACT_NAME: nomos-binaries-${{ runner.os }}-${{ env.VERSION }}-${{ env.NOMOS_BUNDLE_VERSION }} run: | set -euo pipefail download_dir="${TMPDIR}/nomos-binaries-download" diff --git a/testing-framework/configs/src/topology/configs/network.rs b/testing-framework/configs/src/topology/configs/network.rs index 2e8fe2a..dc13566 100644 --- a/testing-framework/configs/src/topology/configs/network.rs +++ b/testing-framework/configs/src/topology/configs/network.rs @@ -1,4 +1,4 @@ -use std::time::Duration; +use std::{env, time::Duration}; use nomos_libp2p::{ IdentifySettings, KademliaSettings, Multiaddr, NatSettings, ed25519, gossipsub, @@ -36,6 +36,19 @@ fn default_swarm_config() -> SwarmConfig { } } +fn nat_settings(port: u16) -> NatSettings { + if env::var("NOMOS_USE_AUTONAT").is_ok() { + return NatSettings::default(); + } + + let addr: Multiaddr = format!("/ip4/127.0.0.1/udp/{port}/quic-v1") + .parse() + .expect("failed to build loopback multiaddr"); + NatSettings::Static { + external_address: addr, + } +} + #[must_use] pub fn create_network_configs( ids: &[[u8; 32]], @@ -48,12 +61,14 @@ pub fn create_network_configs( let node_key = ed25519::SecretKey::try_from_bytes(&mut node_key_bytes) .expect("Failed to generate secret key from bytes"); + let port = get_available_udp_port().unwrap(); SwarmConfig { node_key, - port: get_available_udp_port().unwrap(), + port, chain_sync_config: cryptarchia_sync::Config { peer_response_timeout: Duration::from_secs(60), }, + nat_config: nat_settings(port), ..default_swarm_config() } })