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
16 changes: 8 additions & 8 deletions .github/workflows/security-release-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
env:
DAPPER_IMAGE: pasturestack/host-provisioner-dapper:${{ github.sha }}
TRIVY_IMAGE: aquasec/trivy:0.74.0@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969
VERSION_OVERRIDE: v0.39.5
VERSION_OVERRIDE: v0.39.7
SOURCE_DATE_EPOCH: '0'
steps:
- name: Check out candidate
Expand All @@ -47,21 +47,21 @@ jobs:
run: |
set -euo pipefail
make DAPPER_IMAGE="$DAPPER_IMAGE" ci
test -s dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz
package_dir='host-provisioner-0.39.5-linux-amd64'
tar -tJf dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz | grep -Fx "${package_dir}/host-provisioner"
tar -tJf dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz | grep -Fx "${package_dir}/LICENSE"
tar -tJf dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz | grep -Fx "${package_dir}/ORIGIN.md"
test -s dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz
package_dir='host-provisioner-0.39.7-linux-amd64'
tar -tJf dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz | grep -Fx "${package_dir}/host-provisioner"
tar -tJf dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz | grep -Fx "${package_dir}/LICENSE"
tar -tJf dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz | grep -Fx "${package_dir}/ORIGIN.md"
expected_legal=$(find vendor -type f \( \
-name 'LICENSE' -o -name 'LICENSE.*' -o \
-name 'NOTICE' -o -name 'NOTICE.*' -o \
-name 'COPYING' -o -name 'COPYING.*' -o \
-name 'AUTHORS' -o -name 'AUTHORS.*' \
\) | wc -l)
actual_legal=$(tar -tJf dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz | grep -Ec "^${package_dir}/licenses/.+/(LICENSE|LICENSE\..*|NOTICE|NOTICE\..*|COPYING|COPYING\..*|AUTHORS|AUTHORS\..*)$")
actual_legal=$(tar -tJf dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz | grep -Ec "^${package_dir}/licenses/.+/(LICENSE|LICENSE\..*|NOTICE|NOTICE\..*|COPYING|COPYING\..*|AUTHORS|AUTHORS\..*)$")
test "$expected_legal" -gt 0
test "$actual_legal" -eq "$expected_legal"
sha256sum dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz bin/host-provisioner > evidence/product-artifacts.sha256
sha256sum dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz bin/host-provisioner > evidence/product-artifacts.sha256
docker run --rm --entrypoint go -v "$PWD:/work:ro" "$DAPPER_IMAGE" \
version -m /work/bin/host-provisioner > evidence/product-go-version.txt
grep -F $'build\tCGO_ENABLED=0' evidence/product-go-version.txt >/dev/null
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,19 @@ jobs:
set -euo pipefail
test -z "$(git status --porcelain)"
git merge-base --is-ancestor 22d7baca609c18589f08225a97bf8c5e00109204 HEAD
grep -Fq 'VERSION_OVERRIDE: v0.39.5' .github/workflows/validate.yml
grep -Fq 'VERSION_OVERRIDE: v0.39.7' .github/workflows/validate.yml

- name: Run complete tests, validation, and package
env:
VERSION_OVERRIDE: v0.39.5
VERSION_OVERRIDE: v0.39.7
SOURCE_DATE_EPOCH: '0'
shell: bash
run: |
set -euo pipefail
make ci
asset='dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz'
asset='dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz'
test -s "$asset"
package_dir='host-provisioner-0.39.5-linux-amd64'
package_dir='host-provisioner-0.39.7-linux-amd64'
tar -tJf "$asset" | grep -Fx "${package_dir}/host-provisioner"
tar -tJf "$asset" | grep -Fx "${package_dir}/LICENSE"
tar -tJf "$asset" | grep -Fx "${package_dir}/ORIGIN.md"
Expand All @@ -61,28 +61,28 @@ jobs:
mkdir -p evidence extracted
tar -xJf "$asset" -C extracted
test -x "extracted/${package_dir}/host-provisioner"
test "$("extracted/${package_dir}/host-provisioner" -v)" = $'host-provisioner\t gitcommit=v0.39.5'
test "$("extracted/${package_dir}/host-provisioner" -v)" = $'host-provisioner\t gitcommit=v0.39.7'
sha256sum "$asset" "extracted/${package_dir}/host-provisioner" > evidence/product-artifacts.sha256

