feat!: improve curl safety, non-apt warnings, and add outputs - #2
Merged
Conversation
BREAKING CHANGE: require Linux (Ubuntu) runners, refactor shell array execution, warn on non-apt systems, and expose version/path outputs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR improves the code quality, security, and developer experience of the
setup-clicomposite action. It also introduces structured outputs and better warnings for non-Debian based Linux environments.This change includes a breaking change footer to instruct
release-pleaseto trigger the first major release (v1.0.0).Key Enhancements
Security & Code Quality (Resolved
evalsmells):evalcommands for injecting GITHUB_TOKEN authentication with bash arrays (AUTH=()). This prevents authentication tokens from appearing in execution traces and makes command structure robust.Robust Fallbacks:
|| trueto the public API curl command in the version resolution block to ensure transient network issues do not abruptly trippipefail/errexitbefore the action can output a friendly error message.Exposed Action Outputs:
version: The resolved version tag of the AetherPak CLI that was installed.path: The absolute installation directory.Non-Apt OS Warnings:
::warning::if the runner is missing required packages but has noapt-getpackage manager installed (e.g., self-hosted Fedora or Arch Linux runners), rather than failing silently.BREAKING CHANGE
This action now enforces strict Linux OS verification, refactors token interpolation to use array expansion, and introduces new action outputs.