oracle / oracle/macaron

[Feature Request] - Add model for setup-python GitHub Action

Open
#1,082 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build_tools enhancement feature python
Dominant language
Python
Stars
210
Forks
36
Avg merge
1d 10h
Merged PRs (30d)
2

Description

Description

Macaron currently does not have models for the setup-python GitHub Action, which is commonly used in CI workflows to specify the Python version. Adding support for this action would allow Macaron to more accurately analyze and reproduce Python-based projects that use GitHub Actions for builds and tests.

Proposed Feature

Create a model in Macaron for the setup-python GitHub Action that can:

Detect the specified Python version(s) in the workflow.
This model should align with how other GitHub Actions (e.g., setup-java) are handled within Macaron.

Use Case

Many open-source Python projects use setup-python in their GitHub workflows. Without modeling this action, Macaron may miss critical environment setup information, leading to inaccurate or failed reproduction attempts. Supporting this action will enhance Macaron's ability to analyze Python projects and generate correct build specifications.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in src/macaron/slsa_analyzer/ci_service/github_actions/analyzer.py, using the setup-java handling linked in the issue as the reference point. Add setup-python support that detects specified Python versions in workflows, then verify that Macaron captures this information for Python project reproduction.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
build-system, ci-cd
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.