Skip to content

Commit ba911ce

Browse files
committed
rewrite yew.rs website with Yew
1 parent 0dd4d03 commit ba911ce

2,506 files changed

Lines changed: 135118 additions & 619 deletions

File tree

Some content is hidden

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

.github/workflows/build-website.yml

Lines changed: 68 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,20 @@ on:
33
pull_request:
44
branches: [master]
55
paths:
6-
- "website/**"
7-
- "firebase.json"
6+
- "yew-rs/**"
7+
- "website/static/**"
8+
- "tools/website-e2e/**"
9+
- "Cargo.toml"
10+
- "Cargo.lock"
811
- ".github/workflows/*-website.yml"
912
push:
1013
branches: [master]
1114
paths:
12-
- "website/**"
13-
- "firebase.json"
15+
- "yew-rs/**"
16+
- "website/static/**"
17+
- "tools/website-e2e/**"
18+
- "Cargo.toml"
19+
- "Cargo.lock"
1420
- ".github/workflows/*-website.yml"
1521

1622
jobs:
@@ -20,40 +26,36 @@ jobs:
2026
steps:
2127
- uses: actions/checkout@v6
2228

23-
- name: Setup node
24-
uses: actions/setup-node@v6
29+
- name: Setup toolchain
30+
uses: dtolnay/rust-toolchain@master
2531
with:
26-
node-version: "lts/Jod"
27-
package-manager-cache: false
32+
toolchain: stable
33+
targets: wasm32-unknown-unknown
2834

29-
- name: Install dependencies
30-
run: |
31-
cd website
32-
npm ci
35+
- uses: Swatinem/rust-cache@v2
36+
with:
37+
save-if: ${{ github.ref == 'refs/heads/master' }}
3338

34-
- name: Run prettier
35-
id: fmt
36-
continue-on-error: true
37-
run: |
38-
cd website
39-
npm run fmt
39+
- name: Install wasm-bindgen-cli
40+
shell: bash
41+
run: ./ci/install-wasm-bindgen-cli.sh
4042

41-
- if: steps.fmt.outcome == 'failure'
42-
run: |
43-
cd website
44-
npm run fmt:write
45-
git diff
46-
exit 1
43+
- name: Get latest wasm-opt version
44+
id: wasm-opt
45+
uses: pozetroninc/github-action-get-latest-release@master
46+
with:
47+
repository: WebAssembly/binaryen
48+
excludes: prerelease, draft
49+
token: ${{ secrets.GITHUB_TOKEN }}
4750

48-
- name: Check Translations
51+
- name: Install wasm-opt
4952
run: |
50-
cd website
51-
npm run check-translations
53+
VERSION="${{ steps.wasm-opt.outputs.release }}"
54+
curl -sL "https://github.com/WebAssembly/binaryen/releases/download/${VERSION}/binaryen-${VERSION}-x86_64-linux.tar.gz" | tar xz
55+
sudo install "binaryen-${VERSION}/bin/wasm-opt" /usr/local/bin/
5256
53-
- name: Build
54-
run: |
55-
cd website
56-
npm run build
57+
- name: Build site
58+
run: cargo run --release -p yew-site-ssg
5759

5860
- name: Upload build artifact
5961
uses: actions/upload-artifact@v7
@@ -75,3 +77,38 @@ jobs:
7577
include-hidden-files: true
7678
path: .PR_INFO
7779
retention-days: 1
80+
81+
e2e:
82+
name: Website E2E Navigation
83+
needs: [build]
84+
runs-on: ubuntu-latest
85+
steps:
86+
- uses: actions/checkout@v6
87+
88+
- name: Setup toolchain
89+
uses: dtolnay/rust-toolchain@master
90+
with:
91+
toolchain: stable
92+
93+
- uses: Swatinem/rust-cache@v2
94+
with:
95+
save-if: false
96+
97+
- name: Download build artifact
98+
uses: actions/download-artifact@v7
99+
with:
100+
name: website
101+
path: website/build/
102+
103+
- uses: browser-actions/setup-geckodriver@latest
104+
with:
105+
token: ${{ secrets.GITHUB_TOKEN }}
106+
107+
- name: Start geckodriver
108+
run: geckodriver --port 4444 &
109+
110+
- name: Run e2e tests
111+
env:
112+
HEADLESS: "1"
113+
WEBDRIVER_URL: "http://localhost:4444"
114+
run: cargo test -p website-e2e -- --test-threads=1

.github/workflows/test-website.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@ on:
66
- ".github/workflows/test-website.yml"
77
- "packages/**/*"
88
- "website/**/*"
9+
- "yew-rs/**/*"
10+
- "tools/doc-test-util/**/*"
11+
- "tools/website-test/**/*"
12+
- "tools/website-test-yew-rs/**/*"
913
push:
1014
branches: [master]
1115

1216
jobs:
1317
website_tests:
14-
name: Tests Website Snippets
18+
name: Test Website Snippets
1519
runs-on: ubuntu-latest
1620
steps:
1721
- uses: actions/checkout@v6
@@ -42,5 +46,8 @@ jobs:
4246

4347
- uses: nanasess/setup-chromedriver@v2
4448

45-
- name: Run website code snippet tests
49+
- name: Run website code snippet tests (MDX)
4650
run: cargo test -p website-test --target wasm32-unknown-unknown
51+
52+
- name: Run website code snippet tests (yew-rs)
53+
run: cargo test -p website-test-yew-rs --target wasm32-unknown-unknown

0 commit comments

Comments
 (0)