GithubHelp home page GithubHelp logo

Comments (2)

eecavanna avatar eecavanna commented on July 25, 2024

I don't know that Git allows for this: store files in the repo, but ignore changes to those files. 🤷

Maybe this will involve a check performed by GitHub Actions.

Or a $ make committable command that uses Git to revert the generated files to their original states.

Maybe it will involve changing how/where the files are generated.

from nmdc-schema.

turbomam avatar turbomam commented on July 25, 2024

Thanks for thinking this though, @eecavanna

Here are my goals:

  • all of the project/, nmdc_schema/ and examples/output files generated by make squeaky-clean all test should be included in releases. I think @pkalita-lbl thinks including examples/output/ and maybe some other generated files is excessive and I would be willing to reconsider. The examples/output/ files are nice because they show the src/data/valid/ files in their canonical forms. My release strategy has been
    1. merging pending PRs into main
    2. making and merging a new PR in which the version strings in src/schema/nmdc.yaml and pyproject.toml are updated
    3. checking out the latest main, running make squeaky-clean all test, and committing that directly into main. That could be modified if there is a better flow.
  • generally speaking, PRs should not update any of those files, with one big exception: Python code in nmdc_schema/ authored by an NMDC team member. This is in contrast with autogenerated Python files in that directory, like the following. I am open to re-organizing the authored code from the generated code, but that shoud to be done in a way that doesn't complicate building or using the package.
    • nmdc.py
    • nmdc_schema_accepting_legacy_ids.py
    • nmdc_schema_merged.yaml
  • it would be nice if changes to project/, authored code in nmdc_schema/ and examples/output was not reported by git status and was blocked by the .gitignore, but if that isn't possible, we can write better documentation and/or restructure nmdc_schema/
  • if merging the berkeley-schema-fy24 fork into nmdc-schema will cause conflicts in project/, nmdc_schema/ or examples/output, we could make an exception an allow that, following the release flow I have documented above

PS: when @aclum's Napa re-iding squad is done, we can modify the Makefiles so that the nmdc_schema_accepting_legacy_ids* files aren't generated any more.

from nmdc-schema.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.