Skip to content

Commit 85a846a

Browse files
authored
feat(webtransport): add WebTransport for WASM environments
This PR implements `Transport` for WebTransport for browsers by using web-sys. Related: #3846. Resolves: #3825. Pull-Request: #4015. Co-Authored-By: Yiannis Marangos <yiannis@eiger.co> Co-Authored-By: Maciej Zwoliński <mac.zwolinski@gmail.com> Co-Authored-By: Yiannis Marangos <psyberbits@gmail.com>
1 parent b23a4a7 commit 85a846a

Some content is hidden

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

41 files changed

+3909
-310
lines changed

.github/workflows/ci.yml

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,41 @@ jobs:
7676
run: |
7777
PACKAGE_VERSION=$(cargo metadata --format-version=1 --no-deps | jq -e -r '.packages[] | select(.name == "'"$CRATE"'") | .version')
7878
SPECIFIED_VERSION=$(tomlq "workspace.dependencies.$CRATE.version" --file ./Cargo.toml)
79-
79+
8080
echo "Package version: $PACKAGE_VERSION";
8181
echo "Specified version: $SPECIFIED_VERSION";
8282
8383
test "$PACKAGE_VERSION" = "$SPECIFIED_VERSION"
8484
85+
wasm_tests:
86+
name: Run all WASM tests
87+
runs-on: ubuntu-latest
88+
env:
89+
CHROMEDRIVER_VERSION: '114.0.5735.90'
90+
steps:
91+
- uses: actions/checkout@v3
92+
93+
- uses: dtolnay/rust-toolchain@stable
94+
with:
95+
target: wasm32-unknown-unknown
96+
97+
- uses: taiki-e/cache-cargo-install-action@v1
98+
with:
99+
tool: wasm-pack@0.12.0
100+
101+
- name: Install Google Chrome
102+
run: |
103+
curl -o /tmp/google-chrome-stable_amd64.deb https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROMEDRIVER_VERSION}-1_amd64.deb
104+
sudo dpkg -i /tmp/google-chrome-stable_amd64.deb
105+
106+
- name: Install chromedriver
107+
uses: nanasess/setup-chromedriver@v2
108+
with:
109+
chromedriver-version: ${{ env.CHROMEDRIVER_VERSION }}
110+
111+
- name: Run all tests
112+
run: ./wasm-tests/run-all.sh
113+
85114
cross:
86115
name: Compile on ${{ matrix.target }}
87116
strategy:
@@ -284,6 +313,8 @@ jobs:
284313
steps:
285314
- uses: actions/checkout@v3
286315

316+
- uses: dtolnay/rust-toolchain@stable
317+
287318
- id: cargo-metadata
288319
run: |
289320
WORKSPACE_MEMBERS=$(cargo metadata --format-version=1 --no-deps | jq -c '.packages | map(select(.publish == null) | .name)')

.github/workflows/interop-test.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@ jobs:
1313
run-multidim-interop:
1414
name: Run multidimensional interoperability tests
1515
runs-on: ${{ fromJSON(github.repository == 'libp2p/rust-libp2p' && '["self-hosted", "linux", "x64", "xlarge"]' || '"ubuntu-latest"') }}
16+
strategy:
17+
matrix:
18+
flavour: [chromium, native]
1619
steps:
1720
- uses: actions/checkout@v3
1821
- uses: docker/setup-buildx-action@v2
19-
- name: Build image
20-
run: docker buildx build --load -t rust-libp2p-head . -f interop-tests/Dockerfile
21-
- uses: libp2p/test-plans/.github/actions/run-interop-ping-test@master
22+
- name: Build ${{ matrix.flavour }} image
23+
run: docker buildx build --load -t ${{ matrix.flavour }}-rust-libp2p-head . -f interop-tests/Dockerfile.${{ matrix.flavour }}
24+
- name: Run ${{ matrix.flavour }} tests
25+
uses: libp2p/test-plans/.github/actions/run-interop-ping-test@master
2226
with:
23-
test-filter: rust-libp2p-head
24-
extra-versions: ${{ github.workspace }}/interop-tests/ping-version.json
27+
test-filter: ${{ matrix.flavour }}-rust-libp2p-head
28+
extra-versions: ${{ github.workspace }}/interop-tests/${{ matrix.flavour }}-ping-version.json
2529
s3-cache-bucket: libp2p-by-tf-aws-bootstrap
2630
s3-access-key-id: ${{ vars.TEST_PLANS_BUILD_CACHE_KEY_ID }}
2731
s3-secret-access-key: ${{ secrets.TEST_PLANS_BUILD_CACHE_KEY }}

0 commit comments

Comments
 (0)