Comments (9)
That would require co-ordinating the release of conda-smithy and the new package. The whole point is to make the bot config be independently developed from conda-smithy.
from conda-smithy.
💯 agreed, but no time right now.
from conda-smithy.
This sounds a bit dangerous because cf-scripts already depends on conda-smithy for access to the Pydantic schema (and also other things?). Making this change would introduce a circular dependency.
Are there any drawbacks of the current solution?
from conda-smithy.
We could make another repo or just download one self-contained python file that lives in regro/cf-scripts.
It's a separation of concern issue. conda-smithy should not be the place where BotConfig lives because it does not use it. The place where the botconfig is used is cf-scripts. Another issue is that making changes in the bot should not have to wait on a conda-smithy release.
from conda-smithy.
Yeah I agree @isuruf. More generally, the validation being done is useful, but it embeds our APIs in concrete when we typically have made much more fluid changes in the ecosystem.
from conda-smithy.
How about moving the entire schema to a different package? This keeps the schema definition together (holding complexity low - I am a bit terrified by the "self-contained python file"), while still allowing more rapid iterations because only the different package would need to be released (I know conda-smithy releases are quite tedious).
from conda-smithy.
A direct download from the bot repo seems totally fine for this purpose. We can do it when we refresh the static schema on disk in smithy. If the download fails, we just keep the old schema.
from conda-smithy.
In principle jsonschema allows us to refer to remote resources (even if discouraged). We could fetch the cf-scripts JSON schema from that repo and use the defintions in the conda-forge.yml schema.
from conda-smithy.
I think that's the idea.
from conda-smithy.
Related Issues (20)
- Unexpected top-level keys in conda-forge.yml fail to display anything
- Nonexistent conda-forge.yml should raise an error
- Investigate `deprecated` Pydantic Field argument
- Missing auxlib.packaging
- add default branches that are ignore by smithy for uploads HOT 2
- Flawed conda-forge-only meta.yaml lint #1 (already-exists lint): Multiple PyPI sources
- Unable to install conda-smithy using the conda install command (gets killed) HOT 1
- ENH: Warn on non-existent `abi_migration_branches`
- BUG: smithy ignores keys in migrator when affected by zipping logic HOT 2
- Release 3.35.0 HOT 8
- BUG: something non-deterministic going wrong in squished_input_variants/preserve_top_level_loops HOT 4
- Linter hint about `{{ stdlib("c") }}` variable is incorrect for noarch packages HOT 1
- conda-smithy rendered circle ci config for feedstocks don't run HOT 1
- BUG: MACOSX_SDK_VERSION not participating in merge logic HOT 7
- lint on most wheel-based python installs except `noarch: python` and `none-any.whl` HOT 3
- How to test updates to `.travis.yml` HOT 3
- ENH: extend free_disk_space to windows? HOT 1
- c_stdlib_version in conda_build_config.yaml ignored when cuda is used
- Additional rust linter rules
- rerender inverts a github_actions option in conda-forge.yml
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conda-smithy.