-
Notifications
You must be signed in to change notification settings - Fork 411
Check each commit at least builds in CI #696
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/sh | ||
set -e | ||
set -x | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The current progress is hidden as the rebase progresses. I tested a few things locally and I think something like I also really like the side-effect of being able to fix my issue in the middle of a rebase instead of having to create a temp branch, fix, rebase. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm, if it fails it should leave it where it was when it failed, no? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, when it fails it leaves it in the rebase where I can make changes which is great. When it doesn't fail it is still nice to see the progress which explains the --oneline |
||
echo Testing $(git log -1 --oneline) | ||
cargo check | ||
cd fuzz && cargo check --features=stdin_fuzz |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#!/bin/sh | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here are the use cases as I see them: As a developer, I want to know that every patch in my stack builds and passes "all?" tests against some remote before I push to my branch so I don't waste time later and have to backtrack when CI finally catches up to tell me I made a mistake. As a CI tool, I want to verify every commit against main and throw an error if a single commit doesn't build so future rebase and git bisect can work cleanly. From a developer point of view, I would love to use this tool against my own upstream branches for dependant PRs and in cases where my branch might not be in the most hygienic state, but I still get a lot of value in making sure everything builds with the current state of the world. I also don't really want rebase done for me since I would like to control when those actions happen in the event I am in a non-clean state. What about an API like this that allows the users to control the remotes that are used? Makes the auto-complete go away, too. CI: Dev: As a dev I want to see if my current work in progress is clean against a dependant branch As a dev I want to see if my current work in progress is clean against upstream/main and ready for PR. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm, I suppose we could just always do a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Errr, ok, it wasn't supposed to. |
||
if [ "$1" = "" ]; then | ||
echo "USAGE: $0 remote/head_branch" | ||
echo "eg $0 upstream/main" | ||
exit 1 | ||
fi | ||
|
||
set -e | ||
set -x | ||
|
||
if [ "$(git log --pretty="%H %D" | grep "^[0-9a-f]*.* $1")" = "" ]; then | ||
echo "It seems like the current checked-out commit is not based on $1" | ||
exit 1 | ||
fi | ||
git rebase --exec ci/check-compiles.sh $1 |
Uh oh!
There was an error while loading. Please reload this page.