Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 22 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,27 @@ permissions:
contents: read

jobs:
library-floor:
name: library floor (ubuntu-latest, go1.24.0)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: '1.24.0'
cache: true
- name: Validate public module minimum Go version
shell: bash
run: go test ./...

check:
name: check (ubuntu-latest)
name: check (ubuntu-latest, go1.26.1)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
go-version: '1.26.1'
cache: true
- name: Install repo tooling
shell: bash
Expand All @@ -33,13 +46,13 @@ jobs:
run: mage check

check-macos:
name: check (macos-latest)
name: check (macos-latest, go1.26.1)
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
go-version: '1.26.1'
cache: true
- name: Install repo tooling
shell: bash
Expand All @@ -53,13 +66,13 @@ jobs:
run: mage check

check-windows:
name: check (windows-latest)
name: check (windows-latest, go1.26.1)
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
go-version: '1.26.1'
cache: true
- name: Normalize checkout line endings
shell: bash
Expand All @@ -78,17 +91,18 @@ jobs:
run: mage check

full-gate:
name: full gate (ubuntu-latest)
name: full gate (ubuntu-latest, go1.26.1)
runs-on: ubuntu-latest
needs:
- library-floor
- check
- check-macos
- check-windows
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
go-version: '1.26.1'
cache: true
- name: Install repo tooling
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
go-version: '1.26.1'
cache: true
- name: Install repo tooling
shell: bash
Expand Down
2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,8 @@ When integrating consumer concepts, keep `autent` generic:
- Prefer package-scoped loops with `mage test-pkg <pkg>` for fast iteration
- Keep at least 70% coverage for packages with substantive executable logic
- Do not add meaningless tests just to force doc-only or marker packages over the coverage threshold
- Keep the public root module compatible with Go `1.24` or newer unless the dependency floor changes
- Treat the contributor-facing `magefiles/` module separately; it currently requires Go `1.26.1` because of `laslig`

For non-trivial changes, use subagents when they help parallelize bounded work.
Subagents are optional, not mandatory, for very small edits.
Expand Down
5 changes: 4 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,18 @@ User-facing docs live in:

## Local Setup

The public `github.com/evanmschultz/autent` module currently targets Go `1.24` or newer.

Required local tools are driven by `magefiles/`.
That contributor automation module currently requires Go `1.26.1` because it depends on `github.com/evanmschultz/laslig` for human-facing task output.
The main local gates are:

```bash
mage check
mage ci
```

Install Mage locally before using the repo targets:
Install Mage locally with a Go `1.26.1` or newer toolchain before using the repo targets:

```bash
go install github.com/magefile/mage@v1.17.0
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,17 @@ No separate package registry setup is required.
The Go module release surface is the SemVer tag itself; GoReleaser additionally publishes GitHub release assets such as the example CLI binary for people who want them.
`pkg.go.dev` will index tagged versions after the module is fetched or discovered publicly, and it will render the root-package docs, exported facade types, and subpackage docs from this repository's public Go API.

## Go Version Support

The public `github.com/evanmschultz/autent` module currently requires Go `1.24` or newer.

Repository contributor automation is a separate concern.
The committed `magefiles/` module currently requires Go `1.26.1` because its human-facing task output depends on `github.com/evanmschultz/laslig`.
That higher tooling floor does not change the minimum Go version for applications that import `autent` as a library.

## Local Commands

Install Mage locally first:
If you are contributing to this repository, install Mage locally with a Go `1.26.1` or newer toolchain first:

```bash
go install github.com/magefile/mage@v1.17.0
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/evanmschultz/autent

go 1.26.1
go 1.24.0

require modernc.org/sqlite v1.46.1

Expand Down