- name: Verify reproducible artifact
env:
VERSION_OVERRIDE: v0.39.5
VERSION_OVERRIDE: v0.39.7
SOURCE_DATE_EPOCH: '0'
shell: bash
run: |
set -euo pipefail
cp dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz /tmp/first.tar.xz
cp dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz /tmp/first.tar.xz
rm -rf bin dist
make ci
cmp /tmp/first.tar.xz dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz
cmp /tmp/first.tar.xz dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz
printf 'HOST_PROVISIONER_VALIDATION_OK source=%s version=%s\n' "$GITHUB_SHA" "$VERSION_OVERRIDE"

- name: Retain reviewed release candidate
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: host-provisioner-0.39.5
name: host-provisioner-0.39.7
path: |
dist/artifacts/host-provisioner-0.39.5-linux-amd64.tar.xz
dist/artifacts/host-provisioner-0.39.7-linux-amd64.tar.xz
evidence/product-artifacts.sha256
if-no-files-found: error
retention-days: 30
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ require (
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.1 // indirect
go.yaml.in/yaml/v3 v3.0.5 // indirect
golang.org/x/crypto v0.55.0 // indirect
golang.org/x/crypto v0.56.0 // indirect
golang.org/x/sys v0.47.0 // indirect
golang.org/x/term v0.45.0 // indirect
)
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ 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.55.0 h1:+KWHjbgOaAQ66dh/YlkZKHlz9ZUlq61AFirAR9ntP8M=
golang.org/x/crypto v0.55.0/go.mod h1:uq0V9dE/fzQuJtbnL+2EhWOE63vo164FY8xqEnV9xis=
golang.org/x/crypto v0.56.0 h1:GUh5Ii4J5jtcseSMiRqr1jXCNHoxjeV9Fmekc2oLy6Y=
golang.org/x/crypto v0.56.0/go.mod h1:OMW5y6CY9l38uPLmxU6l6pwcXp1obtLo3e6gT7gQR2I=
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
Expand Down
1 change: 1 addition & 0 deletions scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ cd $(dirname $0)/..
echo Running tests

CGO_ENABLED=1 go test -race -cover -tags=test ./...
CGO_ENABLED=1 go test -race -timeout 30s ./vendor/golang.org/x/crypto/ssh -run TestPastureStack
1 change: 1 addition & 0 deletions scripts/validate
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ fi
go list -mod=vendor -deps ./... >/dev/null

crypto_version=$(go list -mod=vendor -m -f '{{.Version}}' golang.org/x/crypto)
test "$crypto_version" = v0.56.0
grep -F -- "\"@id\": \"pkg:golang/golang.org/x/crypto@${crypto_version}\"" security/openvex.json >/dev/null || {
echo 'OpenVEX x/crypto identity does not match the resolved module.' >&2
exit 1
Expand Down
6 changes: 3 additions & 3 deletions security/openvex.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"@context": "https://openvex.dev/ns/v0.2.0",
"@id": "https://github.com/PastureStack/host-provisioner/security/openvex/2026-08-26",
"@id": "https://github.com/PastureStack/host-provisioner/security/openvex/2026-09-07",
"author": "PastureStack contributors",
"timestamp": "2026-08-26T15:32:00+08:00",
"timestamp": "2026-09-07T15:32:00+08:00",
"version": 1,
"statements": [
{
Expand All @@ -11,7 +11,7 @@
},
"products": [
{
"@id": "pkg:golang/golang.org/x/crypto@v0.55.0"
"@id": "pkg:golang/golang.org/x/crypto@v0.56.0"
}
],
"status": "not_affected",
Expand Down
38 changes: 17 additions & 21 deletions vendor/golang.org/x/crypto/ssh/certs.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 19 additions & 1 deletion vendor/golang.org/x/crypto/ssh/channel.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 9 additions & 3 deletions vendor/golang.org/x/crypto/ssh/transport.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions vendor/modules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,8 @@ github.com/stretchr/testify/require
# go.yaml.in/yaml/v3 v3.0.5
## explicit; go 1.16
go.yaml.in/yaml/v3
# golang.org/x/crypto v0.55.0
## explicit; go 1.25.0
# golang.org/x/crypto v0.56.0
## explicit; go 1.26.0
golang.org/x/crypto/blowfish
golang.org/x/crypto/chacha20
golang.org/x/crypto/cryptobyte
Expand Down