83 lines
1.8 KiB
YAML
83 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@master
|
|
|
|
- name: Install latest stable Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
default: true
|
|
override: true
|
|
|
|
- name: Install minimal stable with clippy and rustfmt
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
components: rustfmt, clippy
|
|
|
|
- name: Run rustfmt
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: fmt
|
|
args: -- --check
|
|
|
|
- name: Run clippy
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: clippy
|
|
|
|
- name: Run test
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: test
|
|
args: --all-features
|
|
|
|
build-wasm:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Install
|
|
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
|
|
|
|
- name: Build
|
|
run: wasm-pack build -t web -d ./wasm/dist --out-name orgize ./wasm/
|
|
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: page
|
|
path: ./wasm
|
|
if-no-files-found: error
|
|
|
|
deploy:
|
|
if: github.ref == 'refs/heads/v0.10'
|
|
runs-on: ubuntu-latest
|
|
needs: build-wasm
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
|
|
steps:
|
|
- uses: actions/download-artifact@master
|
|
with:
|
|
name: page
|
|
path: .
|
|
|
|
- uses: actions/configure-pages@v1
|
|
|
|
- uses: actions/upload-pages-artifact@v1
|
|
with:
|
|
path: .
|
|
|
|
- id: deployment
|
|
uses: actions/deploy-pages@main
|