name: Steam

on:
  pull_request:
  push:
    branches:
      - main

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

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

      - name: Go version
        id: go
        run: |
          echo "version=$(curl --location https://go.dev/VERSION?m=text | head -n 1)" >> $GITHUB_OUTPUT

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