name: Rust on: push: branches: [ main ] pull_request: branches: [ main ] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - 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 }} test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Run cargo test run: cargo test --workspace clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install latest rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true components: clippy - name: Run clippy run: cargo clippy -- -D warnings format: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install latest rust uses: actions-rs/toolchain@v1 with: toolchain: stable 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 }}