68 lines
2.0 KiB
YAML
68 lines
2.0 KiB
YAML
name: Build && Deploy
|
|
on: [push]
|
|
|
|
jobs:
|
|
build:
|
|
name: cargo build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install Ubuntu deps
|
|
run: apt install libssl-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: actions/upload-artifact@v3
|
|
with:
|
|
name: botrunner
|
|
path: target/x86_64-unknown-linux-gnu/release/gongbotrs
|
|
|
|
- name: Deploy with WebHook
|
|
run: curl http://${{ secrets.SERVER_ADDR }}/hooks/gongbot-deploy?binaryzip='${{ steps.bot-artifact.outputs.artifact-url }}'
|