name: CI on: push: branches: [main, master] pull_request: branches: [main, master] jobs: check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust toolchain run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable echo "$HOME/.cargo/bin" >> $GITHUB_PATH - name: Install Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install Rust target run: rustup target add wasm32-unknown-unknown - name: Install Dioxus CLI run: cargo install dioxus-cli --locked - name: Install Tailwind CSS CLI run: npm install -g tailwindcss - name: Check formatting run: cargo fmt -- --check - name: Run Clippy run: cargo clippy --all-targets --all-features -- -D warnings - name: Run tests run: cargo test --all-features - name: Dioxus check run: dx check build: runs-on: ubuntu-latest needs: check steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust toolchain run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable echo "$HOME/.cargo/bin" >> $GITHUB_PATH - name: Install Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install Rust target run: rustup target add wasm32-unknown-unknown - name: Install Dioxus CLI run: cargo install dioxus-cli --locked - name: Install Tailwind CSS CLI run: npm install -g tailwindcss - name: Build release run: make build