Skip to content

Commit

Permalink
Merge branch 'rc-2024.11.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
jacderida committed Nov 12, 2024
2 parents a6360c8 + 72727ec commit 3bb0c2a
Show file tree
Hide file tree
Showing 29 changed files with 446 additions and 124 deletions.
24 changes: 22 additions & 2 deletions .github/workflows/merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
# on main, we want to know that all commits are passing at a glance, any deviation should help bisecting errors
# the merge run checks should show on master and enable this clear test/passing history
merge_group:
branches: [main, evm-dev]
branches: [main, alpha*, beta*, rc*]
pull_request:
branches: ["*"]

Expand Down Expand Up @@ -1356,13 +1356,33 @@ jobs:
shell: bash
if: always()

- name: Confirming connection errors
shell: bash
timeout-minutes: 1
env:
NODE_DATA_PATH: /home/runner/.local/share/safe/node
run: |
incoming_connection_errors=$(rg "IncomingConnectionError" $NODE_DATA_PATH -c --stats | \
rg "(\d+) matches" | rg "\d+" -o) || { echo "Failed to find IncomingConnectionError error"; exit 0; }
if [ -z "$incoming_connection_errors" ]; then
echo "Doesn't find any IncomingConnectionError error !"
else
echo "Found $incoming_connection_errors IncomingConnectionError errors."
fi
if ! rg "UnexpectedEof" $NODE_DATA_PATH -c --stats; then
echo "Doesn't find any UnexpectedEof error !"
else
echo "Found errors."
exit 1
fi
- name: Stop the local network and upload logs
if: always()
uses: maidsafe/sn-local-testnet-action@main
with:
action: stop
platform: ubuntu-latest
log_file_prefix: safe_test_logs_large_file_upload
log_file_prefix: safe_test_logs_large_file_upload_no_ws
build: true

# replication_bench_with_heavy_upload:
Expand Down
162 changes: 162 additions & 0 deletions .github/workflows/merge_websocket.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
name: Check before merge (websockets)

on:
# tests must run for a PR to be valid and pass merge queue muster
# on main, we want to know that all commits are passing at a glance, any deviation should help bisecting errors
# the merge run checks should show on master and enable this clear test/passing history
merge_group:
branches: [main, alpha*, beta*, rc*]
pull_request:
branches: ["*"]

env:
CARGO_INCREMENTAL: 0 # bookkeeping for incremental builds has overhead, not useful in CI.
WINSW_URL: https://github.com/winsw/winsw/releases/download/v3.0.0-alpha.11/WinSW-x64.exe
GENESIS_PK: 9377ab39708a59d02d09bfd3c9bc7548faab9e0c2a2700b9ac7d5c14f0842f0b4bb0df411b6abd3f1a92b9aa1ebf5c3d
GENESIS_SK: 5ec88891c1098a0fede5b98b07f8abc931d7247b7aa310d21ab430cc957f9f02

jobs:
large_file_upload_test_with_ws:
if: "!startsWith(github.event.head_commit.message, 'chore(release):')"
name: Large file upload (websockets)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2

- name: install ripgrep
shell: bash
run: sudo apt-get install -y ripgrep

- name: Check the available space
run: |
df
echo "Home dir:"
du -sh /home/runner/
echo "Home subdirs:"
du -sh /home/runner/*/
echo "PWD:"
du -sh .
echo "PWD subdirs:"
du -sh */
- name: Download material (135MB)
shell: bash
run: |
mkdir test_data_1
cd test_data_1
wget https://sn-node.s3.eu-west-2.amazonaws.com/joshuef/Qi930/safe-qiWithListeners-x86_64.tar.gz
wget https://sn-node.s3.eu-west-2.amazonaws.com/joshuef/Qi930/safenode-qiWithListeners-x86_64.tar.gz
ls -l
cd ..
tar -cvzf test_data_1.tar.gz test_data_1
ls -l
- name: Build binaries
run: cargo build --release --features local,websockets --bin safenode --bin autonomi
timeout-minutes: 30

- name: Start a local network
uses: maidsafe/sn-local-testnet-action@main
with:
action: start
enable-evm-testnet: true
node-path: target/release/safenode
platform: ubuntu-latest
build: true
sn-log: ""

