name: Quality on: push: branches: - main pull_request: permissions: contents: read jobs: linter: name: golangci-lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.25' - name: golangci-lint uses: golangci/golangci-lint-action@v8 with: version: v2.5.0 skip-cache: true build: name: Build strategy: matrix: os: [ubuntu-latest, macos-latest] include: - os: ubuntu-latest artifact_name: bbrew-linux-amd64 - os: macos-latest artifact_name: bbrew-darwin-arm64 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.25' - name: Get dependencies run: go mod download - name: Build run: go build -v ./... - name: Build binary for testing run: | go build -o bbrew ./cmd/bbrew chmod +x bbrew - name: Upload artifact uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact_name }} path: bbrew retention-days: 7