sails-cli 1.0.1

CLI tools the Sails framework
Documentation
name: CI

on:
  push:
    branches: [ {{ git_branch_name }} ]
  pull_request:
    branches: [ {{ git_branch_name }} ]
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    name: Build project
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v6

      - name: Install Rust
        uses: dsherret/rust-toolchain-file@v1

      - name: Install Binaryen
        run: |
          sudo wget -c https://github.com/WebAssembly/binaryen/releases/download/$BINARYEN_VERSION/binaryen-$BINARYEN_VERSION-x86_64-linux.tar.gz -O - | sudo tar -xz -C .
          sudo cp binaryen-$BINARYEN_VERSION/bin/wasm-opt /usr/bin/
        env:
          BINARYEN_VERSION: version_130

      - name: Cargo cache
        uses: Swatinem/rust-cache@v2

      - name: Cargo fmt
        run: cargo fmt -- --check

      - name: Cargo clippy
        run: cargo clippy --release --all-targets -- -D warnings

      - name: Cargo build
        run: cargo build --release

      - name: Cargo test
        run: cargo test --release

      - name: Check client files
        run: |
          CLIENT_RS_FILE="client/src/{{ client_file_name }}.rs"
          test -f $CLIENT_RS_FILE && git diff --exit-code $CLIENT_RS_FILE || (echo "$CLIENT_RS_FILE missing or modified" && exit 1)
          CLIENT_IDL_FILE="client/{{ client_file_name }}.idl"
          test -f $CLIENT_IDL_FILE && git diff --exit-code $CLIENT_IDL_FILE || (echo "$CLIENT_IDL_FILE missing or modified" && exit 1)
{{- "\n" -}}