eshwen / adrenaline Goto Github PK
View Code? Open in Web Editor NEWSupercharge your CI pipelines with these reusable GitHub Actions workflows! Targeted toward data science projects in Python.
License: MIT License
Supercharge your CI pipelines with these reusable GitHub Actions workflows! Targeted toward data science projects in Python.
License: MIT License
When a reusable workflow uses local actions in the repo, but the workflow is called from a separate repo, the actions can't be located.
This thread explains things: https://stackoverflow.com/a/73238189
For example:
eshwen/adrenaline
├─ .github/
│ ├─ workflows/
│ │ ├─ python-quality-check.yml
├─ check-python/
│ ├─ action.yml
And python-quality-check.yml
contained
...
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check code quality
if: always()
uses: ./check-python
...
If I ran the python-quality-check.yml
from within the adrenaline
repo itself, it would find the check-python
action because the previous actions/checkout
step would clone it.
However, this configuration won't work if I called python-quality-check.yml
from another repo, since I would have to specifically clone a copy of adrenaline
and make sure the paths are correct. But there's additional complexity because a GitHub Access Token has to be passed through to allow access to the repo (despite it being public)
It just adds too much complexity, so the simplest answer is to treat these local actions as if they are external to adrenaline
. It adds some nuance, however, because if I don't actively maintain the versions of the actions and workflows properly, the workflow could call an outdated version of the action and not work correctly, unbeknownst to the user
Ideally, I want to fix this so that any reusable workflow in this repo that's called externally will always use the equivalent version of the action local to this repo
Add some way of testing the workflows and actions
https://github.com/nektos/act is good for local testing. So if I make some docs with a Contributing section, add it as a way of local testing before committing
Add some documentation on how to use the workflows. Maybe add some indicative badges as well
Add pre-commit hooks to ensure formatting and syntax are valid. As well as the built-in hooks (EOF, etc.), see if there are any specific GitHub Actions YAML verifiers
Ensure this repo can be forked to the ovotech
org for posterity. Then I can update projects to use that fork instead of my personal account
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.