atuin/.github/workflows/rust.yml

110 lines
2.3 KiB
YAML
Raw Normal View History

2021-02-14 08:39:51 -07:00
name: Rust
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
2021-02-14 08:51:14 -07:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install rust
2021-02-14 08:51:14 -07:00
uses: actions-rs/toolchain@v1
with:
toolchain: stable
2021-02-14 08:51:14 -07:00
override: true
2021-02-14 08:39:51 -07:00
2021-02-14 08:51:14 -07:00
- name: Run cargo build
run: cargo build --all --release && strip target/release/atuin && mv target/release/atuin target/release/atuin_linux
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
target/release/atuin_linux
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2021-02-14 08:51:14 -07:00
test:
2021-02-14 08:39:51 -07:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
2021-02-14 08:51:14 -07:00
- name: Install rust
2021-02-14 08:51:14 -07:00
uses: actions-rs/toolchain@v1
with:
toolchain: stable
2021-02-14 08:51:14 -07:00
override: true
- name: Run cargo test
run: cargo test --workspace
2021-02-14 08:51:14 -07:00
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install latest rust
2021-02-14 08:51:14 -07:00
uses: actions-rs/toolchain@v1
with:
toolchain: stable
2021-02-14 08:51:14 -07:00
override: true
2021-02-14 08:56:49 -07:00
components: clippy
2021-02-14 08:51:14 -07:00
2021-02-14 08:55:30 -07:00
- name: Run clippy
2021-02-14 11:16:53 -07:00
run: cargo clippy -- -D warnings
2021-02-14 08:55:30 -07:00
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install latest rust
2021-02-14 08:55:30 -07:00
uses: actions-rs/toolchain@v1
with:
toolchain: stable
2021-02-14 08:55:30 -07:00
override: true
components: rustfmt
- name: Format
run: cargo fmt -- --check
build-mac:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-apple-darwin
default: true
override: true
- name: Build for mac
run: cargo build --all --release && strip target/release/atuin && mv target/release/atuin target/release/atuin_darwin
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
target/release/atuin_darwin
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}