[GH-ISSUE #712] CI Integrations: create and publish a first-party Bitrise Step for asc #193

Closed
opened 2026-02-26 21:33:57 +03:00 by kerem · 1 comment
Owner

Originally created by @rudrankriyam on GitHub (Feb 21, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/712

Problem

Bitrise users currently need to copy/paste shell snippets to install and run asc in workflows.

That leads to duplicated setup, inconsistent auth handling, and weaker discoverability in Bitrise’s ecosystem.

Goal

Publish a first-party Bitrise Step for asc with secure inputs, clean outputs, and official Step Library availability.

Research (reference implementations and guidance)

Bitrise step authoring docs

High-quality Step references

Proposal (v1 scope)

Create a dedicated step repo (suggestion: rudrankriyam/steps-asc-cli) and publish to bitrise-steplib.

Step behavior (v1)

Single step with two modes:

  1. Install only (mode=install)
  2. Install + run (mode=run)

Inputs (minimum)

  • version (default latest)
  • mode (install / run)
  • command (required when mode=run)
  • working_dir (default $BITRISE_SOURCE_DIR)
  • profile (optional)
  • debug (yes/no)

Optional auth-related inputs (sensitive where needed):

  • key_id
  • issuer_id
  • private_key_path / private_key
  • bypass_keychain

Outputs (minimum)

  • ASC_CLI_PATH
  • ASC_CLI_VERSION
  • ASC_COMMAND_EXIT_CODE (when run mode)

Design constraints

  • Secrets must be marked sensitive in step.yml.
  • No secrets echoed in logs.
  • Keep setup deterministic and idempotent.
  • Avoid brittle assumptions about stack image beyond standard shell tools.

Test and publishing requirements

  • Include bitrise.yml for local and CI testing.
  • Required checks:
    • step audit/lint (audit-this-step equivalent flow)
    • install path works
    • run mode executes a harmless asc command successfully
  • Validate on at least one macOS stack and one Linux stack.
  • Submit StepLib PR for catalog visibility.

Deliverables

  • Step repo with:
    • step.yml
    • implementation (step.sh or Go toolkit)
    • README.md
    • bitrise.yml test workflows
  • StepLib submission PR
  • Documentation snippet for using the step in iOS release workflows

Acceptance criteria

  • Step is published and searchable in Bitrise Step Library.
  • Install-only and install+run modes both pass on Bitrise macOS and Linux stacks.
  • Sensitive inputs are properly masked.
  • Outputs are exported and consumable by downstream steps.
  • README includes copy-paste examples for common asc workflows.

Nice-to-have follow-ups

  • Add a dedicated “auth bootstrap” step if demand warrants separation of concerns.
  • Add optional built-in retry/backoff for release asset download failures.
Originally created by @rudrankriyam on GitHub (Feb 21, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/712 ## Problem Bitrise users currently need to copy/paste shell snippets to install and run `asc` in workflows. That leads to duplicated setup, inconsistent auth handling, and weaker discoverability in Bitrise’s ecosystem. ## Goal Publish a **first-party Bitrise Step** for `asc` with secure inputs, clean outputs, and official Step Library availability. ## Research (reference implementations and guidance) ### Bitrise step authoring docs - New step development flow (`bitrise :step create`), `step.yml` interface, and sharing/review process. - https://docs.bitrise.io/en/bitrise-ci/workflows-and-pipelines/developing-your-own-bitrise-step/developing-a-new-step.html - Step creation templates (current plugin templates, not deprecated legacy template). - https://github.com/bitrise-io/bitrise-plugins-step/tree/master/create/templates ### High-quality Step references - `steps-git-clone` (excellent `step.yml` UX: categories, strong descriptions, CI-safe defaults, `run_if: .IsCI`). - https://github.com/bitrise-steplib/steps-git-clone - `steps-certificate-and-profile-installer` (sensitive input handling + iOS-focused conventions). - https://github.com/bitrise-steplib/steps-certificate-and-profile-installer - `steps-script` (simple utility pattern with practical defaults and debug inputs). - https://github.com/bitrise-steplib/steps-script ## Proposal (v1 scope) Create a dedicated step repo (suggestion: `rudrankriyam/steps-asc-cli`) and publish to `bitrise-steplib`. ### Step behavior (v1) Single step with two modes: 1. **Install only** (`mode=install`) 2. **Install + run** (`mode=run`) ### Inputs (minimum) - `version` (default `latest`) - `mode` (`install` / `run`) - `command` (required when `mode=run`) - `working_dir` (default `$BITRISE_SOURCE_DIR`) - `profile` (optional) - `debug` (`yes/no`) Optional auth-related inputs (sensitive where needed): - `key_id` - `issuer_id` - `private_key_path` / `private_key` - `bypass_keychain` ### Outputs (minimum) - `ASC_CLI_PATH` - `ASC_CLI_VERSION` - `ASC_COMMAND_EXIT_CODE` (when run mode) ## Design constraints - Secrets must be marked sensitive in `step.yml`. - No secrets echoed in logs. - Keep setup deterministic and idempotent. - Avoid brittle assumptions about stack image beyond standard shell tools. ## Test and publishing requirements - Include `bitrise.yml` for local and CI testing. - Required checks: - step audit/lint (`audit-this-step` equivalent flow) - install path works - run mode executes a harmless `asc` command successfully - Validate on at least one macOS stack and one Linux stack. - Submit StepLib PR for catalog visibility. ## Deliverables - Step repo with: - `step.yml` - implementation (`step.sh` or Go toolkit) - `README.md` - `bitrise.yml` test workflows - StepLib submission PR - Documentation snippet for using the step in iOS release workflows ## Acceptance criteria - Step is published and searchable in Bitrise Step Library. - Install-only and install+run modes both pass on Bitrise macOS and Linux stacks. - Sensitive inputs are properly masked. - Outputs are exported and consumable by downstream steps. - README includes copy-paste examples for common `asc` workflows. ## Nice-to-have follow-ups - Add a dedicated “auth bootstrap” step if demand warrants separation of concerns. - Add optional built-in retry/backoff for release asset download failures.
kerem 2026-02-26 21:33:57 +03:00
Author
Owner

@rudrankriyam commented on GitHub (Feb 21, 2026):

Implemented in the dedicated Bitrise step repository:
https://github.com/rudrankriyam/steps-setup-asc

This issue’s requested deliverables (step.yml, step.sh, bitrise.yml, README, and CI validation) now live there.

<!-- gh-comment-id:3939073651 --> @rudrankriyam commented on GitHub (Feb 21, 2026): Implemented in the dedicated Bitrise step repository: https://github.com/rudrankriyam/steps-setup-asc This issue’s requested deliverables (step.yml, step.sh, bitrise.yml, README, and CI validation) now live there.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#193
No description provided.