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
34 changes: 17 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0

- uses: actions/setup-go@v6
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
with:
go-version: '1.26.5'
go-version: '1.26.8'

- name: Install system tools
run: |
Expand All @@ -38,7 +38,7 @@ jobs:
- name: Install goneat via sfetch (dogfooding)
run: |
./bin/sfetch --repo fulmenhq/goneat \
--tag v0.5.15 \
--tag v0.6.0 \
--dest-dir bin \
--require-minisign
./bin/goneat version
Expand Down Expand Up @@ -90,7 +90,7 @@ jobs:
- os: windows-latest-arm64-s
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0

- name: Setup sfetch via composite action (v0.4.11 minisig route)
uses: ./.github/actions/setup-sfetch
Expand Down Expand Up @@ -163,7 +163,7 @@ jobs:
container:
image: ubuntu:24.04
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0

- name: Install prerequisites
shell: bash
Expand All @@ -173,9 +173,9 @@ jobs:
apt-get install -y --no-install-recommends \
ca-certificates git minisign

- uses: actions/setup-go@v6
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
with:
go-version: '1.26.5'
go-version: '1.26.8'

- name: Build sfetch (from this commit)
shell: bash
Expand All @@ -194,7 +194,7 @@ jobs:
export PATH="$BIN_DIR:$PATH"

sfetch --repo fulmenhq/goneat \
--tag v0.5.15 \
--tag v0.6.0 \
--dest-dir "$BIN_DIR" \
--cache-dir "$CACHE_DIR" \
--require-minisign
Expand All @@ -205,11 +205,11 @@ jobs:
name: Windows dogfood (x64)
runs-on: windows-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0

- uses: actions/setup-go@v6
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
with:
go-version: '1.26.5'
go-version: '1.26.8'

# Pinned official minisign 0.12 archive (no Chocolatey/winget).
- name: Install pinned minisign 0.12
Expand All @@ -230,7 +230,7 @@ jobs:
run: |
.\bin\sfetch.exe `
--repo fulmenhq/goneat `
--tag v0.5.15 `
--tag v0.6.0 `
--dest-dir bin `
--require-minisign
.\bin\goneat.exe version
Expand All @@ -239,11 +239,11 @@ jobs:
name: Windows dogfood (arm64)
runs-on: windows-latest-arm64-s
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0

- uses: actions/setup-go@v6
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
with:
go-version: '1.26.5'
go-version: '1.26.8'

# Pinned official minisign 0.12 archive (no Chocolatey/winget).
- name: Install pinned minisign 0.12
Expand Down Expand Up @@ -275,7 +275,7 @@ jobs:
run: |
.\bin\sfetch.exe `
--repo fulmenhq/goneat `
--tag v0.5.15 `
--tag v0.6.0 `
--dest-dir bin `
--require-minisign
.\bin\goneat.exe version
12 changes: 6 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
create_release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0

# softprops/action-gh-release@v3 (Node 24) replaces the archived,
# Node12-era actions/create-release@v1 + actions/upload-release-asset@v1
Expand All @@ -29,7 +29,7 @@ jobs:
# via make release-upload. A published release without installer .minisig is
# non-consumable for verified bootstrap; draft keeps it off "latest".
- name: Create draft release and upload install script
uses: softprops/action-gh-release@v3
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
with:
name: sfetch ${{ github.ref_name }}
body: |
Expand Down Expand Up @@ -60,7 +60,7 @@ jobs:
- goos: windows
goarch: arm64
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0

- name: Validate VERSION matches tag
run: |
Expand All @@ -74,9 +74,9 @@ jobs:
exit 1
fi

- uses: actions/setup-go@v6
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
with:
go-version: '1.26.5'
go-version: '1.26.8'

- name: License check
# go-licenses v1.6.0 errors on stdlib packages ("Package fmt does not
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:
# action-gh-release@v3 is idempotent on the tag; parallel matrix jobs each
# upload a distinctly-named asset, so no upload_url plumbing is needed.
- name: Upload Archive
uses: softprops/action-gh-release@v3
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
with:
files: ${{ env.ASSET_FILE }}

Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ BIN_DIR := $(CURDIR)/bin
# never "latest" and never the in-flight cut — so main CI cannot 404 during the
# tag/upload window. Advance after each release publishes + signs.
SFETCH_VERSION := v0.4.11
GONEAT_VERSION ?= v0.5.15
GOVULNCHECK_VERSION ?= v1.6.0
GONEAT_VERSION ?= v0.6.0
GOVULNCHECK_VERSION ?= v1.8.0

# Tool paths (sfetch bootstrap may land in bin/; goneat must be on PATH)
SFETCH = $(shell [ -x "$(BIN_DIR)/sfetch" ] && echo "$(BIN_DIR)/sfetch" || command -v sfetch 2>/dev/null)
Expand Down
8 changes: 4 additions & 4 deletions docs/cicd-usage-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ supported `sfetch-version` range for that SHA and fails closed outside it.
- uses: 3leaps/sfetch/.github/actions/setup-sfetch@<commit-sha>
with:
sfetch-version: v0.4.11 # exact tag; never latest
goneat-version: v0.5.15 # optional; exact tag if set
goneat-version: v0.6.0 # optional; exact tag if set
env:
GITHUB_TOKEN: ${{ github.token }}
GH_TOKEN: ${{ github.token }}
Expand Down Expand Up @@ -146,7 +146,7 @@ jobs:
container:
image: golang:1.23
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0
- uses: 3leaps/sfetch/.github/actions/setup-sfetch@<commit-sha>
with:
sfetch-version: v0.4.11
Expand Down Expand Up @@ -183,7 +183,7 @@ jobs:
# Match the GitHub-hosted runner workspace ownership (UID 1001)
options: --user 1001
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0
- uses: 3leaps/sfetch/.github/actions/setup-sfetch@<commit-sha>
with:
sfetch-version: v0.4.11
Expand Down Expand Up @@ -264,7 +264,7 @@ In CI, you can:

```yaml
- name: Cache sfetch downloads
uses: actions/cache@v4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.cache/sfetch
key: sfetch-${{ runner.os }}-${{ hashFiles('.tool-versions') }}
Expand Down
12 changes: 6 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
module github.com/3leaps/sfetch

go 1.25.12
go 1.26.0

toolchain go1.26.5
toolchain go1.26.8

require (
github.com/jedisct1/go-minisign v0.0.0-20260527172527-a09352b57a22
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2
github.com/santhosh-tekuri/jsonschema/v6 v6.0.3
)

require (
github.com/dlclark/regexp2 v1.12.0 // indirect
golang.org/x/crypto v0.54.0 // indirect
golang.org/x/sys v0.47.0 // indirect
golang.org/x/text v0.40.0 // indirect
golang.org/x/crypto v0.57.0 // indirect
golang.org/x/sys v0.48.0 // indirect
golang.org/x/text v0.42.0 // indirect
)
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ github.com/dlclark/regexp2 v1.12.0 h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz
github.com/dlclark/regexp2 v1.12.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/jedisct1/go-minisign v0.0.0-20260527172527-a09352b57a22 h1:C68TAi+k12EKJCAmsdaERzQ22ZxVE6n+CuB3kOkhQ7c=
github.com/jedisct1/go-minisign v0.0.0-20260527172527-a09352b57a22/go.mod h1:vYVVh81Lqe/TP0sPLjiNYcX9Hxy/YSfkUx96lYJeyKo=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 h1:KRzFb2m7YtdldCEkzs6KqmJw4nqEVZGK7IN2kJkjTuQ=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw=
golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk=
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs=
golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.3 h1:1EYB5IzjZawrrnELUi78f9fPu57HuXjmddZPjrls/28=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.3/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
golang.org/x/crypto v0.57.0 h1:3ZVCjf8Ggz7zneR/EHRVx68Ctf+2pmIMP2UFhh9cC6M=
golang.org/x/crypto v0.57.0/go.mod h1:Fdz0i5U6CoizGwLda9DttjSk6qlZo25zYNtR+ycvuZA=
golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
2 changes: 1 addition & 1 deletion scripts/bootstrap-sfetch-verified.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#
# Usage:
# bootstrap-sfetch-verified.sh --version v0.4.11 --dir ~/.local/bin
# bootstrap-sfetch-verified.sh --version v0.4.10 --dir ./bin --goneat-version v0.5.15
# bootstrap-sfetch-verified.sh --version v0.4.10 --dir ./bin --goneat-version v0.6.0
# bootstrap-sfetch-verified.sh --acquire-minisign-only --dir PATH
#
# No runtime env overrides for trust-critical paths (download base, minisign
Expand Down
2 changes: 1 addition & 1 deletion scripts/test-bootstrap-sfetch-verified.sh
Original file line number Diff line number Diff line change
Expand Up @@ -460,7 +460,7 @@ STUB
mkdir -p "$GONEAT_DIR"
set +e
OUT_GO="$WORKDIR/out-goneat-offline.txt"
"$GONEAT_ENG" --version v0.4.11 --dir "$GONEAT_DIR" --goneat-version v0.5.15 >"$OUT_GO" 2>&1
"$GONEAT_ENG" --version v0.4.11 --dir "$GONEAT_DIR" --goneat-version v0.6.0 >"$OUT_GO" 2>&1
RC=$?
set -e
[ "$RC" -ne 0 ] || fail "goneat install failure must fail closed (log: $(cat "$OUT_GO"))"
Expand Down
Loading