name: push on: [push, pull_request] jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.18 - name: Check out code into the Go module directory uses: actions/checkout@v2 - name: Download GQL schema run: "npx graphqurl https://api.ficsit.app/v2/query --introspect -H 'content-type: application/json' > schema.graphql" - name: Go Generate run: go generate -tags tools -x ./... - name: Build run: go build -v -o ficsit-cli . env: CGO_ENABLED: 1 lint: name: Lint runs-on: ubuntu-latest steps: - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.18 - name: Check out code into the Go module directory uses: actions/checkout@v2 - name: Download GQL schema run: "npx graphqurl https://api.ficsit.app/v2/query --introspect -H 'content-type: application/json' > schema.graphql" - name: Go Generate run: go generate -tags tools -x ./... - name: golangci-lint uses: golangci/golangci-lint-action@v2 with: skip-pkg-cache: true skip-build-cache: true test: name: Test strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.18 - name: Check out code into the Go module directory uses: actions/checkout@v2 - name: Setup steamcmd uses: CyberAndrii/setup-steamcmd@v1 - name: Install Satisfactory Dedicated Server run: steamcmd +login anonymous +force_install_dir ${{ github.workspace }}/SatisfactoryDedicatedServer +app_update 1690800 validate +quit - name: List directory (linux) if: ${{ matrix.os == 'ubuntu-latest' }} run: ls -lR - name: List directory (windows) if: ${{ matrix.os == 'windows-latest' }} run: tree /F - name: Download GQL schema run: "npx graphqurl https://api.ficsit.app/v2/query --introspect -H 'content-type: application/json' > schema.graphql" - name: Go Generate run: go generate -tags tools -x ./... - name: Test run: go test ./... env: SF_DEDICATED_SERVER: ${{ github.workspace }}/SatisfactoryDedicatedServer