-
Notifications
You must be signed in to change notification settings - Fork 165
ci: Refactor scripts #60
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
Conversation
c2ad80e to
6be0456
Compare
8bb36fb to
20e4cfb
Compare
20e4cfb to
4f7ad78
Compare
|
Just realised that the "filter" is not as precise as it should be. For example, when the main Update: The conditional filter was removed. |
joncinque
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing show-stopping, mostly small questions -- looks great!
Cargo.toml
Outdated
| five8_const = "0.1.3" | ||
| pinocchio = { path = "sdk/pinocchio", version = ">= 0.6, <= 0.7" } | ||
| pinocchio-pubkey = { path = "sdk/pubkey", version = "0.2.1" } | ||
| pinocchio = { path = "sdk/pinocchio", version = ">= 0.6" } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the version specified like that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is probably me not using the workspace dependencies correctly. I was trying to avoid bumping dependencies on other packages unnecessarily. For example, if pinocchio-pubkey can work with multiple versions of pinocchio and pinocchio has been bumped to 0.7, I still want to specify that pinocchio-pubkey works with anything from >= 0.6.
But perhaps this is not the correct way to do that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah I see, let's just keep them all at the same version for now, I think it'll make things simpler in the long run.
joncinque
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple more comments, then this can go in!
Cargo.toml
Outdated
| five8_const = "0.1.3" | ||
| pinocchio = { path = "sdk/pinocchio", version = ">= 0.6, <= 0.7" } | ||
| pinocchio-pubkey = { path = "sdk/pubkey", version = "0.2.1" } | ||
| pinocchio = { path = "sdk/pinocchio", version = ">= 0.6" } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah I see, let's just keep them all at the same version for now, I think it'll make things simpler in the long run.
joncinque
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
Problem
CI currently has limited checks and the
publish.ymlworkflow is limited to a couple of crates.Solution
Refactor the CI. This involved using a new set of supporting scripts, which can also be used from the command-line:
audit: audit dependencies of the workspacebuild: build a crate withbuild-sbf(useful to detect issues with code under thetarget = solanaconfigurationclippy: run clippydoc: linting of doc sectionsformat: runcargo fmthack: linting of feature powersetlint: executeclippy && doc && hackin sequencesemver: semantic versioning validationtest: runcargo testCI make use of these scripts to run:
auditformatclippydochackbuildtestThe
publish.ymlworkflow was updated to work with any crate of the reposiroty and incorporatessemver-checksbased on the version level. If the version level selected for publishing violates semantic versioning, the publishing fails. For example, if the code to be published under apatchversion contains breaking changes, thesemver-checkwill fail and the publish workflow will abort.Note
The code in main is currently failing the
doclinting - #64 fixes these issues.