diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6fe6162..ebb498a7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,14 +30,14 @@ jobs: - name: Lint uses: golangci/golangci-lint-action@v9.3.0 with: - version: v2.12.2 + version: v2.13.2 - name: Install analyzers run: | - go install honnef.co/go/tools/cmd/staticcheck@v0.7.0 + go install honnef.co/go/tools/cmd/staticcheck@v0.8.1 go install mvdan.cc/gofumpt@v0.11.0 - go install github.com/securego/gosec/v2/cmd/gosec@v2.28.0 - go install golang.org/x/tools/cmd/deadcode@v0.48.0 + go install github.com/securego/gosec/v2/cmd/gosec@v2.29.0 + go install golang.org/x/tools/cmd/deadcode@v0.49.0 - name: Vet run: go vet ./... @@ -140,7 +140,7 @@ jobs: git diff --exit-code -- go.mod go.sum - name: Install govulncheck - run: go install golang.org/x/vuln/cmd/govulncheck@v1.6.0 + run: go install golang.org/x/vuln/cmd/govulncheck@v1.7.0 - name: Run govulncheck run: '"$(go env GOPATH)/bin/govulncheck" ./...' diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index dedd3b27..3da42183 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -29,9 +29,9 @@ jobs: cache: true - name: Initialize CodeQL - uses: github/codeql-action/init@v4.37.7 + uses: github/codeql-action/init@v4.37.9 with: languages: go - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4.37.7 + uses: github/codeql-action/analyze@v4.37.9 diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 1a207519..52161e58 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -35,7 +35,7 @@ jobs: - name: Set up Node uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: 24 + node-version: 26 - name: Build site run: node scripts/build-docs-site.mjs diff --git a/.github/workflows/secret-scan.yml b/.github/workflows/secret-scan.yml index 118f1108..7dafbb4c 100644 --- a/.github/workflows/secret-scan.yml +++ b/.github/workflows/secret-scan.yml @@ -59,7 +59,7 @@ jobs: - name: TruffleHog OSS id: trufflehog - uses: trufflesecurity/trufflehog@v3.97.0 + uses: trufflesecurity/trufflehog@v3.97.1 with: path: ./ base: ${{ steps.scan_range.outputs.base }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 96821a40..a80d239d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Maintenance + +- Require Go 1.27.0, refresh SQLite and terminal dependencies, and update container, analyzer, security-scan, and docs-build tooling. + ## v0.13.3 - 2026-08-17 ### Fixes diff --git a/Dockerfile b/Dockerfile index 51ecdfa8..91a2a781 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ -# syntax=docker/dockerfile:1.7 +# syntax=docker/dockerfile:1@sha256:ecfaec9ed6d810b56388c508f4121597bfbba70d41a6dfeee4d8cad5f295fc32 -ARG GO_VERSION=1.26.6 -ARG GO_IMAGE_DIGEST=sha256:af8d6740070b8906d12eae1c3e3ea0957fb63f492051ea05e354c38ef9fe88df +ARG GO_VERSION=1.27.0 +ARG GO_IMAGE_DIGEST=sha256:4c9fe60190a2a3350ddc51de80d0224b8a6698d12bdfc999fee45ea9d6c46dbc ARG ALPINE_VERSION=3.24 FROM golang:${GO_VERSION}-alpine@${GO_IMAGE_DIGEST} AS build diff --git a/Makefile b/Makefile index 29161431..aaf584d6 100644 --- a/Makefile +++ b/Makefile @@ -54,13 +54,13 @@ fmt: if [ -n "$$changed" ]; then printf 'gofumpt wants changes in:\n%s\n' "$$changed"; exit 1; fi lint: - GOWORK=off go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.12.2 run + GOWORK=off go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.13.2 run GOWORK=off go vet ./... - GOWORK=off go run honnef.co/go/tools/cmd/staticcheck@v0.7.0 ./... - GOWORK=off go run github.com/securego/gosec/v2/cmd/gosec@v2.28.0 -exclude=G101,G115,G202,G301,G304 ./... - GOWORK=off go run golang.org/x/vuln/cmd/govulncheck@v1.6.0 ./... + GOWORK=off go run honnef.co/go/tools/cmd/staticcheck@v0.8.1 ./... + GOWORK=off go run github.com/securego/gosec/v2/cmd/gosec@v2.29.0 -exclude=G101,G115,G202,G301,G304 ./... + GOWORK=off go run golang.org/x/vuln/cmd/govulncheck@v1.7.0 ./... @output_file="$$(mktemp)"; trap 'rm -f "$$output_file"' EXIT; \ - GOWORK=off go run golang.org/x/tools/cmd/deadcode@v0.48.0 -test ./... >"$$output_file"; \ + GOWORK=off go run golang.org/x/tools/cmd/deadcode@v0.49.0 -test ./... >"$$output_file"; \ if [ -s "$$output_file" ]; then cat "$$output_file"; exit 1; fi tidy-check: diff --git a/README.md b/README.md index 1837d5cf..b314a7c1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![CI](https://img.shields.io/github/actions/workflow/status/openclaw/discrawl/ci.yml?branch=main&style=flat-square&label=ci)](https://github.com/openclaw/discrawl/actions/workflows/ci.yml) [![GitHub release](https://img.shields.io/github/v/release/openclaw/discrawl?style=flat-square)](https://github.com/openclaw/discrawl/releases/latest) -[![Go](https://img.shields.io/badge/Go-1.26.6%2B-00ADD8?style=flat-square&logo=go&logoColor=white)](https://go.dev/) +[![Go](https://img.shields.io/badge/Go-1.27.0%2B-00ADD8?style=flat-square&logo=go&logoColor=white)](https://go.dev/) [![License](https://img.shields.io/github/license/openclaw/discrawl?style=flat-square)](LICENSE) [![Homebrew](https://img.shields.io/badge/Homebrew-openclaw%2Ftap-FBB040?style=flat-square&logo=homebrew&logoColor=black)](https://github.com/openclaw/homebrew-tap/blob/main/Formula/discrawl.rb) [![Docs](https://img.shields.io/badge/docs-discrawl.sh-4C78A8?style=flat-square)](https://discrawl.sh/) @@ -22,7 +22,7 @@ discrawl --version Windows binaries and signed archives for all supported platforms are available from [GitHub Releases](https://github.com/openclaw/discrawl/releases/latest). -To build from source, install Go 1.26.6 or newer: +To build from source, install Go 1.27.0 or newer: ```bash git clone https://github.com/openclaw/discrawl.git diff --git a/cmd/discrawl/main_test.go b/cmd/discrawl/main_test.go index ccf86540..1f56e6e7 100644 --- a/cmd/discrawl/main_test.go +++ b/cmd/discrawl/main_test.go @@ -38,8 +38,7 @@ func TestMainHelpAndVersion(t *testing.T) { cmd := exec.CommandContext(t.Context(), exe, "-test.run=TestMainHelpAndVersion") cmd.Env = append(os.Environ(), "DISCRAWL_MAIN_ERROR=1") err = cmd.Run() - var exitErr *exec.ExitError - if errors.As(err, &exitErr) { + if exitErr, ok := errors.AsType[*exec.ExitError](err); ok { if exitErr.ExitCode() == 2 { return } diff --git a/docs/install.md b/docs/install.md index 73f48f53..33133a29 100644 --- a/docs/install.md +++ b/docs/install.md @@ -25,7 +25,7 @@ and non-TTY runs skip the passive notice. Set `DISCRAWL_NO_UPDATE_CHECK=1` or ## From source -Requires Go `1.26+`. +Requires Go `1.27.0+`. ```bash git clone https://github.com/openclaw/discrawl.git diff --git a/go.mod b/go.mod index ac0089c1..28b77a53 100644 --- a/go.mod +++ b/go.mod @@ -1,34 +1,29 @@ module github.com/openclaw/discrawl -go 1.26.6 +go 1.27.0 require ( github.com/alecthomas/kong v1.16.1 github.com/bwmarrin/discordgo v0.29.0 github.com/gorilla/websocket v1.5.3 + github.com/openclaw/crawlkit v0.14.7 github.com/stretchr/testify v1.12.1 github.com/zalando/go-keyring v0.2.8 golang.org/x/sys v0.47.0 golang.org/x/text v0.41.0 ) -require ( - github.com/charmbracelet/bubbles v1.0.0 // indirect - github.com/clipperhouse/displaywidth v0.11.0 // indirect - github.com/clipperhouse/uax29/v2 v2.7.0 // indirect - github.com/pelletier/go-toml/v2 v2.4.3 // indirect - go.yaml.in/yaml/v3 v3.0.5 // indirect - modernc.org/sqlite v1.56.0 // indirect -) - require ( github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/charmbracelet/bubbles v1.0.0 // indirect github.com/charmbracelet/bubbletea v1.3.10 // indirect github.com/charmbracelet/colorprofile v0.4.3 // indirect github.com/charmbracelet/lipgloss v1.1.0 // indirect - github.com/charmbracelet/x/ansi v0.11.7 // indirect + github.com/charmbracelet/x/ansi v0.11.8 // indirect github.com/charmbracelet/x/cellbuf v0.0.15 // indirect github.com/charmbracelet/x/term v0.2.2 // indirect + github.com/clipperhouse/displaywidth v0.11.0 // indirect + github.com/clipperhouse/uax29/v2 v2.7.0 // indirect github.com/danieljoos/wincred v1.2.3 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect @@ -37,17 +32,19 @@ require ( github.com/lucasb-eyer/go-colorful v1.4.1 // indirect github.com/mattn/go-isatty v0.0.24 // indirect github.com/mattn/go-localereader v0.0.1 // indirect - github.com/mattn/go-runewidth v0.0.27 // indirect + github.com/mattn/go-runewidth v0.0.28 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect github.com/muesli/termenv v0.16.0 // indirect github.com/ncruces/go-strftime v1.0.0 // indirect - github.com/openclaw/crawlkit v0.14.7 + github.com/pelletier/go-toml/v2 v2.4.3 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/rivo/uniseg v0.4.7 // indirect - github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect - golang.org/x/crypto v0.54.0 // indirect - modernc.org/libc v1.75.3 // indirect + github.com/xo/terminfo v1.0.0 // indirect + go.yaml.in/yaml/v3 v3.0.5 // indirect + golang.org/x/crypto v0.55.0 // indirect + modernc.org/libc v1.75.6 // indirect modernc.org/mathutil v1.7.1 // indirect - modernc.org/memory v1.12.0 // indirect + modernc.org/memory v1.12.1 // indirect + modernc.org/sqlite v1.57.0 // indirect ) diff --git a/go.sum b/go.sum index 81986b59..3f918854 100644 --- a/go.sum +++ b/go.sum @@ -16,8 +16,8 @@ github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q= github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY= github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= -github.com/charmbracelet/x/ansi v0.11.7 h1:kzv1kJvjg2S3r9KHo8hDdHFQLEqn4RBCb39dAYC84jI= -github.com/charmbracelet/x/ansi v0.11.7/go.mod h1:9qGpnAVYz+8ACONkZBUWPtL7lulP9No6p1epAihUZwQ= +github.com/charmbracelet/x/ansi v0.11.8 h1:JMFwp0CgDC2+jcOB162HH5k7I3FVbgFSMMYg7dSPBQQ= +github.com/charmbracelet/x/ansi v0.11.8/go.mod h1:ZNN+3mXny/516oTQPLMPIBeSINvNJJQ8uQXDgbeJxY0= github.com/charmbracelet/x/cellbuf v0.0.15 h1:ur3pZy0o6z/R7EylET877CBxaiE1Sp1GMxoFPAIztPI= github.com/charmbracelet/x/cellbuf v0.0.15/go.mod h1:J1YVbR7MUuEGIFPCaaZ96KDl5NoS0DAWkskup+mOY+Q= github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk= @@ -51,8 +51,8 @@ github.com/mattn/go-isatty v0.0.24 h1:tGZZoVgT/KiqK1c8ocVLeDS8BSWMRd47J3Lbz7vsRe github.com/mattn/go-isatty v0.0.24/go.mod h1:nMCL3Zebbrt45jsMDgnfIwz6ydEQApk5oEI3HqDio6A= github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= -github.com/mattn/go-runewidth v0.0.27 h1:Feg/Oou5zI/wnpgDF6omIU0OokC9GxLC/WRknhVlIR0= -github.com/mattn/go-runewidth v0.0.27/go.mod h1:3qAiGCV4Koz/yuveO58qUefmUTRm8r0IGEXZ9jeHp/8= +github.com/mattn/go-runewidth v0.0.28 h1:rPyg2ybwEKPebvpzVWe1gKBkH8EQFkxO4Y0hjBeLaBU= +github.com/mattn/go-runewidth v0.0.28/go.mod h1:3qAiGCV4Koz/yuveO58qUefmUTRm8r0IGEXZ9jeHp/8= github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= @@ -73,15 +73,15 @@ github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4= github.com/stretchr/objx v0.5.3/go.mod h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0= github.com/stretchr/testify v1.12.1 h1:EuwCh5fleGS7H32xRwO3wRGT7DxrDhLAT6FF8MpWDWE= github.com/stretchr/testify v1.12.1/go.mod h1:MDEgiDPPsNp5cuIrHPPCyornHKgEVbtFUmoNlxoYthg= -github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= -github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= +github.com/xo/terminfo v1.0.0 h1:2ZpYzqWzyyytjk3TP6aJVDhkMAkc99/1xKQdA3TDTBY= +github.com/xo/terminfo v1.0.0/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= github.com/zalando/go-keyring v0.2.8 h1:6sD/Ucpl7jNq10rM2pgqTs0sZ9V3qMrqfIIy5YPccHs= github.com/zalando/go-keyring v0.2.8/go.mod h1:tsMo+VpRq5NGyKfxoBVjCuMrG47yj8cmakZDO5QGii0= go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw= go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= -golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= +golang.org/x/crypto v0.55.0 h1:+KWHjbgOaAQ66dh/YlkZKHlz9ZUlq61AFirAR9ntP8M= +golang.org/x/crypto v0.55.0/go.mod h1:uq0V9dE/fzQuJtbnL+2EhWOE63vo164FY8xqEnV9xis= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= @@ -112,18 +112,18 @@ modernc.org/gc/v3 v3.1.5 h1:21ldfPfRYE31Tb7B3mwAK8gy1AxP4+dKjrOQPfqakoc= modernc.org/gc/v3 v3.1.5/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY= modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks= modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI= -modernc.org/libc v1.75.3 h1:vCqT5+R0jPXMnvMkGo0T2zXvFNth+lYXVCx5X7CCX/g= -modernc.org/libc v1.75.3/go.mod h1:MjAX68G+0oufI+hNuh0QXcK+Ap+sL8bNPPcIC6EqOfo= +modernc.org/libc v1.75.6 h1:yKk8qo+Di4gkmvRboK8ocCqH22FiUCR6jRy2OwtCRus= +modernc.org/libc v1.75.6/go.mod h1:bO5o2ztHxBb2rjz0PgdHN0sSMw57CgxGFLZ3Qd/QpVQ= modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= -modernc.org/memory v1.12.0 h1:twkmYNkGXCvtYWzoux02jtK6eovjZbdI0uHFUYp6kuU= -modernc.org/memory v1.12.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= +modernc.org/memory v1.12.1 h1:nFMiWrpStgZczNl6XI9GnIk/rWhYIyHGUaR04pGbp9g= +modernc.org/memory v1.12.1/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= modernc.org/opt v0.2.0 h1:tGyef5ApycA7FSEOMraay9SaTk5zmbx7Tu+cJs4QKZg= modernc.org/opt v0.2.0/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns= modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w= modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE= -modernc.org/sqlite v1.56.0 h1:/D8e2RfFqoy/Zc6PuC76U28zFwmI/sYx1Kjm4yEn9e0= -modernc.org/sqlite v1.56.0/go.mod h1:yCJ2cmAaIkHQ25oXWrF8H4O1lIfPYPR26yCEDj2P3pQ= +modernc.org/sqlite v1.57.0 h1:qNQP6xnx5M0ISNtlnxoOX0+cD5bJ0/gr9aMmndFczzg= +modernc.org/sqlite v1.57.0/go.mod h1:yCJ2cmAaIkHQ25oXWrF8H4O1lIfPYPR26yCEDj2P3pQ= modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 2c30dcc9..cb356fa4 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -40,8 +40,7 @@ func ExitCode(err error) int { if errors.Is(err, context.Canceled) { return 1 } - var codeErr *cliError - if errors.As(err, &codeErr) { + if codeErr, ok := errors.AsType[*cliError](err); ok { return codeErr.code } return 1 diff --git a/internal/syncer/errors.go b/internal/syncer/errors.go index 5ae26dce..a7b9f240 100644 --- a/internal/syncer/errors.go +++ b/internal/syncer/errors.go @@ -65,8 +65,7 @@ func isRetryableSyncError(ctx context.Context, err error) bool { if errors.Is(err, context.DeadlineExceeded) { return true } - var netErr net.Error - if errors.As(err, &netErr) { + if netErr, ok := errors.AsType[net.Error](err); ok { return netErr.Timeout() } msg := strings.ToLower(err.Error()) diff --git a/scripts/docker-git-source-smoke.sh b/scripts/docker-git-source-smoke.sh index 276b51af..779c1958 100755 --- a/scripts/docker-git-source-smoke.sh +++ b/scripts/docker-git-source-smoke.sh @@ -2,7 +2,7 @@ set -euo pipefail repo_root="$(git -C "$(dirname "${BASH_SOURCE[0]}")/.." rev-parse --show-toplevel)" -image="${DISCRAWL_DOCKER_IMAGE:-golang:1.26.6-bookworm@sha256:116d58cbd88c1297624acc6e967a060012422bacf9930927e23fb719189c6f36}" +image="${DISCRAWL_DOCKER_IMAGE:-golang:1.27.0-bookworm@sha256:ded31c68586d2e49e760acc2e65a884b23d032e9bbbed0ae0c55abd3fcaf4452}" tmp="$(mktemp -d /tmp/discrawl-docker-smoke.XXXXXX)" cleanup() { rm -rf "$tmp" @@ -67,7 +67,7 @@ docker run --rm \ cd /src go install ./cmd/discrawl discrawl=/work/bin/discrawl - "$discrawl" --version | grep -Eq "^[0-9]+\\.[0-9]+\\.[0-9]+([+-][[:alnum:]._-]+)?$" + test "$("$discrawl" --version)" = devel "$discrawl" --config /work/config.toml subscribe --repo /work/share --with-embeddings file:///backup > /work/subscribe.out grep -q "embeddings=\\[" /work/subscribe.out "$discrawl" --config /work/config.toml --plain sql "select provider, model, count(*) as total from message_embeddings group by provider, model" | tee /work/embeddings.out