64 lines
1.8 KiB
YAML

name: Build && Deploy
on: [push]
jobs:
build:
name: cargo build
runs-on: ubuntu-latest
steps:
- 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