name: Steam

on: [push, pull_request]

jobs:
  test:
    name: Test with Steam Runtime
    runs-on: ubuntu-latest
    env:
      DISPLAY: ':99.0'
      GO_VERSION: '1.18'
    defaults:
      run:
        shell: bash
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Docker build (386)
        run: |
          curl --location --remote-name https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-public-beta/com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.Dockerfile
          curl --location --remote-name https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-public-beta/com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.tar.gz
          docker build -f com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.Dockerfile -t steamrt_scout_i386:latest .

      - name: Docker build (amd64)
        run: |
          curl --location --remote-name https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-public-beta/com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-sysroot.Dockerfile
          curl --location --remote-name https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-public-beta/com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-sysroot.tar.gz
          docker build -f com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-sysroot.Dockerfile -t steamrt_scout_amd64:latest .

      - name: Docker run (386)
        run: |
          docker run --rm --workdir=/work --volume $(pwd):/work --env GO_FILENAME=go${GO_VERSION}.linux-386.tar.gz steamrt_scout_i386:latest /bin/sh .github/workflows/steam.sh

      - name: Docker run (amd64)
        run: |
          docker run --rm --workdir=/work --volume $(pwd):/work --env GO_FILENAME=go${GO_VERSION}.linux-amd64.tar.gz steamrt_scout_amd64:latest /bin/sh .github/workflows/steam.sh