The HexSign CircleCI orb installs the hexsign binary on a runner, verifies its SHA-256 against the release's signed checksums.txt, and downloads the certificate and provisioning profile you've stored in HexSign. Add hexsign: hexsign/hexsign@1.0.0 to the orbs: block, then call the ready-made hexsign/fetch job.
What you need
- A service credential with
hexsign-api/readscope, provisioned under Settings → CLI Tokens in the HexSign dashboard. The secret is shown exactly once. - A CircleCI context holding
HEXSIGN_CLIENT_IDandHEXSIGN_CLIENT_SECRET, attached to the workflow. - The certificate and profile IDs you sign with (or a team id and bundle id if you fetch by filter).
Use the fetch job
# .circleci/config.yml
version: 2.1
orbs:
hexsign: hexsign/hexsign@1.0.0
workflows:
release:
jobs:
- hexsign/fetch:
context: hexsign
certificate_id: $HEXSIGN_CERT_ID
profile_id: $HEXSIGN_PROFILE_ID
output_dir: build/sign
- archive:
requires: [hexsign/fetch]The fetch job installs the CLI, downloads the material, and persists it to the workspace; the archive job runs attach_workspace and finds the files under build/sign, ready for security import and xcodebuild. Prefer no extra job? Use the hexsign/install, hexsign/certificates_download, and hexsign/profiles_download commands inline instead. To survive rotation, fetch by certificate_type + team_id and bundle_id so the config never changes when an artefact is regenerated.