name: Cargo run-name: ${{ gitea.actor }} is verifying cargo build and tests on: [push] jobs: build: env: RUNNER_TOOL_CACHE: /toolcache runs-on: rust-latest steps: - name: Check out repository code uses: actions/checkout@v4 - name: Cache uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git target key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} ${{ runner.os }}-cargo- - name: Build release project uses: actions-rs/cargo@v1 with: command: build args: --locked check: needs: build runs-on: rust-latest steps: - name: Check out repository code uses: actions/checkout@v4 - name: Cache uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git target key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} ${{ runner.os }}-cargo- - name: Run clippy uses: actions-rs/cargo@v1 with: command: clippy args: -p nuchat --no-deps -- -Dwarnings -Wclippy::correctness -Wclippy::complexity -Wclippy::perf -Aclippy::missing_errors_doc -Aclippy::missing_panics_doc ui: runs-on: js-latest steps: - name: Debug run: | node --version npm --version nvm install 24 nvm use 24 node --version npm --version - name: Build run: make -f=./ui/Makefile dist test: needs: [build, ui] runs-on: rust-latest steps: - name: Check out repository code uses: actions/checkout@v4 - name: Cache uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git target key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} ${{ runner.os }}-cargo- - name: Run tests uses: actions-rs/cargo@v1 with: command: test