name: WebAssembly

on:
    push:
    pull_request:

jobs:
    test:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2

            - name: Install Go
              uses: actions/setup-go@v2
              with:
                  go-version: 1.16.5

            - uses: actions/cache@v2
              with:
                  path: |
                      ~/.cache/go-build
                      ~/go/pkg/mod
                  key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
                  restore-keys: |
                      ${{ runner.os }}-go-

            - name: Install Node
              uses: actions/setup-node@v2
              with:
                  node-version: 14

            - uses: actions/cache@v2
              with:
                  path: ~/.npm
                  key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
                  restore-keys: |
                      ${{ runner.os }}-node-

            - name: Reconfigure Git to use HTTPS auth for repo packages
              run: >
                  git config --global url."https://github.com/".insteadOf
                  ssh://git@github.com/

            - name: Install test dependencies
              working-directory: ./test/wasm
              run: npm ci

            - name: Test
              run: ./test-dendritejs.sh