name: Go CI on: push: branches: - "**" paths: - "core/**" - ".github/workflows/go-ci.yml" pull_request: branches: [master, main, "stable-*"] paths: - "core/**" - ".github/workflows/go-ci.yml" concurrency: group: go-ci-${{ github.ref }} cancel-in-progress: true jobs: lint-and-test: runs-on: ubuntu-latest defaults: run: working-directory: core steps: - name: Checkout uses: actions/checkout@v6 with: submodules: recursive - name: Install flatpak run: sudo apt update && sudo apt install -y flatpak - name: Add flathub run: sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo - name: Add a flatpak that mutagen could support run: sudo flatpak install -y org.freedesktop.Platform/x86_64/24.08 app.zen_browser.zen - name: Set up Go uses: actions/setup-go@v6 with: go-version-file: ./core/go.mod - name: Test run: go test -v ./... - name: Build dms run: go build -v ./cmd/dms - name: Build dms (embedded shell) run: make build - name: Build dms (distropkg) run: go build -v -tags 'distro_binary withshell' ./cmd/dms - name: Build dankinstall run: go build -v ./cmd/dankinstall