on:
push:
branches:
- master
pull_request:
- master
tags:
- "v*"
- "*prerelease"
name: Release
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: target/
key: ${{ runner.os }}-${{ hashFiles('Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: build
args: --release
- uses: actions/upload-artifact@v2
with:
name: oursh
path: target/release/oursh
bench:
runs-on: ubuntu-latest
needs: build
steps:
- run: sudo apt-get install gnuplot zsh fish
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: target/
key: ${{ runner.os }}-${{ hashFiles('Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: bench
- uses: actions/upload-artifact@v2
with:
name: oursh
path: |
target/criterion/**/*.html
target/criterion/**/*.svg
doc:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: target/
key: ${{ runner.os }}-${{ hashFiles('Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: doc
- uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: target/doc