name: "Unit and Build Tests"

on:
  push:
  pull_request:
    branches: [ master ]


jobs:
  bundle-up-to-date:
    runs-on: "ubuntu-latest"

    steps:
    - uses: actions/checkout@v3
      with:
        fetch-depth: 0
    - uses: actions/setup-go@v3
      with:
        go-version: 1.19
    - uses: actions/setup-node@v3
      with:
        node-version: 16
    - run: "make clean"
    - run: "make assets"
    - name: "Make sure gotty.js bundle is up-to-date"
      run: "diffsize=$(git diff bindata/static/js/gotty.js |  wc -l); test $diffsize == 0"


  cross-compile-test:
    runs-on: "ubuntu-latest"

    steps:
    - uses: actions/checkout@v3
      with:
        fetch-depth: 0

    - name: Set up Go
      uses: actions/setup-go@v3
      with:
        go-version: 1.19

    - name: "Build & test"
      run: "make tools test cross_compile"

    - name: Upload artifacts
      uses: actions/upload-artifact@v3
      with:
        name: binaries
        path: builds/pkg/*/gotty