-
Notifications
You must be signed in to change notification settings - Fork 41
Migrate CI from Travis CI to GitHub Actions #241
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
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.
Pull request overview
This PR migrates the CI pipeline from Travis CI to GitHub Actions while preserving existing test and Docker publishing behavior.
Changes:
- Removes the legacy
.travis.ymlconfiguration. - Adds a GitHub Actions workflow (
.github/workflows/ci.yml) to run tests on Python 3.9 and 3.12, including genome setup and integration tests. - Reimplements the conditional Docker image build and push to GHCR on
masterpushes (Python 3.12 matrix entry) using GitHub Actions context and secrets.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .travis.yml | Removes the old Travis CI configuration, including test execution and Docker deployment logic. |
| .github/workflows/ci.yml | Introduces a GitHub Actions workflow that mirrors the previous Travis CI steps for testing, genome installation, and Docker image build/push. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/ci.yml
Outdated
| - name: Download GRCh37.tar.gz if not present | ||
| run: | | ||
| if [ ! -f ./src/GRCh37.tar.gz ]; then | ||
| wget --connect-timeout=10 --tries=20 ftp://alexandrovlab-ftp.ucsd.edu/pub/tools/SigProfilerMatrixGenerator/GRCh37.tar.gz -P ./src/ | ||
| fi | ||
|
|
||
| - name: Cache src directory | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ./src/ | ||
| key: ${{ runner.os }}-src-grch37 | ||
| restore-keys: | | ||
| ${{ runner.os }}-src- |
Copilot
AI
Jan 23, 2026
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.
The cache for ./src/ is restored and saved after the Download GRCh37.tar.gz step, which means the download will run on every job even when a cache hit is available, and the restored cache may overwrite the just-downloaded file. To actually benefit from caching and avoid unnecessary network calls, the cache step should run before the download/install step so that a hit restores ./src/ first, and the download is only performed on a cache miss.
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.
@copilot open a new pull request to apply changes based on this feedback
|
@mdbarnesUCSD I've opened a new pull request, #242, to work on those changes. Once the pull request is ready, I'll request review from you. |
Co-authored-by: mdbarnesUCSD <22506723+mdbarnesUCSD@users.noreply.github.com>
Fix cache ordering in CI workflow to avoid redundant downloads
No description provided.