-
Notifications
You must be signed in to change notification settings - Fork 1
Add GitHub Actions workflow configuration #10
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
Conversation
This configuration file sets up GitHub Actions workflows for various Python environments and jobs, including dependency installation and testing with Tox. Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
|
Note Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported. |
Reviewer's GuideAdds a comprehensive CI configuration (ported from CircleCI-style config) that runs tox-based test, blockchain scenario, docs, lint, and wheel-building jobs across multiple Python versions (3.8–3.13) and platforms (Linux and Windows), with caching and nightly scheduling. Sequence diagram for PR-triggered CI pipelinesequenceDiagram
actor Developer
participant GitHub
participant GitHub_Actions
participant Workflow_test
participant Linux_runner
participant Windows_runner
participant tox
participant Cache
Developer->>GitHub: Push branch / open PR
GitHub->>GitHub_Actions: Trigger workflow test
GitHub_Actions->>Workflow_test: Instantiate with all_jobs
par Linux_jobs
Workflow_test->>Linux_runner: Run docs/core/database/difficulty/lint/transactions/vm/wheel jobs
Linux_runner->>Linux_runner: Checkout repo and submodules
Linux_runner->>Linux_runner: Patch openssl.cnf
Linux_runner->>Cache: Restore cache by job and checksums
Linux_runner->>tox: Install and execute tox environments
tox-->>Linux_runner: Test results and artifacts
Linux_runner->>Cache: Save updated caches
end
par Windows_wheel_jobs
Workflow_test->>Windows_runner: Run py311/py312/py313 windows-wheel jobs
Windows_runner->>Windows_runner: Install pyenv-win
Windows_runner->>Windows_runner: Install latest patch Python for minor version
Windows_runner->>tox: Install and execute tox windows-wheel env
tox-->>Windows_runner: Wheel build results
Windows_runner->>Cache: Save .tox cache
end
Workflow_test->>GitHub_Actions: Aggregate job statuses
GitHub_Actions->>GitHub: Report CI status on PR
GitHub-->>Developer: Display checks and logs
Flow diagram for common Linux CI job stepsflowchart TD
A["Start job (common template)"] --> B["Checkout repository"]
B --> C["Check openssl version"]
C --> D["Patch openssl.cnf to enable legacy provider"]
D --> E["Update git submodules"]
E --> F["Merge PR base (attempt 1)"]
F --> G{Merge succeeded?}
G --> H["Continue"]
G --> I["Merge PR base (attempt 2)"]
I --> J{Merge succeeded?}
J --> H
J --> K["Merge PR base (attempt 3)"]
K --> L{Merge succeeded?}
L --> H
H --> M["Restore cache by job and checksums"]
M --> N["Upgrade pip and install tox"]
N --> O["Run tox: python -m tox run -r"]
O --> P["Save cache (.hypothesis, .tox, pip, local)"]
P --> Q["Job complete"]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey - I've left some high level feedback:
- The file is placed under
.github/workflows/config.ymlbut is written in CircleCI 2.1 syntax (e.g.version: 2.1,orbs:,workflows:with Circle-specific keys), so GitHub Actions will ignore it; you’ll need to convert this to valid GitHub Actions YAML (on:,jobs:,runs-on, etc.) for it to actually run. - A lot of the configuration (per-Python-version jobs, repeated
TOXENV-based jobs, cache keys) is highly repetitive; consider using a GitHub Actions matrix strategy and shared composite actions or reusable workflows instead of expanding every combination manually.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The file is placed under `.github/workflows/config.yml` but is written in CircleCI 2.1 syntax (e.g. `version: 2.1`, `orbs:`, `workflows:` with Circle-specific keys), so GitHub Actions will ignore it; you’ll need to convert this to valid GitHub Actions YAML (`on:`, `jobs:`, `runs-on`, etc.) for it to actually run.
- A lot of the configuration (per-Python-version jobs, repeated `TOXENV`-based jobs, cache keys) is highly repetitive; consider using a GitHub Actions matrix strategy and shared composite actions or reusable workflows instead of expanding every combination manually.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
This configuration file sets up GitHub Actions workflows for various Python environments and jobs, including dependency installation and testing with Tox.
What was wrong?
Related to Issue #
Closes #
How was it fixed?
Todo:
Cute Animal Picture
Summary by Sourcery
Introduce a comprehensive CI workflow configuration to run tox-based test suites and builds across multiple Python versions, platforms, and Ethereum fork scenarios, including scheduled nightly runs.
Build: