Skip to content

Commit 9b1d86b

Browse files
authored
Merge branch 'main' into prevent-duplicate-connections
2 parents d627b12 + d33abe8 commit 9b1d86b

File tree

605 files changed

+32813
-11332
lines changed

Some content is hidden

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

605 files changed

+32813
-11332
lines changed

.github/dependabot.yml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,32 @@
11
version: 2
22
updates:
33
- package-ecosystem: npm
4-
directory: "/"
4+
directories:
5+
- "**/*"
56
schedule:
67
interval: daily
78
time: "10:00"
89
open-pull-requests-limit: 20
910
commit-message:
1011
prefix: "deps"
11-
prefix-development: "deps(dev)"
12+
prefix-development: "chore"
13+
groups:
14+
helia-deps: # group all deps that should be updated when Helia deps need updated
15+
patterns:
16+
- "*helia*"
17+
- "*libp2p*"
18+
- "*multiformats*"
19+
store-deps: # group all blockstore and datastore updates (interface & impl)
20+
patterns:
21+
- "*blockstore*"
22+
- "*datastore*"
23+
kubo-deps: # group kubo, kubo-rpc-client, and ipfsd-ctl updates
24+
patterns:
25+
- "*kubo*"
26+
- "ipfsd-ctl"
1227
- package-ecosystem: "github-actions"
1328
directory: "/"
1429
schedule:
1530
interval: "weekly"
1631
commit-message:
17-
prefix: ci
32+
prefix: chore

.github/workflows/examples.yml

Lines changed: 105 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -17,40 +17,109 @@ jobs:
1717
- uses: actions/setup-node@v4
1818
with:
1919
node-version: lts/*
20-
- uses: ipfs/aegir/actions/cache-node-modules@master
20+
- uses: ipfs/aegir/actions/cache-node-modules@main
2121

22-
# re-enable after [email protected] release
23-
# test-examples:
24-
# name: Test example ${{ matrix.example.name }}
25-
# runs-on: ubuntu-latest
26-
# needs: build
27-
# continue-on-error: true
28-
# strategy:
29-
# matrix:
30-
# example:
31-
# - name: js-libp2p-example-chat
32-
# repo: https://github.com/libp2p/js-libp2p-example-chat.git
33-
# deps:
34-
# - '@libp2p/tcp@$PWD/packages/transport-tcp'
35-
# - '@libp2p/websockets@$PWD/packages/transport-websockets'
36-
# - 'libp2p@$PWD/packages/libp2p'
37-
# - name: js-libp2p-example-circuit-relay
38-
# repo: https://github.com/libp2p/js-libp2p-example-circuit-relay.git
39-
# deps:
40-
# - '@libp2p/circuit-relay-v2@$PWD/packages/transport-circuit-relay-v2'
41-
# - '@libp2p/identify@$PWD/packages/protocol-identify'
42-
# - '@libp2p/websockets@$PWD/packages/transport-websockets'
43-
# - 'libp2p@$PWD/packages/libp2p'
44-
# - name: js-libp2p-example-connection-encryption
45-
# repo: https://github.com/libp2p/js-libp2p-example-connection-encryption.git
46-
# deps:
47-
# - '@libp2p/plaintext@$PWD/packages/connection-encrypter-plaintext'
48-
# - '@libp2p/tcp@$PWD/packages/transport-tcp'
49-
# - 'libp2p@$PWD/packages/libp2p'
50-
# steps:
51-
# - uses: actions/checkout@v4
52-
# - uses: actions/setup-node@v4
53-
# with:
54-
# node-version: lts/*
55-
# - uses: ipfs/aegir/actions/cache-node-modules@master
56-
# - run: npx xvfb-maybe aegir test-dependant ${{ matrix.example.repo }} --deps ${{ join(matrix.example.deps, ',') }}
22+
test-examples:
23+
name: Test example ${{ matrix.example.name }}
24+
runs-on: ubuntu-latest
25+
needs: build
26+
continue-on-error: true
27+
strategy:
28+
matrix:
29+
example:
30+
- name: js-libp2p-example-browser-pubsub
31+
repo: https://github.com/libp2p/js-libp2p-example-browser-pubsub.git
32+
deps:
33+
- '@libp2p/circuit-relay-v2@$PWD/packages/transport-circuit-relay-v2'
34+
- '@libp2p/dcutr@$PWD/packages/protocol-dcutr'
35+
- '@libp2p/identify@$PWD/packages/protocol-identify'
36+
- '@libp2p/webrtc@$PWD/packages/transport-webrtc'
37+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
38+
- 'libp2p@$PWD/packages/libp2p'
39+
- name: js-libp2p-example-chat
40+
repo: https://github.com/libp2p/js-libp2p-example-chat.git
41+
deps:
42+
- '@libp2p/mdns@$PWD/packages/peer-discovery-mdns'
43+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
44+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
45+
- 'libp2p@$PWD/packages/libp2p'
46+
- name: js-libp2p-example-circuit-relay
47+
repo: https://github.com/libp2p/js-libp2p-example-circuit-relay.git
48+
deps:
49+
- '@libp2p/circuit-relay-v2@$PWD/packages/transport-circuit-relay-v2'
50+
- '@libp2p/identify@$PWD/packages/protocol-identify'
51+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
52+
- 'libp2p@$PWD/packages/libp2p'
53+
- name: js-libp2p-example-connection-encryption
54+
repo: https://github.com/libp2p/js-libp2p-example-connection-encryption.git
55+
deps:
56+
- '@libp2p/plaintext@$PWD/packages/connection-encrypter-plaintext'
57+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
58+
- 'libp2p@$PWD/packages/libp2p'
59+
- name: js-libp2p-example-custom-protocols
60+
repo: https://github.com/libp2p/js-libp2p-example-custom-protocols.git
61+
deps:
62+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
63+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
64+
- 'libp2p@$PWD/packages/libp2p'
65+
- name: js-libp2p-example-delegated-routing
66+
repo: https://github.com/libp2p/js-libp2p-example-delegated-routing.git
67+
deps:
68+
- 'libp2p@$PWD/packages/libp2p'
69+
- name: js-libp2p-example-discovery-mechanisms
70+
repo: https://github.com/libp2p/js-libp2p-example-discovery-mechanisms.git
71+
deps:
72+
- '@libp2p/bootstrap@$PWD/packages/peer-discovery-bootstrap'
73+
- '@libp2p/circuit-relay-v2@$PWD/packages/transport-circuit-relay-v2'
74+
- '@libp2p/identify@$PWD/packages/protocol-identify'
75+
- '@libp2p/kad-dht@$PWD/packages/kad-dht'
76+
- '@libp2p/mdns@$PWD/packages/peer-discovery-mdns'
77+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
78+
- 'libp2p@$PWD/packages/libp2p'
79+
- name: js-libp2p-example-peer-and-content-routing
80+
repo: https://github.com/libp2p/js-libp2p-example-peer-and-content-routing.git
81+
deps:
82+
- '@libp2p/identify@$PWD/packages/protocol-identify'
83+
- '@libp2p/kad-dht@$PWD/packages/kad-dht'
84+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
85+
- 'libp2p@$PWD/packages/libp2p'
86+
- name: js-libp2p-example-pnet
87+
repo: https://github.com/libp2p/js-libp2p-example-pnet.git
88+
deps:
89+
- '@libp2p/pnet@$PWD/packages/pnet'
90+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
91+
- 'libp2p@$PWD/packages/libp2p'
92+
- name: js-libp2p-example-protocol-and-stream-muxing
93+
repo: https://github.com/libp2p/js-libp2p-example-protocol-and-stream-muxing.git
94+
deps:
95+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
96+
- 'libp2p@$PWD/packages/libp2p'
97+
- name: js-libp2p-example-pubsub
98+
repo: https://github.com/libp2p/js-libp2p-example-pubsub.git
99+
deps:
100+
- '@libp2p/identify@$PWD/packages/protocol-identify'
101+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
102+
- 'libp2p@$PWD/packages/libp2p'
103+
- name: js-libp2p-example-transports
104+
repo: https://github.com/libp2p/js-libp2p-example-transports.git
105+
deps:
106+
- '@libp2p/tcp@$PWD/packages/transport-tcp'
107+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
108+
- 'libp2p@$PWD/packages/libp2p'
109+
- name: js-libp2p-example-webrtc-private-to-private
110+
repo: https://github.com/libp2p/js-libp2p-example-webrtc-private-to-private.git
111+
deps:
112+
- '@libp2p/circuit-relay-v2@$PWD/packages/transport-circuit-relay-v2'
113+
- '@libp2p/identify@$PWD/packages/protocol-identify'
114+
- '@libp2p/ping@$PWD/packages/protocol-ping'
115+
- '@libp2p/webrtc@$PWD/packages/transport-webrtc'
116+
- '@libp2p/websockets@$PWD/packages/transport-websockets'
117+
- 'libp2p@$PWD/packages/libp2p'
118+
steps:
119+
- uses: actions/checkout@v4
120+
- uses: actions/setup-node@v4
121+
with:
122+
node-version: lts/*
123+
- uses: ipfs/aegir/actions/cache-node-modules@main
124+
- run: npx playwright install-deps
125+
- run: npx xvfb-maybe aegir test-dependant ${{ matrix.example.repo }} --deps ${{ join(matrix.example.deps, ',') }}

.github/workflows/main.yml

Lines changed: 52 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ on:
77
branches:
88
- '**'
99

10+
env:
11+
CACHE_DIRS: |
12+
./interop/dist
13+
./interop/node_modules
14+
./doc/node_modules
15+
1016
jobs:
1117

1218
build:
@@ -16,12 +22,9 @@ jobs:
1622
- uses: actions/setup-node@v4
1723
with:
1824
node-version: lts/*
19-
- uses: ipfs/aegir/actions/cache-node-modules@master
25+
- uses: ipfs/aegir/actions/cache-node-modules@main
2026
with:
21-
directories: |
22-
./interop/dist
23-
./interop/node_modules
24-
./doc/node_modules
27+
directories: ${{ env.CACHE_DIRS }}
2528

2629
check:
2730
needs: build
@@ -31,7 +34,9 @@ jobs:
3134
- uses: actions/setup-node@v4
3235
with:
3336
node-version: lts/*
34-
- uses: ipfs/aegir/actions/cache-node-modules@master
37+
- uses: ipfs/aegir/actions/cache-node-modules@main
38+
with:
39+
directories: ${{ env.CACHE_DIRS }}
3540
- run: npm run --if-present lint
3641
- run: npm run --if-present dep-check
3742
- run: npm run --if-present docs:no-publish
@@ -49,9 +54,11 @@ jobs:
4954
- uses: actions/setup-node@v4
5055
with:
5156
node-version: ${{ matrix.node }}
52-
- uses: ipfs/aegir/actions/cache-node-modules@master
57+
- uses: ipfs/aegir/actions/cache-node-modules@main
58+
with:
59+
directories: ${{ env.CACHE_DIRS }}
5360
- run: npm run --if-present test:node
54-
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
61+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
5562
with:
5663
flags: node
5764
files: .coverage/*,packages/*/.coverage/*
@@ -65,9 +72,11 @@ jobs:
6572
- uses: actions/setup-node@v4
6673
with:
6774
node-version: lts/*
68-
- uses: ipfs/aegir/actions/cache-node-modules@master
75+
- uses: ipfs/aegir/actions/cache-node-modules@main
76+
with:
77+
directories: ${{ env.CACHE_DIRS }}
6978
- run: npm run --if-present test:chrome
70-
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
79+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
7180
with:
7281
flags: chrome
7382
files: .coverage/*,packages/*/.coverage/*
@@ -81,9 +90,11 @@ jobs:
8190
- uses: actions/setup-node@v4
8291
with:
8392
node-version: lts/*
84-
- uses: ipfs/aegir/actions/cache-node-modules@master
93+
- uses: ipfs/aegir/actions/cache-node-modules@main
94+
with:
95+
directories: ${{ env.CACHE_DIRS }}
8596
- run: npm run --if-present test:chrome-webworker
86-
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
97+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
8798
with:
8899
flags: chrome-webworker
89100
files: .coverage/*,packages/*/.coverage/*
@@ -97,9 +108,11 @@ jobs:
97108
- uses: actions/setup-node@v4
98109
with:
99110
node-version: lts/*
100-
- uses: ipfs/aegir/actions/cache-node-modules@master
111+
- uses: ipfs/aegir/actions/cache-node-modules@main
112+
with:
113+
directories: ${{ env.CACHE_DIRS }}
101114
- run: npm run --if-present test:firefox
102-
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
115+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
103116
with:
104117
flags: firefox
105118
files: .coverage/*,packages/*/.coverage/*
@@ -113,9 +126,11 @@ jobs:
113126
- uses: actions/setup-node@v4
114127
with:
115128
node-version: lts/*
116-
- uses: ipfs/aegir/actions/cache-node-modules@master
129+
- uses: ipfs/aegir/actions/cache-node-modules@main
130+
with:
131+
directories: ${{ env.CACHE_DIRS }}
117132
- run: npm run --if-present test:firefox-webworker
118-
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
133+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
119134
with:
120135
flags: firefox-webworker
121136
files: .coverage/*,packages/*/.coverage/*
@@ -129,14 +144,16 @@ jobs:
129144
- uses: actions/setup-node@v4
130145
with:
131146
node-version: lts/*
132-
- uses: ipfs/aegir/actions/cache-node-modules@master
147+
- uses: ipfs/aegir/actions/cache-node-modules@main
148+
with:
149+
directories: ${{ env.CACHE_DIRS }}
133150
# https://github.com/actions/runner-images/issues/9733#issuecomment-2074590278
134151
- run: |
135152
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
136153
sudo apt-get update
137154
- run: npx playwright install-deps
138155
- run: npm run --if-present test:webkit
139-
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
156+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
140157
with:
141158
flags: webkit
142159
files: .coverage/*,packages/*/.coverage/*
@@ -150,9 +167,11 @@ jobs:
150167
- uses: actions/setup-node@v4
151168
with:
152169
node-version: lts/*
153-
- uses: ipfs/aegir/actions/cache-node-modules@master
170+
- uses: ipfs/aegir/actions/cache-node-modules@main
171+
with:
172+
directories: ${{ env.CACHE_DIRS }}
154173
- run: npx xvfb-maybe npm run --if-present test:electron-main
155-
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
174+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
156175
with:
157176
flags: electron-main
158177
files: .coverage/*,packages/*/.coverage/*
@@ -166,9 +185,11 @@ jobs:
166185
- uses: actions/setup-node@v4
167186
with:
168187
node-version: lts/*
169-
- uses: ipfs/aegir/actions/cache-node-modules@master
188+
- uses: ipfs/aegir/actions/cache-node-modules@main
189+
with:
190+
directories: ${{ env.CACHE_DIRS }}
170191
- run: npx xvfb-maybe npm run --if-present test:electron-renderer
171-
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
192+
- uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
172193
with:
173194
flags: electron-renderer
174195
files: .coverage/*,packages/*/.coverage/*
@@ -182,7 +203,9 @@ jobs:
182203
- uses: actions/setup-node@v4
183204
with:
184205
node-version: lts/*
185-
- uses: ipfs/aegir/actions/cache-node-modules@master
206+
- uses: ipfs/aegir/actions/cache-node-modules@main
207+
with:
208+
directories: ${{ env.CACHE_DIRS }}
186209
- run: npm run test:interop -- --bail
187210

188211
transport-interop:
@@ -193,11 +216,9 @@ jobs:
193216
- uses: actions/setup-node@v4
194217
with:
195218
node-version: lts/*
196-
- uses: ipfs/aegir/actions/cache-node-modules@master
219+
- uses: ipfs/aegir/actions/cache-node-modules@main
197220
with:
198-
directories: |
199-
./interop/dist
200-
./interop/node_modules
221+
directories: ${{ env.CACHE_DIRS }}
201222
- name: Build images
202223
run: (cd interop && make -j 4)
203224
- name: Save package-lock.json as artifact
@@ -248,8 +269,10 @@ jobs:
248269
with:
249270
node-version: lts/*
250271
registry-url: 'https://registry.npmjs.org'
251-
- uses: ipfs/aegir/actions/cache-node-modules@master
252-
- uses: ipfs/aegir/actions/docker-login@master
272+
- uses: ipfs/aegir/actions/cache-node-modules@main
273+
with:
274+
directories: ${{ env.CACHE_DIRS }}
275+
- uses: ipfs/aegir/actions/docker-login@main
253276
with:
254277
docker-token: ${{ secrets.DOCKER_TOKEN }}
255278
docker-username: ${{ secrets.DOCKER_USERNAME }}

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"packages/connection-encrypter-plaintext":"2.0.6","packages/connection-encrypter-tls":"2.0.6","packages/crypto":"5.0.4","packages/interface":"2.1.2","packages/interface-compliance-tests":"6.1.4","packages/interface-internal":"2.0.6","packages/kad-dht":"13.1.1","packages/keychain":"5.0.6","packages/libp2p":"2.1.4","packages/logger":"5.1.0","packages/metrics-devtools":"1.1.4","packages/metrics-prometheus":"4.2.0","packages/metrics-simple":"1.2.3","packages/multistream-select":"6.0.5","packages/peer-collections":"6.0.6","packages/peer-discovery-bootstrap":"11.0.6","packages/peer-discovery-mdns":"11.0.6","packages/peer-id":"5.0.4","packages/peer-record":"8.0.6","packages/peer-store":"11.0.6","packages/pnet":"2.0.6","packages/protocol-autonat":"2.0.6","packages/protocol-dcutr":"2.0.6","packages/protocol-echo":"2.0.6","packages/protocol-fetch":"2.0.6","packages/protocol-identify":"3.0.6","packages/protocol-perf":"4.0.6","packages/protocol-ping":"2.0.6","packages/pubsub":"10.0.6","packages/pubsub-floodsub":"10.1.4","packages/record":"4.0.4","packages/stream-multiplexer-mplex":"11.0.6","packages/transport-circuit-relay-v2":"2.1.1","packages/transport-tcp":"10.0.6","packages/transport-webrtc":"5.0.8","packages/transport-websockets":"9.0.6","packages/transport-webtransport":"5.0.8","packages/upnp-nat":"2.0.6","packages/utils":"6.0.6"}
1+
{"packages/auto-tls":"1.0.4","packages/config":"1.0.1","packages/connection-encrypter-plaintext":"2.0.13","packages/connection-encrypter-tls":"2.0.13","packages/crypto":"5.0.9","packages/interface":"2.4.0","packages/interface-compliance-tests":"6.2.3","packages/interface-internal":"2.2.2","packages/kad-dht":"14.2.0","packages/keychain":"5.0.12","packages/libp2p":"2.5.0","packages/logger":"5.1.6","packages/metrics-devtools":"1.2.0","packages/metrics-opentelemetry":"1.0.0","packages/metrics-prometheus":"4.3.0","packages/metrics-simple":"1.3.0","packages/multistream-select":"6.0.11","packages/peer-collections":"6.0.14","packages/peer-discovery-bootstrap":"11.0.17","packages/peer-discovery-mdns":"11.0.17","packages/peer-id":"5.0.10","packages/peer-record":"8.0.14","packages/peer-store":"11.0.14","packages/pnet":"2.0.17","packages/protocol-autonat":"2.0.16","packages/protocol-dcutr":"2.0.15","packages/protocol-echo":"2.1.6","packages/protocol-fetch":"3.0.0","packages/protocol-identify":"3.0.15","packages/protocol-perf":"4.0.17","packages/protocol-ping":"2.0.15","packages/pubsub":"10.0.15","packages/pubsub-floodsub":"10.1.16","packages/record":"4.0.4","packages/stream-multiplexer-mplex":"11.0.17","packages/transport-circuit-relay-v2":"3.1.7","packages/transport-memory":"1.0.3","packages/transport-tcp":"10.0.15","packages/transport-webrtc":"5.0.23","packages/transport-websockets":"9.1.2","packages/transport-webtransport":"5.0.22","packages/upnp-nat":"3.0.4","packages/utils":"6.3.1"}

0 commit comments

Comments
 (0)