39 lines
1.1 KiB
YAML
39 lines
1.1 KiB
YAML
name: Shuttle.rs
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
tags:
|
|
- "v*.*.*"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
name: Build / Deploy
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Checkout the repository
|
|
uses: actions/checkout@v4
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
profile: minimal
|
|
override: true
|
|
- name: Install cargo-binstall
|
|
uses: taiki-e/install-action@cargo-binstall
|
|
- name: Install cargo-shuttle
|
|
run: cargo binstall -y cargo-shuttle
|
|
- name: Prepare for deployment
|
|
shell: bash
|
|
run: sed -i 's|default = \["rustls"\]|default = \["rustls", "shuttle"\]|g' Cargo.toml
|
|
- name: Build
|
|
run: cargo build --locked --verbose
|
|
- name: Deploy
|
|
if: ${{ startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch' }}
|
|
run: |
|
|
cargo shuttle login --api-key ${{ secrets.SHUTTLE_TOKEN }}
|
|
cargo shuttle project restart
|
|
cargo shuttle deploy --allow-dirty --no-test
|