-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
Create python-package-conda.yml #14
base: main
Are you sure you want to change the base?
Conversation
Reviewer's Guide by SourceryThis pull request adds a new GitHub Actions workflow file for Python package testing using Conda. The workflow is set up to run on push events, install dependencies from an environment.yml file, perform linting with flake8, and run tests with pytest. File-Level Changes
Tips
|
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 @gantulu - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider triggering this workflow on pull requests as well as pushes to catch issues earlier in the development process.
- Implement dependency caching to speed up subsequent workflow runs. GitHub Actions provides built-in support for caching Conda environments.
Here's what I looked at during the review
- 🟡 General issues: 3 issues found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python 3.10 | ||
uses: actions/setup-python@v3 |
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.
suggestion (performance): Consider using a more recent Python version
Python 3.10 is not the latest version. Consider using a more recent version like 3.11 or 3.12 for potential performance improvements and new features, or explain the specific reason for choosing 3.10.
uses: actions/setup-python@v3 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.12' |
@@ -0,0 +1,34 @@ | |||
name: Python Package using Conda | |||
|
|||
on: [push] |
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.
suggestion (performance): Consider using more specific workflow triggers
Triggering the workflow on every push might lead to unnecessary builds for larger repositories. Consider using more specific triggers, such as pushes to specific branches or pull requests, to optimize resource usage.
on: [push] | |
on: | |
push: | |
branches: [main, develop] | |
pull_request: | |
branches: [main] |
run: | | ||
# $CONDA is an environment variable pointing to the root of the miniconda directory | ||
echo $CONDA/bin >> $GITHUB_PATH | ||
- name: Install dependencies |
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.
suggestion (performance): Implement caching for the Conda environment
Consider implementing caching for the Conda environment. This could significantly speed up the workflow, especially for larger projects with many dependencies.
- name: Install dependencies | |
- name: Cache Conda environment | |
uses: actions/cache@v2 | |
with: | |
path: ~/conda_pkgs_dir | |
key: ${{ runner.os }}-conda-${{ hashFiles('environment.yml') }} | |
restore-keys: | | |
${{ runner.os }}-conda- | |
- name: Install dependencies | |
if: steps.cache.outputs.cache-hit != 'true' |
Summary by Sourcery
Introduce a GitHub Actions workflow to automate the build and test process for a Python package using Conda, including setting up Python 3.10, installing dependencies, linting with flake8, and running tests with pytest.
CI: