Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
609a1a0
update .gitignore and CLAUDE.md
l-hellmann May 13, 2026
9f968f4
chore(lint): bump golangci-lint to v2.1.6 and migrate config
l-hellmann May 15, 2026
0c91ba7
feat(release): introduce goreleaser for release pipeline
l-hellmann May 15, 2026
fee1917
ci: restructure workflows around split jobs and goreleaser
l-hellmann May 15, 2026
33e62c5
chore(make): self-documenting help and grouped target sections
l-hellmann May 15, 2026
408aafc
chore: bump go to 1.26
l-hellmann May 15, 2026
595371d
ci: stop calling tools/install.sh in workflows
l-hellmann May 15, 2026
05df7e7
chore: port tools/install.sh into Makefile, drop gomodrun
l-hellmann May 15, 2026
0166a77
chore(lint): bump golangci-lint to v2.12.0
l-hellmann May 15, 2026
b408ed0
chore(lint): silence v2-surfaced noise, fix small findings
l-hellmann May 15, 2026
f7bd38e
chore(lint): drop irrelevant linters, clean stale nolint directives
l-hellmann May 15, 2026
aa43d75
chore(release): bump goreleaser to v2.15.4
l-hellmann May 15, 2026
8a783a3
chore: port tools/build.sh into Makefile, add build-dev
l-hellmann May 15, 2026
bd39eaf
feat(make): add install and install-dev targets
l-hellmann May 15, 2026
d600891
feat(make): install zcli to ~/.local/bin to match install.sh
l-hellmann May 15, 2026
bd8ea19
docs(readme): add Development setup section
l-hellmann May 15, 2026
25768a1
ci: bump GitHub Actions to latest majors
l-hellmann May 15, 2026
1d0dcf5
ci: run integration tests in main pipeline
l-hellmann May 20, 2026
c5b8b19
chore(lint): use assert.Empty for empty-string check
l-hellmann May 20, 2026
96e39ea
ci: remove upx packer from release pipeline
l-hellmann May 20, 2026
58a19cd
ci: install deb binary as /usr/local/bin/zcli
l-hellmann May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .claude/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
94 changes: 65 additions & 29 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Main
name: main

on:
push:
Expand All @@ -8,69 +8,105 @@ on:
branches:
- '*'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

jobs:
test:
name: test
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"

- name: test
run: go test -v ./cmd/... ./src/...

integration:
name: integration
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"

- name: test-integration
run: go test -v -tags devel ./src/cmd/...

lint:
name: lint
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"

- uses: golangci/golangci-lint-action@v9
with:
version: v2.12.0
args: --verbose ./cmd/... ./src/...

build:
name: build && tests for ${{ matrix.name }}
name: build ${{ matrix.name }}
runs-on: ubuntu-22.04
timeout-minutes: 10
env:
CGO_ENABLED: '0'
strategy:
fail-fast: false
matrix:
include:
- name: linux amd64
env:
GOOS: linux
GOARCH: amd64
runTests: true
deb_arch: amd64

- name: linux 386
env:
GOOS: linux
GOARCH: 386
runTests: false
deb_arch: i386

- name: darwin amd64
env:
GOOS: darwin
GOARCH: amd64
runTests: true

- name: darwin arm64
env:
GOOS: darwin
GOARCH: arm64
runTests: false

- name: windows amd64
env:
GOOS: windows
GOARCH: amd64
runTests: true

steps:
- name: check out code into the Go module directory
uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: set up Go 1.x
uses: actions/setup-go@v5
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
id: go

- name: get dependencies
run: |
export GOPATH=$HOME/go
./tools/install.sh

- name: build
env: ${{ matrix.env }}
run: go build -v ./cmd/... ./src/...

- name: test
if: ${{ matrix.runTests }}
run: env ${{ matrix.osEnv }} go test -v ./cmd/... ./src/...

- name: lint
run: env ${{ matrix.osEnv }} gomodrun golangci-lint run ./cmd/... ./src/... --verbose
goreleaser-check:
name: goreleaser check
runs-on: ubuntu-22.04
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- uses: goreleaser/goreleaser-action@v7
with:
distribution: goreleaser
version: v2.15.4
args: check
80 changes: 0 additions & 80 deletions .github/workflows/pre-release.yml

This file was deleted.

Loading