diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..cbb54c7 --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,67 @@ +name: Build && Deploy +on: + push: + branches: + - main + +jobs: + build: + name: cargo build + runs-on: ubuntu-latest + steps: + - name: Install clang to compile quickjs-ng + run: 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