name: Continuous Integration on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - uses: actions/setup-node@master with: node-version: 12 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Cache cargo registry uses: actions/cache@v1 with: path: ~/.cargo/registry key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} - name: Cache cargo index uses: actions/cache@v1 with: path: ~/.cargo/git key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} - name: Cache cargo build uses: actions/cache@v1 with: path: target key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }} - name: install deps run: | sudo add-apt-repository ppa:libreoffice/ppa sudo apt-get update sudo apt-get install libreoffice npm i -g reg-cli cd vrt && yarn --frozen-lockfile && cd ../ - name: test run: make test -B # && make vrt -B - uses: actions/upload-artifact@master with: name: vrt path: vrt/screenshot build: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Cache cargo registry uses: actions/cache@v1 with: path: ~/.cargo/registry key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} - name: Cache cargo index uses: actions/cache@v1 with: path: ~/.cargo/git key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} - run: cargo build build-wasm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@master with: node-version: 12 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - run: rustup target add wasm32-unknown-unknown - run: cd docx-wasm && yarn install && yarn wasm-pack:node && yarn wasm-pack:dev && tsc -p tsconfig.node.json && yarn test lint: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - run: rustup component add clippy - uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings