-
Notifications
You must be signed in to change notification settings - Fork 148
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
First attempt to setup GitHub actions #345
Conversation
.github/workflows/job.lint.yml
Outdated
activate-environment: jupyterlab-lsp | ||
auto-update-conda: false | ||
|
||
- name: testing 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.
We'll likely want to revisit this, and generate a known environment, rather than doing the solves multiple times.
@bollwyvl Would you like to take over to make conda update/install work? I am not an advanced conda user and it is getting more trial and error. I removed generation from the template as thought it would be easier, but I am confused on when to create the env ad how (note: I am happy for the generation from the template to be restored, I guess it would safe some run time). |
@@ -27,7 +22,6 @@ dependencies: | |||
- chktex | |||
# test tools | |||
- pytest-asyncio | |||
- pytest-azurepipelines |
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.
Really is too bad... I haven't found anything to replace it yet on github actions (short of a dedicated ci bot that publishes gists)
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.
There's this:
https://pypi.org/project/pytest-github-actions-annotate-failures/
that's a heckuva package name, but looks useful.
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.
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.
(could not find a conda package, hence pip)
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.
great. i'll start up the conda-forge process for it, the lockfile approach can't handle pip deps... yet
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.
@@ -5,11 +5,6 @@ channels: | |||
- defaults | |||
|
|||
dependencies: | |||
# runtime 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.
Sure, that's fine... I'm more and more thinking we want to just drive down the runtime cost of all these env shenanigans... something along the lines of conda/conda-lock#42
Solider on! Let me know if you need any support! I'm still investigating my issues on #328, but shouldn't be stepping on each others' toes. |
This comment has been minimized.
This comment has been minimized.
I was able to spend a little time working the conda-lock piece, but it's not ready to push:
Right now, these are the locks its generating with
|
Looking at 12fe40d to backport it here... |
Ideally we would have a GitHub action which would create a PR with the lock files I guess... It could trigger on push and then check if any of the requirements files has changed. |
Or, could we just cache the solved environments? |
This seems so cool: https://github.com/marketplace/actions/lint-action (auto fix and annotations!). What do you think @bollwyvl? We could probably keep the old scripts for local use, and run both (first the github action, then the scripts); also because robot is not supported in the above. |
I dunno... we don't do this with
Environments are not generally movable on disk. If they go back to the exact same path, it can work however. conda-pack can create an archive which needs one command to run ( So a run would be like:
We shouldn't rely on anything unique on CI for anything, as then it gets really hard to reproduce locally. if the tool in question can respect our settings and not generate lots of false positives, that's great, and saves us work that we have decided to do. I have found that a single-command workflow (e.g. |
The conda-lock approach is down to ~6 minutes of conda stuff on windows, and I think i can shave another minute off... |
We should use Node 14 if possible, 13 is EOL I think. The CI running right now should tell us if we can bump the version easily. |
Looking at finalising this... Any preferences on coverage uploads? I am looking at https://github.com/marketplace/actions/codecov (no annoying comments, just uploads to the third-party servers). I am also happy to upload the xmls as artifacts if you need this. |
It's fine if you want to land it... i've been tinkering with mine over here, not yet ready to go, and would not merge cleanly with the pip dep: I can PR on top of this, if you keep it open, or we can hit it later: once again, it pulled the new
No opinion really: python side of the house is already pinned at 100, so it fails... npm side... well... if you're not failing things based on coverage, then it's just window dressing, and the jest tests aren't using real browsers... so i might not even care.
have started that on above branch, appears to be working, so i'd say all the warnings are just... scary. |
Merging as is, looking forward to even faster Windows builds and the conda package for pytest-github-actions-annotate-failures! |
References
Trying to migrate to GitHub actions #311. It will be trial and error I guess. Not sure If I can do this without pushing to master though...
Code changes
User-facing changes
None
Backwards-incompatible changes
Chores