name: CI on: push: branches: [master, develop] jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: test log run: env | sort - name: Setup go uses: actions/setup-go@v5 with: go-version-file: 'go.mod' check-latest: true cache: true - name: Setup OS dependencies run: | apt-get update apt-get install -y gcc-mingw-w64 gcc libgl1-mesa-dev xorg-dev - 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: Setup OS dependencies run: | apt-get update apt-get install -y gcc-mingw-w64 gcc libgl1-mesa-dev xorg-dev - name: Get fyne command run: | go install fyne.io/fyne/v2/cmd/fyne@latest - 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: Setup OS dependencies run: | apt-get update apt-get install -y gcc-mingw-w64 gcc libgl1-mesa-dev xorg-dev - name: Get fyne command run: | go install fyne.io/fyne/v2/cmd/fyne@latest - name: Get go dependencies run: | go mod tidy - name: Build for linux run: | fyne build --os=${GOOS} --metadata BuildVersion=${VERSION} --metadata BuildNumber=${BUILD} -o bin/swiped-mod-switcher-${VERSION}-${BUILD}-${GOOS}-${GOARCH} ls bin env: VERSION: ${{github.ref_name}} BUILD: ${{github.run_number}} GOOS: linux GOARCH: amd64 CGO_ENABLED: 1 CC: gcc - name: Build for windows run: | fyne build --os=${GOOS} --metadata BuildVersion=${VERSION} --metadata BuildNumber=${BUILD} -o bin/swiped-mod-switcher-${VERSION}-${BUILD}-${GOOS}-${GOARCH}.exe ls bin env: VERSION: ${{github.ref_name}} BUILD: ${{github.run_number}} GOOS: windows GOARCH: amd64 CGO_ENABLED: 1 CC: x86_64-w64-mingw32-gcc - name: Upload artifact uses: actions/upload-artifact@v3 with: name: swiped-mod-switcher-${{github.ref_name}}-${{github.run_number}} path: bin/