name: Build && Deploy on: push: branches: - dev jobs: build: name: cargo build runs-on: ubuntu-latest steps: - name: Install clang to compile quickjs-ng run: apt update && apt install -y libclang-dev - name: Restore cached toolchain id: cache-toolchain uses: actions/cache/restore@v4 with: path: | ~/.rustup ~/.cargo key: linux-rust-toolchainv2 - name: Install minimal stable with clippy and rustfmt uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable - name: Save cached toolchain id: cache-toolchain-save uses: actions/cache/save@v4 with: path: | ~/.rustup ~/.cargo key: ${{ steps.cache-toolchain.outputs.cache-primary-key }} - uses: actions/checkout@v4 - name: Restore cached cargo dependencies id: cache-project-dependencies uses: actions/cache/restore@v4 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target key: linux-project-dependencies - run: cargo build --release --target x86_64-unknown-linux-gnu - name: Save cached cargo dependencies id: cache-project-dependencies-restore uses: actions/cache/save@v4 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target key: ${{ steps.cache-project-dependencies.outputs.cache-primary-key }} - name: Upload Release Binary id: bot-artifact uses: christopherhx/gitea-upload-artifact@v4 with: name: botrunner path: target/x86_64-unknown-linux-gnu/release/gongbotrs