name: Rust Build on: push: branches: - main pull_request: branches: - main jobs: build-x86_64: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: '18' - name: Install dependencies and build webui run: | cd webui npm install npm run build rustup target add x86_64-pc-windows-msvc - name: Set up Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Build Rust project for x86_64 run: cargo build --release --target x86_64-unknown-linux-gnu - name: Archive production artifacts for x86_64 uses: actions/upload-artifact@v3 with: name: Linux_x86_64 path: target/x86_64-unknown-linux-gnu/release/ew build-aarch64: runs-on: ubuntu-latest strategy: matrix: os: [ubuntu-latest] arch: [aarch64] steps: - name: Checkout code uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: '18' - name: Install dependencies and build webui run: | cd webui npm install npm run build cd .. - name: Set up Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Build Rust project for aarch64 run: cargo build --release - name: Archive production artifacts for aarch64 uses: actions/upload-artifact@v3 with: name: Linux_aarch64 path: target/release/ew build-windows: runs-on: windows-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: '18' - name: Install dependencies and build webui run: | cd webui npm install npm run build cd .. rustup target add x86_64-pc-windows-msvc - name: Set up Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Build Rust project for Windows run: cargo build --release --target x86_64-pc-windows-msvc - name: Archive production artifacts for Windows uses: actions/upload-artifact@v3 with: name: Windows_x86_64 path: target\x86_64-pc-windows-msvc\release\ew.exe