generated from Cray-HPE/metal-template
-
Notifications
You must be signed in to change notification settings - Fork 6
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
Fixes #44 and #182 Build Once and Remove .version
#184
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
eafcbda
to
f1c906d
Compare
7b198a1
to
971e286
Compare
971e286
to
137c830
Compare
b87fdf6
to
a092c97
Compare
928e0cd
to
01f5dc7
Compare
11286c4
to
06aa701
Compare
trad511
reviewed
Oct 13, 2022
d782cf9
to
7e68582
Compare
.version
.version
49cea0b
to
20e62bf
Compare
This removes the `.version` files and uses git-tags. `canu` now versions itself within `setup.py` based on `git describe --tags`. This also builds canu inside of the RPM `specfile` using `pyinstaller` and no longer uses a special `pyinstaller` image. The spec file will create a `canu` user. All of the `requirements` files were converted into `setup.py`, this tidies up the repository by using less files. All references to the `.version` files were replaced by leveraging the `pkg_resources` module to fetch the version from the module `PKG_INFO`. This also breaks apart the GitHub actions for lint, docs, and tests into their own workflows allowing for more parallelization. Lastly this adds an automated, weekly dependabot scan for making PRs to update dependencies.
20e62bf
to
f148f40
Compare
Kudos, SonarCloud Quality Gate passed!
|
trad511
approved these changes
Oct 21, 2022
lukebates123
approved these changes
Oct 21, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary and Scope
This PR changes
canu
and its pipeline so that it only builds once and uses git-tags for defining stable. Currentlycanu
builds twice in the pipeline (once before the RPM to make the binary, and again for the Docker image).Full list of changes:
.version
andcanu/.version
, instead versioning is done via git-tagsrequirements
files, usingsetup.py
entirelycdrx/pyinstaller-linux:python3
image for building the binary, the binary is now built in the.spec
file using the running build environment (csm-docker-sle-python:3.10)README.md
as well as thepull_request_template.md
canu
the image build now installs thecanu
RPM (thus skipping a second build of thecanu
source)canu
user, this provides thecanu
user in the Docker image (it will also live on a system whether or not it is used but it is harmless)README.md
with information about the various versions that report (e.g. stable, unstable, and working directory);.dev1
meanscanu
is running from a dirty directory (with uncommitted files),.postX
meanscanu
is not stablePR checklist (you may replace this section):
nox
locally and all tests, linting, and code coverage pass.pyinstaller.py
README.md
README.md
Now feature/develop RPMs, Docker images,
canu --version
, and the generated switch config headers will look like this:After taking a new git-tag, that git-tag's build will produce an RPM, Docker image,
canu --version
, and the generated switch config headers will look like this:I tested my changes with the following commands on redbull, which produced a working
ccj.json
and generated switch configs:canu generate network config --ccj ccj.json --csm 1.3 --sls-file redbull/sls_input_file.json --folder generated Architecture Dell and Mellanox Architecture is deprecated sw-spine-001 Config Generated sw-spine-002 Config Generated sw-leaf-bmc-001 Config Generated Warning The following devices typically exist, but were not found in the current configuration. If the network is supposed to have these devices, check the SHCD to ensure all tabs were included. If the network does not contain these devices, disregard this warning. ------------------------------------------------------------ leaf edge cdu cec uan cmm
NOTE The return from the following commands was large so I did not attach it.
Issues and Related PRs
Testing
Tested on: