base64-cli 0.1.5

A CLI tool for base64
name: Rust

on:
  push:
    branches: [ main ]
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Build
      run: cargo build --verbose

  build-wasm:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true
        target: wasm32-wasi
    - name: Build
      run: cargo build --verbose --target wasm32-wasi

  run:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Run
      run: cargo run encode hello

  run-wasm:
    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true
        target: wasm32-wasi
    - name: Build
      run: cargo build --verbose --target wasm32-wasi
    - run: brew install wasmer
    - run: wasmer run target/wasm32-wasi/debug/base64-cli.wasm encode hello

  format:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - run: cargo fmt --all -- --check

  lint:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/clippy-check@v1
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        args: --all-targets --all-features -- -D clippy::all -D warnings

  test:
    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v3
    - name: Build
      run: cargo build --verbose
    - name: Run tests
      run: cargo test --verbose