- name: Check if SAFE_PEERS and EVM_NETWORK are set
shell: bash
run: |
if [[ -z "$SAFE_PEERS" ]]; then
echo "The SAFE_PEERS variable has not been set"
exit 1
elif [[ -z "$EVM_NETWORK" ]]; then
echo "The EVM_NETWORK variable has not been set"
exit 1
else
echo "SAFE_PEERS has been set to $SAFE_PEERS"
echo "EVM_NETWORK has been set to $EVM_NETWORK"
fi
- name: Check the available space post download
run: |
df
echo "Home dir:"
du -sh /home/runner/
echo "Home subdirs:"
du -sh /home/runner/*/
echo "PWD:"
du -sh .
echo "PWD subdirs:"
du -sh */
- name: export default secret key
run: echo "SECRET_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" >> $GITHUB_ENV
shell: bash

- name: File upload
run: ./target/release/autonomi --log-output-dest=data-dir file upload "./test_data_1.tar.gz" > ./upload_output 2>&1
env:
SN_LOG: "v"
timeout-minutes: 5

- name: showing the upload terminal output
run: cat upload_output
shell: bash
if: always()

- name: parse address
run: |
UPLOAD_ADDRESS=$(rg "At address: ([0-9a-f]*)" -o -r '$1' ./upload_output)
echo "UPLOAD_ADDRESS=$UPLOAD_ADDRESS" >> $GITHUB_ENV
shell: bash

- name: File Download
run: ./target/release/autonomi --log-output-dest=data-dir file download ${{ env.UPLOAD_ADDRESS }} ./downloaded_resources > ./download_output 2>&1
env:
SN_LOG: "v"
timeout-minutes: 5

- name: showing the download terminal output
run: |
cat download_output
ls -l
cd downloaded_resources
ls -l
shell: bash
if: always()

- name: Confirming connection errors
shell: bash
timeout-minutes: 1
env:
NODE_DATA_PATH: /home/runner/.local/share/safe/node
run: |
incoming_connection_errors=$(rg "IncomingConnectionError" $NODE_DATA_PATH -c --stats | \
rg "(\d+) matches" | rg "\d+" -o) || { echo "Failed to find IncomingConnectionError error"; exit 0; }
if [ -z "$incoming_connection_errors" ]; then
echo "Doesn't find any IncomingConnectionError error !"
else
echo "Found $incoming_connection_errors IncomingConnectionError errors."
fi
unexpected_eof_errors=$(rg "UnexpectedEof" $NODE_DATA_PATH -c --stats | \
rg "(\d+) matches" | rg "\d+" -o) || { echo "Failed to find UnexpectedEof error"; exit 0; }
if [ -z "$unexpected_eof_errors" ]; then
echo "Doesn't find any UnexpectedEof error !"
else
echo "Found $unexpected_eof_errors UnexpectedEof errors."
fi
- name: Stop the local network and upload logs
if: always()
uses: maidsafe/sn-local-testnet-action@main
with:
action: stop
platform: ubuntu-latest
log_file_prefix: safe_test_logs_large_file_upload_with_ws
build: true
45 changes: 44 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

*When editing this file, please respect a line length of 100.*

## 2024-11-12

### Network

#### Added

- Enable the `websockets` connection feature, for compatibility with the webapp.

#### Fixed

- Reduce incorrect logging of connection errors.
- Fixed verification for crdt operations.
- Pick chunk-proof verification (for storage confirmation) candidates more equally.

### Launchpad

#### Added

- Display an error when Launchpad is not whitelisted on Windows devices.
- Ctrl+V can paste rewards address on pop up section.

#### Changed

- Help section copy changed after beta phase.
- Update ratatui and throbbber library versions.

#### Fixed

- We display starting status when not running nodes

### Client

#### Added

- Support pre-paid put operations.
- Add the necessary WASM bindings for the webapp to be able to upload private data to a vault
and fetch it again.

#### Changed

- Chunks are now downloaded in parallel.
- Rename some WASM methods to be more conventional for web.

## 2024-11-07

### Launchpad
Expand Down Expand Up @@ -77,7 +120,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## 2024-10-28

## Autonomi API/CLI
### Autonomi API/CLI

#### Added

Expand Down
Loading

0 comments on commit 3bb0c2a

Please sign in to comment.