Dashboard › craft › Distillation
ee7bdaf9-775d-420e-ad35-7b47b08de3a3["lore_tm_v1_I36u-JuYnCyv5xza1iVBZvaDojyRipmeyrx1__bJtvc"]
Date: Aug 26, 2026
pnpm; never use npm or yarn.action.yml shown includes a workspace input that is validated in a “Validate workspace” step; it also includes inputs version and git_user_name, and outputs including sha (${{ steps.craft.outputs.sha }}) and a changelog-file path output available in GitHub Actions.getsentry/craft by attempting to use a build artifact from a build job, downloading it to /tmp/craft-artifact; otherwise it resolves/downloads a Craft binary and installs it at /usr/local/bin/craft with sudo curl -fsSL -o /usr/local/bin/craft "$CRAFT_URL".craft targets "${CRAFT_ARGS[@]}", formats targets through jq -r '.[]|" - [ ] \(.)"', and passes RESOLVED_VERSION: ${{ steps.craft.outputs.version }}."self" to the current repository; reads changelog from a file to avoid E2BIG; truncates issue bodies to account for GitHub’s approximately 65,536-character issue-body limit; uses version_separator="@"; finds existing open issues by exact title match; preserves checked target states in an associative array for O(1) lookup when rebuilding targets; updates a matching issue body while preserving checked targets, otherwise creates a new issue.src/__mocks__/ (test mocks), src/__tests__/ (*.test.ts test files), src/artifact_providers/ (artifact-provider implementations), src/commands/ (CLI-command implementations), src/schemas/ (Zod schemas and TypeScript configuration types), src/status_providers/ (status-provider implementations), src/targets/ (release-target implementations), src/types/ (shared TypeScript types), src/utils/ (utility functions), src/config.ts (configuration loading), src/index.ts (CLI entry point), src/logger.ts (logging utilities), and dist/craft (single esbuild-bundled executable).