-
Notifications
You must be signed in to change notification settings - Fork 9
feat(taskfiles)!: Add checksum header comment; Update and refactor Boost tasks by:
#80
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
Open
davidlion
wants to merge
109
commits into
y-scope:main
Choose a base branch
from
davidlion:checksum-update
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
109 commits
Select commit
Hold shift + click to select a range
be569ba
fix(taskfiles)!: Check the specified FILE_SHA256 matches the download…
davidlion 3a9334e
Add checksum unit tests.
davidlion f807f1a
Merge remote-tracking branch 'upstream/main' into checksum-update
davidlion ffc0c06
Merge remote-tracking branch 'upstream/main' into checksum-update
davidlion 9e41b40
feat(taskfile)!: Use checksum tasks to prevent unnecessary repetition…
davidlion 3329f52
Follow yaml guidelines.
davidlion 5572a89
Fix yaml lint.
davidlion c8d706c
Fix boost 1.89 header change.
davidlion aca9e63
Try diff?
davidlion aef0786
Full switch to cmp.
davidlion b0ea5bc
Debug logs.
davidlion 3d66108
Resolve some rabbit coments.
davidlion 6af0c39
debugging CI
davidlion ea102c7
Resolve more rabbit coments.
davidlion 7c9701d
Switch to oneliner.
davidlion a6f7922
Make TARGETS required.
davidlion 9e3b981
who knows
davidlion 6740397
shell shock
davidlion b7849d9
Verbose testing.
davidlion 3d82d19
Fix logs.
davidlion 6930c6f
npm maybe
davidlion a3fedaa
sigh task scripts
davidlion 51c0ee8
typo
davidlion 77d6fea
syntax hard
davidlion 955d6bd
not on path
davidlion df4f9cb
sigh
davidlion 319771d
what is the magic syntax
davidlion c745ba8
meh
davidlion 8959121
maybe
davidlion 040b694
if else for macos
davidlion 2240fd4
just call bash idk
davidlion 4bc7164
no silent??
davidlion 4fdc23e
losing track
davidlion 23dd1e9
help
davidlion 4997cf2
full if statement
davidlion 05b2d68
dump shell options
davidlion 8d655c2
hmm unbound
davidlion be5d231
go panic
davidlion a6297c9
weird shell
davidlion 0144e84
error swallowing hmm
davidlion 361f891
free me
davidlion da843e9
forgive me
davidlion 1292184
maybe the end
davidlion cf02bb6
maybe the end
davidlion 8a72950
clpain
davidlion 2bb4119
hardswap diff?
davidlion 96f7cfe
cipain
davidlion 42f7495
same diff
davidlion 1a2c692
not posix?
davidlion d86541d
so lost
davidlion b03226c
try without pipefail
davidlion 058b867
try again
davidlion 74a07ba
no !
davidlion bb1688b
dumb person does dumb things
davidlion 6ddec14
dumb person does more dumb stuff
davidlion 7d96c0a
dumb person does even more dumb stuff
davidlion 5ef2d31
one more
davidlion dc829f2
bed time
davidlion f1c73f2
file dne?
davidlion 853afcf
bad mistakes
davidlion a9cf000
macos rm??
davidlion 6a959ee
need local macos runner
davidlion 78abea7
macos same checksum?
davidlion f09e083
why tar mad
davidlion 4743a67
this shouldn't work
davidlion b6552d1
gtar auto installed?
davidlion 2afbc02
check ignore_errors later
davidlion 4dd002b
bam
davidlion c72511e
Improve checksum compute and validate error handling; add unit tests.
davidlion 394d45f
Fix yaml lint; sanity check
davidlion 3b5a816
one more sanity check
davidlion 9c935f9
one more
davidlion 07b88fc
last one
davidlion 20802e7
remove test
davidlion a2ff6f4
Fix err log.
davidlion 194440e
Drop mktemp due to task bug.
davidlion 3a92d53
Add force to rm tmp files.
davidlion c31ef24
sub shells
davidlion 07fd3e4
Update readme with macos requirements.
davidlion 4ec6588
Tweak default list handling.
davidlion 93a6296
readme tweak
davidlion 5a230b9
doc string tweaks
davidlion 01280e1
fix sub shell and indentation.
davidlion b6df417
Add -f when removing checksum on failed compute.
davidlion 882c5be
Merge remote-tracking branch 'upstream/main' into checksum-fix
davidlion fbe8a72
Undo testing comment.
davidlion 8534c24
Apply suggestions from code review.
davidlion 40d4579
Merge remote-tracking branch 'upstream/main' into checksum-fix
davidlion bbb32bc
Add individual checksum task to tests.
davidlion d53221e
Merge remote-tracking branch 'upstream/main' into checksum-fix
davidlion 3871d7d
Apply suggestions from code review.
davidlion 35e3773
Merge branch 'main' into checksum-fix
davidlion d07138e
Address review comments and tweak if statements.
davidlion 53c12a4
Merge branch 'checksum-fix' into checksum-update
davidlion 95f680a
Revert workflow concurrency test.
davidlion 8363fc4
Add pipefail note to compute.
davidlion 25cb0be
Merge branch 'checksum-fix' into checksum-update
davidlion 3bd67a0
Fix coderabbit nits.
davidlion 94508f5
Merge branch 'checksum-fix' into checksum-update
davidlion f1aaacf
Merge remote-tracking branch 'upstream/main' into checksum-update
davidlion 51a1547
Update doc strings with latest and greatest ideas.
davidlion d9efd11
Change SOURCE_DIR to EXTRACTION to be consistent.
davidlion c678b74
Merge branch 'main' into checksum-update
Bill-hbrhbr 40cf0b3
Fix boost args by removing quotes and spaces.
davidlion f425cc6
Reorganize doc strings a bit.
davidlion 509bc3c
Touch ups.
davidlion 6773dcc
FAIL -> FAIL_ON_ERROR
davidlion 310401e
Add checksum docs and re-add set/shopt.
davidlion 50e2f71
Merge branch 'main' into checksum-update
davidlion File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,13 +1,45 @@ | ||
| version: "3" | ||
|
|
||
| set: ["u", "pipefail"] | ||
| shopt: ["globstar"] | ||
|
Comment on lines
+3
to
+4
Member
Author
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. I know we removed these in the last PR, but after some debate it is easier to have our guideline be to just always include these lines despite them only doing anything in the root taskfile. I'll update the guidelines when I get a chance. Sorry. |
||
|
|
||
| # The checksum tasks are a robust way for a task to decided whether or not it should run. | ||
| # | ||
| # For many tasks it is not feasible to list out all files in `sources` and `generates`. These tasks | ||
| # provide a way to `compute` a checksum for the contents of directories/files and `validate` whether | ||
| # the contents still match the checksum in later runs. | ||
| # | ||
| # When creating a checksum a task should: | ||
| # | ||
| # a. Call the `compute` task at the end to create the checksum file. | ||
| # b. Call `validate` in `deps` to verify the checksum file matches the current contents. | ||
| # - `validate` will delete the checksum file if there is no match. | ||
| # c. Add the checksum file to `generates`. This ensures the task runs if: | ||
| # - The task has not run before. | ||
| # - `validate` deleted the checksum file as the contents did not match. | ||
| # | ||
| # When multiple tasks mutate the same contents, each task updates the checksum file and also tracks | ||
| # whether it has run or not by creating a sentinel file. | ||
| # | ||
| # a. Before calling `compute`, create a sentinel file with a name unique to the task. | ||
| # b. Add the sentinel file to `generates`. This ensures the task runs if: | ||
| # - The checksum file exists and matches the contents, but this task has not been run. | ||
| # | ||
| # Additional guidelines: | ||
| # | ||
| # - When creating a directory that will be included in a checksum, always delete any existing | ||
| # contents first. | ||
| # - This ensures that if the contents diverge from the checksum file, the task is re-run with no | ||
| # stale data. | ||
| # - If task, A, implicitly depends on task, B, but A does not call `B` in `deps`, it is possible | ||
| # for a user to run A without having run B. A can ensure it fails gracefully by calling `validate` | ||
| # on B's checksum with `FAIL_ON_ERROR: "true"`. | ||
|
|
||
| tasks: | ||
| # Compute the checksum of the given path include/exclude patterns, saving the result to | ||
| # `CHECKSUM_FILE`. The calling task can set `IGNORE_ERROR` to "true" if they wish to continue if | ||
| # checksum computation fails. | ||
| # | ||
| # Note that using this task without setting `pipefail` in the root taskfile will cause `tar` | ||
| # failures to be ignored. | ||
| # | ||
| # @param {string} CHECKSUM_FILE | ||
| # @param {string[]} INCLUDE_PATTERNS Path wildcard patterns to compute the checksum for. | ||
| # @param {string[]} [EXCLUDE_PATTERNS=[]] Path wildcard patterns, relative to any | ||
|
|
||
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.