Uh oh!
There was an error while loading. Please reload this page.
Introduce cruft to keep the repository up to date with template changes - #144
Introduce cruft to keep the repository up to date with template changes#144Kircheneer wants to merge 15 commits into
Conversation
| --- | ||
| name: 🐛 Bug Report | ||
| about: Report a reproducible bug in the current release of DiffSync | ||
| about: Report a reproducible bug in the current release of diffsync |
There was a problem hiding this comment.
DiffSync is the project name, diffsync is the Python package name. I'd prefer to keep it as DiffSync when we're referring to the project as a whole.
There was a problem hiding this comment.
Agreed. We need to address this at the source, because currently this is cruft working as intended.
Uh oh!
There was an error while loading. Please reload this page.
| @@ -0,0 +1,29 @@ | |||
| --- | |||
There was a problem hiding this comment.
Is this a separate file just so as to keep ci.yml identical with the cookiecutter? I would have hoped that it'd be possible/straightforward with cruft to have a locally modified version of the file (i.e. some consistent diff against the baseline). This feels like a bit of a step backwards to me.
There was a problem hiding this comment.
Unfortunately this doesn't seem to be possible right now in cruft. I agree that this is worse, because now we can't cross-reference between the two sets of workflows. Possibly this is something that we can address by using another paradigm in GitHub actions.
| .idea/ | ||
| # User-specific stuff | ||
| .idea/**/workspace.xml | ||
| .idea/**/tasks.xml | ||
| .idea/**/usage.statistics.xml | ||
| .idea/**/dictionaries | ||
| .idea/**/shelf | ||
| # Generated files | ||
| .idea/**/contentModel.xml | ||
| # Sensitive or high-churn files | ||
| .idea/**/dataSources/ | ||
| .idea/**/dataSources.ids | ||
| .idea/**/dataSources.local.xml | ||
| .idea/**/sqlDataSources.xml | ||
| .idea/**/dynamic.xml | ||
| .idea/**/uiDesigner.xml | ||
| .idea/**/dbnavigator.xml | ||
| # Gradle | ||
| .idea/**/gradle.xml | ||
| .idea/**/libraries |
There was a problem hiding this comment.
This feels like a step backwards to me. We should continue to ignore all of .idea/ instead of this laundry list of files.
There was a problem hiding this comment.
I guess it comes from Cookiecutter, we should fix first there :)
There was a problem hiding this comment.
If cruft prevents us from improving things locally as compared to the cookiecutter baseline, that feels like a non-starter to me.
There was a problem hiding this comment.
Agreed. This also needs to be addressed at the template level.
There was a problem hiding this comment.
And to your comment Glenn, we can always ignore individual files that we do not want to keep in sync in the pyproject.toml file. I do agree that this is rather heavy-handed but since currently we do not have any automatic way of keeping downstream files in sync I believe that this should still be an improvement over the current state, what do you think?
There was a problem hiding this comment.
If cruft prevents us from improving things locally as compared to the cookiecutter baseline, that feels like a non-starter to me.
My overall approach would be, cruft helps to adhere to the cookiecutter. I we do an improvement here (we deviate), cruft should raise a warning, and we should focus on change the cookiecutter reference to include the improvement.
I mean, when improving, deviations are expected, and this should help to keep in the right track (not enforcing)
There was a problem hiding this comment.
That is an interesting idea, we will need to hash out the corresponding process further
There was a problem hiding this comment.
To give a quick update here, there is an issue that mentioned the ability to skip specific patches, it is closed however because another part of the issue was implemented. I do believe that this feature specifically wasn't implemented, but I have gone ahead and asked that here.
| && pip install poetry | ||
| RUN apt-get update && apt-get install -y \ | ||
| gcc \ |
There was a problem hiding this comment.
Adding gcc feels pretty heavyweight for this container - what's it needed for?
There was a problem hiding this comment.
This comes from psutil, I believe in conjunction with Buildx:
#10 5.989 C compiler or Python headers are not installed on this system. Try to run:
#10 5.989 sudo apt-get install gcc python3-dev
#10 5.989 error: command 'gcc' failed: No such file or directory: 'gcc'
#10 5.989 [end of output]
Uh oh!
There was an error while loading. Please reload this page.
Kircheneer
commented
Nov 1, 2022
Closing this for now, the interesting bits were cherry-picked into #176. Will re-evaluate approach and reconvene later. |
pytest-redislitewithpytest-redisas a consequence unit tests needs to be run in Docker or redis needs to be installed locally (fixesRe-evaluate pytest-redislite as a dependency #139 and enable Docker buildx to function)Why is this not in the CI (already)? I wasn't sure about including it because that would mean that updates to the cookiecutter template would cause this CI to somewhat arbitrarily fail, we should follow up at a later point, maybe post diffs to slack if there are any?