Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Implement car-mirror-wasm and car-mirror-axum crates #44

Merged
merged 25 commits into from
Mar 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
3cfcab2
feat: Succinctly encode `PullRequest` and `PushResponse`
matheus23 Feb 28, 2024
c51dbcf
feat: Write `car-mirror-axum` crate
matheus23 Feb 28, 2024
f19319c
refactor: Move car-mirror-reqwest integration test into doctest
matheus23 Feb 28, 2024
2b059d5
fix: PullRequest/PushResponse dagcbor roundtripping
matheus23 Feb 28, 2024
150eab1
chore: Add necessary features
matheus23 Feb 29, 2024
48a0a09
feat: Write car-mirror-wasm crate & playwright tests
matheus23 Feb 29, 2024
b866298
feat: Serve both HTTP + HTTPS with self signed certs
matheus23 Mar 1, 2024
ac7e90f
refactor: Disable crate for non-wasm in a different way
matheus23 Mar 1, 2024
70a4338
feat: Auto-detect whether to use streaming or not
matheus23 Mar 1, 2024
cd48653
chore: Run tests for both HTTP and HTTPS
matheus23 Mar 1, 2024
2ecba4e
feat: Run playwright tests in github actions
matheus23 Mar 1, 2024
e4881e5
fix: Don't require confirmation on cargo binstall command
matheus23 Mar 1, 2024
1d88a2c
fix: correct playwright action commands
matheus23 Mar 1, 2024
954bdce
fix: Cache JS deps & setup wasm32 target in action
matheus23 Mar 1, 2024
7e4f9b8
chore: Try some stuf
matheus23 Mar 1, 2024
f87bad2
chore: Fix lints
matheus23 Mar 1, 2024
9a1d5b7
fix: Support webkit that doesn't have BYOBReader support
matheus23 Mar 1, 2024
b4da6ac
chore: fmt
matheus23 Mar 1, 2024
66bc2d6
fix: Reintroduce `car_mirror_axum::serve`
matheus23 Mar 1, 2024
daf6edb
chore: Run reqwest axum integration with coverage
matheus23 Mar 4, 2024
c9dfd64
chore: Test more lines in `messages.rs`: `indicates_finished`
matheus23 Mar 4, 2024
19198b0
chore: Write `car-mirror-axum` documentation
matheus23 Mar 4, 2024
946e8db
fix: Pin version of wasm-bindgen in CI
matheus23 Mar 4, 2024
1058522
feat: Switch to `playwright-test` as test runner
matheus23 Mar 4, 2024
f9721b4
chore: Remove unused `example` crate + update wasm version
matheus23 Mar 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 26 additions & 16 deletions .github/workflows/tests_and_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,18 +105,8 @@ jobs:
- name: Run Tests
run: cargo test --manifest-path car-mirror/Cargo.toml --all-features

run-headless-tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
browser: [ firefox, chrome ]

# include:
# bug w/ wasm-bindgen: https://github.com/rustwasm/wasm-bindgen/issues/3004
# - os: macos-latest
# browser: safari
run-playwright-tests:
runs-on: ubuntu-latest

defaults:
run:
Expand All @@ -126,17 +116,37 @@ jobs:
- name: Checkout Repository
uses: actions/checkout@v3

- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Install cargo-binstall
uses: cargo-bins/[email protected]

- name: Install wasm-bindgen
run: cargo binstall wasm-bindgen-cli --version 0.2.91 -y

- name: Install wasm-opt (via binaryen)
run: sudo apt-get install -y binaryen

- name: Install NPM dependencies
run: npm i

- name: Install Playwright Browsers
run: npx playwright install --with-deps

- name: Cache Project
uses: Swatinem/rust-cache@v2

- name: Cache Project (JavaScript)
uses: actions/setup-node@v4
with:
node-version: '18.x'

- name: Install Rust Toolchain
uses: actions-rs/toolchain@v1
with:
override: true
toolchain: stable

- name: Run Rust Headless Browser Tests
run: wasm-pack test --headless --${{ matrix.browser }}
- name: Setup WebAssembly Toolchain
run: rustup target add wasm32-unknown-unknown

- name: Run Playwright tests
run: npm test
Loading
Loading