Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support fo CircleCI #31

Merged
merged 1 commit into from
Jan 4, 2024
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
21 changes: 14 additions & 7 deletions lib/bin/build_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,46 @@

# Detect the platform (only GitHub Actions in this case)
if [ -n "$GITHUB_ACTIONS" ]; then
# Get environment variables
platform=github_actions
branch=${SELECTIVE_BRANCH:-${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}}
pr_title=$SELECTIVE_PR_TITLE
target_branch=${SELECTIVE_TARGET_BRANCH:-$GITHUB_BASE_REF}
actor=$GITHUB_ACTOR
sha=${SELECTIVE_SHA:-$GITHUB_SHA}
run_id=${SELECTIVE_RUN_ID:-$GITHUB_RUN_ID}
run_attempt=${SELECTIVE_RUN_ATTEMPT:-$GITHUB_RUN_ATTEMPT}
commit_message=$(git log --format=%s -n 1 $sha)
runner_id=$SELECTIVE_RUNNER_ID
elif [ -n "$CIRCLECI" ]; then
platform=circleci
branch=${SELECTIVE_BRANCH:-$CIRCLE_BRANCH}
target_branch=$SELECTIVE_TARGET_BRANCH
actor=${SELECTIVE_ACTOR:-${CIRCLE_USERNAME:-$CIRCLE_PR_USERNAME}}
sha=${SELECTIVE_SHA:-$CIRCLE_SHA1}
run_id=$SELECTIVE_RUN_ID
run_attempt=${SELECTIVE_RUN_ATTEMPT:-$CIRCLE_BUILD_NUM}
runner_id=${SELECTIVE_RUNNER_ID:-$CIRCLE_NODE_INDEX}
else
platform=$SELECTIVE_PLATFORM
branch=$SELECTIVE_BRANCH
pr_title=$SELECTIVE_PR_TITLE
target_branch=$SELECTIVE_TARGET_BRANCH
actor=$SELECTIVE_ACTOR
sha=$SELECTIVE_SHA
run_id=$SELECTIVE_RUN_ID
run_attempt=$SELECTIVE_RUN_ATTEMPT
commit_message=$(git log --format=%s -n 1 $sha)
runner_id=$SELECTIVE_RUNNER_ID
fi

# Output the JSON
cat <<EOF
{
"platform": "$platform",
"branch": "$branch",
"pr_title": "$pr_title",
"pr_title": "$SELECTIVE_PR_TITLE",
"target_branch": "$target_branch",
"actor": "$actor",
"sha": "$sha",
"run_id": "$run_id",
"run_attempt": "$run_attempt",
"commit_message": "$commit_message"
"commit_message": "$(git log --format=%s -n 1 $sha)",
"runner_id": "$runner_id"
}
EOF
9 changes: 8 additions & 1 deletion lib/selective/ruby/core/controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def initialize(runner, debug: false, log: false)
@debug = debug
@runner = runner
@retries = 0
@runner_id = safe_filename(ENV.fetch("SELECTIVE_RUNNER_ID", generate_runner_id))
@runner_id = safe_filename(get_runner_id)
@logger = init_logger(log)
end

Expand Down Expand Up @@ -55,6 +55,13 @@ def self.suppress_reporting?

ROOT_GEM_PATH = Gem.loaded_specs["selective-ruby-core"].full_gem_path

def get_runner_id
runner_id = build_env.delete("runner_id")
return generate_runner_id if runner_id.nil? || runner_id.empty?

runner_id
end

def init_logger(enabled)
if enabled
FileUtils.mkdir_p("log")
Expand Down
Loading