-
Notifications
You must be signed in to change notification settings - Fork 96
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
Enabled two new CI workflows to build, test, (and release) containers. #612
base: main
Are you sure you want to change the base?
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.
Left a few questions, but overall this looks good to me!
Does this require some special access to publish the Docker images?
.github/workflows/main.yml
Outdated
fail-fast: False | ||
# fail fast only on pull-requests! | ||
fail-fast: ${{ github.event_name == 'pull_request' }} |
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.
Why this change? The CI often fails on Windows but not Linux or on some python versions and not others, so it's very useful to let it all run.
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.
Ok I wanted to reduce redundant failures, e.g. because PRs forgot to format or because of some trailing whitespace. But I can remove that.
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.
That's a fair point, but probably better handled by just separating the static checks (flake8
, mypy
) and only running pytest
if those succeed.
papis tests are pretty fast, so we never bothered too much :\
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.
ok I separated them. Now the lints are run first on ubuntu-latest
with latest python in a separate step before running all tests/lints with the matrix job.
Yeah I think you have to enable that workflows can write to the repo/registry in the Settings. |
0134f83
to
ee9d4f4
Compare
I'm sorry for letting this fall off the radar for quite a while now. Maybe we can get some of it in!
3 and especially 4 can go in right away, but they will have to be in separate PRs, since I can't merge this wholesale. Do you have any time to work on these? If not, I can slowly cherry pick stuff and merge it. |
Yes feel free to cherry pick the commits you think are worth merging now. |
Yes there is a commit (e9cb62b) that adds things from |
e9cb62b
to
cc210a8
Compare
@f0rki Squashed and rebased this to only contain the docker stuff, since everything else should be in main already. @alejandrogallo According to @f0rki, this requires adding some permissions to the settings and maybe some other things before it can actually get automagically published to |
cc210a8
to
9f2b55e
Compare
This seems to be currently failing: https://github.com/f0rki/papis/actions/runs/6040713352/job/16392121597 (possibly my bad :( |
d4b5e38
to
62e2764
Compare
rebased and pushed fixes. should work now again. |
2745ee2
to
21cb229
Compare
Test the nix and docker-based install methods.
container-build.yml
- does the docker magicDockerfile
and check whethermake ci-test
works.ghcr.io/papis/papis
, i.e., papis packaged as a container.tools/run-integration-test.sh
nix-flake.yml
- does the nix magicnix build
- checks the flake buildnix develop
- checks whether pytest passes in the nix development environment.Packaging papis in docker is a nice thing to have and quite easy with github's container registry (
ghcr.io
). For example, if you like to runpapis serve
on your home server this might be a convenient thing to run.