Skip to content
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

Enhance CI pipeline and modules calling #32

Conversation

AlexandruAntonescuKeysight
Copy link
Contributor

This PR is intended to enhance the CI pipeline and simplify the modules calling. It has the following additions:

In the main github workflow:

  1. updates the github checkout action to the last version
  2. installs protolock for backward compatibility checking
  3. adds semantic versioning and backward compatibility checking
  • a few files have been added: VERSION, version.py, proto.lock, protolock_check.sh

    • VERSION contains the version (major.minor.patch) in plain text; it is necessary for manually updating the major and dynamic version retrieval in pyproject.toml when installing with pip
    • proto.lock is a file generated by running the command protolock init (only once, after that when there are modification it is ran protolock commit); this tool is used for checking protobuff backward compatibility
    • protolock_check.sh is a script that checks if backward compatibility is broken by calling protolock status and if so, the minor version is incremented, otherwise the patch number is incremented
    • version.py is a python script that manages the incrementing step of the version (it is called by protolock_check.sh) and also updates the VERSION file with the new version
  • the pyproject.toml was also updated to dynamically read the version from the VERSION file when building or installing

  • also after the version is updated, a commit is made for submitting the new VERSION and proto.lock files to the repo

  1. adds steps for publishing the release on the main project page under the Releases section
  2. adds steps for building a python wheel of the project and publishing it to the assets section of the last added release

Also. this PR offers a solution to that redundancy problem when calling modules. For this, the pyproject.toml file was enhanced and the structure of the project was not modified.

  • now the user can call a module like this:

chakra_generator --num_npus 1

instead of

python3 -m chakra.et_generator.et_generator --num_npus 1

  • also, the old syntax is still available

@AlexandruAntonescuKeysight AlexandruAntonescuKeysight requested a review from a team as a code owner March 29, 2024 16:36
Copy link

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅

@TaekyungHeo
Copy link
Contributor

I appreciate your contribution, @AlexandruAntonescuKeysight! Could you please address the pipeline failures?

@github-actions github-actions bot locked and limited conversation to collaborators Apr 3, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants