Skip to content

feat: allow more flexibility for use as a library #270

feat: allow more flexibility for use as a library

feat: allow more flexibility for use as a library #270

Workflow file for this run

name: Build & Test
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
jobs:
test:
name: test
runs-on: ${{matrix.os}}
strategy:
matrix:
build: [linux, macos]
include:
- build: linux
os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-musl
- build: macos
os: macos-latest
rust: stable
target: x86_64-apple-darwin
steps:
- name: Install dependencies (for Linux)
run: |
sudo apt-get install zsh
python3 -V
tmux -V
locale
if: runner.os == 'Linux'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
- name: Install dependencies (for MacOS)
run: |
brew install tmux
brew install zsh
python3 -V
tmux -V
locale
if: runner.os == 'macOS'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Install correct toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
target: ${{ matrix.target }}
override: true
- name: Build
run: cargo build --release
- name: Run Tests
run: tmux new-session -d && python3 test/test_skim.py --verbose
env:
LC_ALL: en_US.UTF-8
TERM: xterm-256color
- name: Cache
uses: Swatinem/rust-cache@v1
clippy:
name: clippy
runs-on: ${{matrix.os}}
strategy:
matrix:
build: [linux, macos]
include:
- build: linux
os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-musl
- build: macos
os: macos-latest
rust: stable
target: x86_64-apple-darwin
steps:
- name: Install dependencies (for Linux)
run: |
sudo apt-get install zsh
python3 -V
tmux -V
locale
if: runner.os == 'Linux'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
- name: Install dependencies (for MacOS)
run: |
brew install tmux
brew install zsh
python3 -V
tmux -V
locale
if: runner.os == 'macOS'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Install correct toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
target: ${{ matrix.target }}
override: true
components: clippy
- name: Clippy
run: cargo clippy
- name: Cache
uses: Swatinem/rust-cache@v1
rustfmt:
name: rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
profile: minimal
components: rustfmt
- name: Check formatting
run: |
cargo fmt --all -- --check