name: CI on: push: branches: [main, develop] jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup go uses: actions/setup-go@v5 with: go-version-file: 'go.mod' check-latest: true cache: true - name: Install go dependencies run: go mod tidy - name: Lint uses: golangci/golangci-lint-action@v3 with: version: latest test: name: Test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up go uses: actions/setup-go@v5 with: go-version-file: 'go.mod' check-latest: true cache: true - name: Get go dependencies run: | go mod tidy - name: Test run: go test -race -v -shuffle=on ./... build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up go uses: actions/setup-go@v5 with: go-version-file: 'go.mod' check-latest: true cache: true - name: Get go dependencies run: | go mod tidy - name: Build for linux run: | go build -o bin/SteamCache2-${VERSION}-${BUILD}-${GOOS}-${GOARCH}.exe main.go env: VERSION: ${{github.ref_name}} BUILD: ${{github.run_number}} GOOS: linux GOARCH: amd64 - name: Build for windows run: | go build -o bin/SteamCache2-${VERSION}-${BUILD}-${GOOS}-${GOARCH}.exe main.go env: VERSION: ${{github.ref_name}} BUILD: ${{github.run_number}} GOOS: windows GOARCH: amd64 - name: Upload artifact uses: actions/upload-artifact@v3 with: name: SteamCache2-${{github.ref_name}}-${{github.run_number}} path: bin/