Create sample workflows

This commit is contained in:
Natsu Kagami 2020-06-27 21:05:32 -04:00
parent 60360d4f1f
commit b69444b81a
Signed by: nki
GPG key ID: 73376E117CD20735
2 changed files with 90 additions and 0 deletions

49
.github/workflows/build_test.yml vendored Normal file
View file

@ -0,0 +1,49 @@
name: Build and Test
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
jobs:
format_check:
name: Format check
runs_on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt
- name: Run rustfmt
run: cargo fmt -- --check
check_and_test:
name: Lint and Test
runs_on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Check
run: cargo check --verbose
- name: Test
run: cargo test --verbose

41
.github/workflows/deploy.yml vendored Normal file
View file

@ -0,0 +1,41 @@
name: Deploy
on:
push:
branches: [ master ]
jobs:
deploy:
name: Build and Deploy
runs_on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Build release
run: cargo build --release
- name: Upload binary
uses: appleboy/scp-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.PORT }}
source: "target/release/youmubot"
target: "youmubot/youmubot"
- name: Restart youmubot
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.PORT }}
script: systemctl --user restart youmubot