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
20 changes: 10 additions & 10 deletions .hermetic/aqua-checksums.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,28 +66,28 @@
"algorithm": "sha256"
},
{
"id": "github_release/github.com/farcloser/limen/v0.23.1/limen_0.23.1_darwin_arm64.tar.gz",
"checksum": "DDF43BDAA2ABB2F1C8D41C7FF6115988C4E65602FA1F6FAA9D6A7C1B53E8A649",
"id": "github_release/github.com/farcloser/limen/v0.24.0/limen_0.24.0_darwin_arm64.tar.gz",
"checksum": "BB7F8386488E585FE59F871CD3D5A4F74E8DA17B51118A11FE6FABA1C91E6FEB",
"algorithm": "sha256"
},
{
"id": "github_release/github.com/farcloser/limen/v0.23.1/limen_0.23.1_linux_amd64.tar.gz",
"checksum": "F8F5ED4C012909A69B0C42107880E17F7EDB2AC40744AE96061A11488AB7AA58",
"id": "github_release/github.com/farcloser/limen/v0.24.0/limen_0.24.0_linux_amd64.tar.gz",
"checksum": "8FD7C868E5C26E3E04C2F0F83D0904D271A9D7FD596E8D4303DC9689B8869209",
"algorithm": "sha256"
},
{
"id": "github_release/github.com/farcloser/limen/v0.23.1/limen_0.23.1_linux_arm64.tar.gz",
"checksum": "A50348E3243AE778756EEB27A1ED5F5FE3C74B5257C3F2043409B4DDE629E77F",
"id": "github_release/github.com/farcloser/limen/v0.24.0/limen_0.24.0_linux_arm64.tar.gz",
"checksum": "BDC58258E2B6280AFEF8AD7D8965D19B4AC3AB0C741C9FDC126403847F279E04",
"algorithm": "sha256"
},
{
"id": "github_release/github.com/farcloser/limen/v0.23.1/limen_0.23.1_windows_amd64.tar.gz",
"checksum": "E72ECA69900B1CD6273F139AD1F1FBE75BC6F0FFC5CDF44163084A62840CB317",
"id": "github_release/github.com/farcloser/limen/v0.24.0/limen_0.24.0_windows_amd64.tar.gz",
"checksum": "9B862D79FCBB33676F2304FDA902A39F7623BB543EB43693F1F8015B2531730B",
"algorithm": "sha256"
},
{
"id": "github_release/github.com/farcloser/limen/v0.23.1/limen_0.23.1_windows_arm64.tar.gz",
"checksum": "D1ED3864348CA1DAD5C921DFBC185DA2000F6393F0344E9698867B80212BDB69",
"id": "github_release/github.com/farcloser/limen/v0.24.0/limen_0.24.0_windows_arm64.tar.gz",
"checksum": "05F751B5F5DB7FDB8544ACC055D9330A6CFDA64897FE31339B210A64C5C1CC49",
"algorithm": "sha256"
},
{
Expand Down
2 changes: 1 addition & 1 deletion .hermetic/hermetic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ registries:
packages:
# The limen this repository runs, and with it every canonical file it
# writes: the one canonical pin kept here, where Renovate bumps it.
- name: farcloser/limen@v0.23.1 # renovate: depName=farcloser/limen
- name: farcloser/limen@v0.24.0 # renovate: depName=farcloser/limen
registry: local
# The Go toolchain is the repository's own pin, seeded from limen's own
# manifest once and Renovate's here afterwards: a standard-library fix
Expand Down
17 changes: 12 additions & 5 deletions .limen/just/apple.just
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,23 @@ apple-verify-signed bundle:
fi

# The stapled notarization ticket: Contents/CodeResources is where stapler
# writes it, and `stapler validate` is the check that needs no network, the
# one Gatekeeper makes offline. spctl has no assessment for a plug-in (its
# execute type answers for app bundles alone), so it is not consulted.
# writes it. `stapler validate` asks Apple's ticket service for the record, so
# a dropped connection fails it with nothing wrong in the bundle: it is tried
# three times before the bundle is refused. spctl has no assessment for a
# plug-in (its execute type answers for app bundles alone), so it is not
# consulted.
[doc('Assert a bundle carries a stapled notarization ticket that validates')]
apple-verify-notarized bundle:
#!/usr/bin/env bash
set -euo pipefail
fail() { echo "apple-verify-notarized: $*" >&2; exit 1; }
bundle='{{ bundle }}'
[ -f "$bundle/Contents/CodeResources" ] || fail "no notarization ticket is stapled to $bundle"
xcrun stapler validate "$bundle" || fail "the ticket stapled to $bundle does not validate"
for attempt in 1 2 3; do
xcrun stapler validate "$bundle" && break
[ "$attempt" -lt 3 ] || fail "the ticket stapled to $bundle does not validate"
sleep $((attempt * 10))
done
echo "apple-verify-notarized: $bundle carries a valid stapled ticket"

# Submit the signed bundle to Apple and staple the ticket. The verdict is
Expand Down Expand Up @@ -85,8 +91,9 @@ apple-notarize bundle:
[ -z "$id" ] || xcrun notarytool log "$id" "${key[@]}" >&2 || true
exit 1
fi
# staple validates what it writes; a second validate only asks the
# network again.
xcrun stapler staple "$bundle"
xcrun stapler validate "$bundle"
echo "apple-notarize: $bundle notarized (submission ${id:-?}), ticket stapled"

# ditto, not zip: the archiver that keeps a bundle's extended attributes and
Expand Down
Loading