{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":382379200,"defaultBranch":"master","name":"cue","ownerLogin":"cue-lang","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-07-02T14:55:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/62243907?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717708584.0","currentOid":""},"activityList":{"items":[{"before":"e09cb310d52d5b8a55cfa0e6eecd02d84db11b1f","after":"b423a2759b732805c472fc41d547dc04325d1382","ref":"refs/heads/master","pushedAt":"2024-06-06T21:16:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cue/format: ensure a newline after every comment\n\nThis is similar to the nooverride whiteSpace flag,\nbut only enforces the newline whitespace token to be printed.\n\nFixes #2567.\n\nCo-authored-by: Daniel Martí \nCo-authored-by: Noam Dolovich \nSigned-off-by: Noam Dolovich \nSigned-off-by: Daniel Martí \nChange-Id: I83bebcca9aeba14f84cbcf4c4befa0677da3fb0f\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195628\nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cue/format: ensure a newline after every comment"}},{"before":"889da91cd963e84071fd96980f1b1ace7dad2c39","after":"e09cb310d52d5b8a55cfa0e6eecd02d84db11b1f","ref":"refs/heads/master","pushedAt":"2024-06-06T15:18:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"pkg/path: add missing param declaration\n\nThe standard library function path.Match requires 3 parameters, but only\n2 are currently declared. This causes valid usage of the function to\nfail with the following error:\n\n too many arguments in call to path.Match (have 3, want 2):\n\nTo fix this, the missing parameter declaration is added.\n\nFixes #3203.\n\nSigned-off-by: Noam Dolovich \nChange-Id: I6e645293f8e589ad1834e3c33ff7bffc2abb5aed\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195888\nReviewed-by: Daniel Martí \nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"pkg/path: add missing param declaration"}},{"before":"a2292241985b553fa5f1011fb5cae8d245cc428a","after":"889da91cd963e84071fd96980f1b1ace7dad2c39","ref":"refs/heads/master","pushedAt":"2024-06-06T08:48:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"internal/mod/modload: remove debugging panic with sprintf\n\nI introduced this code two days ago in https://cuelang.org/cl/1195701\nand while developing, I had used Sprintf to inspect error values\nand panic to loudly surface when they happened in our test suite.\n\nUnfortunately, I forgot the panic and it made it past code review too.\n\nSigned-off-by: Daniel Martí \nChange-Id: I881d2e6ca2979470d7253b2bab0625644829975e\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195847\nTryBot-Result: CUEcueckoo \nReviewed-by: Rustam Abdullaev ","shortMessageHtmlLink":"internal/mod/modload: remove debugging panic with sprintf"}},{"before":"d3c72bf637bd802606d23fc614bbba0499972567","after":"a2292241985b553fa5f1011fb5cae8d245cc428a","ref":"refs/heads/master","pushedAt":"2024-06-05T22:07:56.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: suggest `cue mod fix` when `language.version` is missing\n\nThat is, if a user tries to use `mod tidy`, `mod get`, or `mod publish`\non a module without a `language.version` field, which is now mandatory,\nsuggest what the user should run to resolve that issue.\n\nNote that we don't apply this change to non-mod commands such as\n`cue export` because, as the TODOs explain, those scenarios should work\nfor the sake of backwards compatibility as a downstream user.\n\nWe also don't try to make this be consistent for all `cue mod` commands\nas it's not clear that all of them should require `language.version`.\nFor example, `mod init` creates a module, `mod fix` can add the field,\nand we should arguably teach `mod edit` to add or set the field too.\nFor now, add the suggestion to the three `cue mod` commands which are\nmost likely to be used when developing or publishing a CUE module.\n\nSigned-off-by: Daniel Martí \nChange-Id: I11cef96900b2a5984ad6c07abbd705108c2c2759\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195784\nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cmd/cue: suggest cue mod fix when language.version is missing"}},{"before":"604c5779a356006a5eff5d20354bfb6708a07e26","after":"d3c72bf637bd802606d23fc614bbba0499972567","ref":"refs/heads/master","pushedAt":"2024-06-05T22:05:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: test publishing a module with no major version suffix\n\nIncluding what commands the user might try running and what they do.\nAdding this scenario because I was surprised to see that the\n\"does not contain major version\" error was only covered in unit tests,\nand we had no coverage for what the user may do in this case.\n\nAs part of writing this test, I uncovered three surprising behaviors\nwhich are now recorded as TODOs.\n\nSigned-off-by: Daniel Martí \nChange-Id: I11c07f1dd823b36c676d8597ae3d8cda9ae9f21c\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195782\nUnity-Result: CUE porcuepine \nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cmd/cue: test publishing a module with no major version suffix"}},{"before":"4c87ab89a40d8ac6a70a81d736004d0bbafa14ad","after":"604c5779a356006a5eff5d20354bfb6708a07e26","ref":"refs/heads/master","pushedAt":"2024-06-05T21:30:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: add sanity check that 'cue mod publish' is idempotent\n\nhttps://cuelang.org/issue/3129 captures the fact the 'cue mod publish'\nshould be idempotent with respect to the contents of a module. It is\nalso the case that given the same \"state\" (with respect to source.kind),\n'cue mod publish' should be idempotent.\n\nAlong with a rather large explanation on the expectations of the\nin-memory OCI server, this CL adds a simple check that 'cue mod publish'\nis idempotent for the two existing source.kind values, \"self\" and \"git\".\n\nFixes #3129.\n\nSigned-off-by: Paul Jolly \nChange-Id: I131e58c7726912e656b2023626fe36a9792e7e55\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195805\nReviewed-by: Daniel Martí \nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cmd/cue: add sanity check that 'cue mod publish' is idempotent"}},{"before":"c372c04aad79d891aa4eac777b913a494c38a0d8","after":"4c87ab89a40d8ac6a70a81d736004d0bbafa14ad","ref":"refs/heads/master","pushedAt":"2024-06-05T16:09:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"internal/ci: bump pinnedReleaseGo for v0.9.0\n\nSigned-off-by: Daniel Martí \nChange-Id: Ib77e818fc2cca46e51eb74d7ae96a1aa66d405f0\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195793\nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo \nReviewed-by: Paul Jolly ","shortMessageHtmlLink":"internal/ci: bump pinnedReleaseGo for v0.9.0"}},{"before":"b053780405ad18632c616f26d4ec8c3c524a61f9","after":"c372c04aad79d891aa4eac777b913a494c38a0d8","ref":"refs/heads/master","pushedAt":"2024-06-05T15:13:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: remove CUE_VERSION_OVERRIDE from testscripts\n\nAs described in https://cuelang.org/cl/1195718,\n`cue mod tidy` no longer adds or modifies `language.version` in any way,\nso the use of CUE_VERSION_OVERRIDE in its tests was pointless now.\n\nThe only other use was in a `cue mod init` test that double checked\nthat the language.version inserted by init was decoupled from CUE's\nmodule version by setting the module version to an empty pseudo-version.\nHowever, this is unnecessary as CUE's own module version is almost never\nexactly equal to the current language version, as it would only be the\ncase when one tests exactly a stable version such as\n\n go test cuelang.org/go@v0.9.0\n\nIn practice, we continuously test master and pre-releases,\nwhere the two versions will never be the same.\nKeeping CUE_VERSION_OVERRIDE just for that edge case seems unnecessary.\n\nSigned-off-by: Daniel Martí \nChange-Id: I47161a3abcc476606b6dfe91177cdf541dd73303\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195781\nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo \nReviewed-by: Paul Jolly ","shortMessageHtmlLink":"cmd/cue: remove CUE_VERSION_OVERRIDE from testscripts"}},{"before":"2eab1b70493c71747c240a7830112fa4e82da2d8","after":"b053780405ad18632c616f26d4ec8c3c524a61f9","ref":"refs/heads/master","pushedAt":"2024-06-05T12:40:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cue/format: fix incorrect quote removal in fmt -s\n\nFix https://cuelang.org/cl/1193386 introduced a regression in which\ncertain labels will have their quotes removed, resulting in modifying\nthe semantics of the original CUE.\n\nThe current algorithm is split into two:\n\n 1. It identifies, for each string in the AST, whether its quotes can\n be removed without altering the original semantics of the CUE.\n 2. Based on the collected data, it then strips quotes from strings\n where applicable.\n\nThe above CL incorrectly caused the string replacement step (2) to walk\neach ast node entirely, instead of only handling the node label. This\ncaused the scope information to be incorrectly interpreted, since it is\nonly meant for a specific label and not the entire subtree.\n\nTake for example the following CUE:\n\n foo: {}\n bar: \"foo\": foo\n\nWhen the algorithm reaches the node representing \"bar\", it will now\ndescend into both the label node (ident bar) and the value node\n(the {\"foo\": foo} struct). But the scoping information is built in\nsuch a way that it's applicable only to the bar label - not the entire\ntree located under bar. The data then causes \"foo\" to incorrectly be\nreplaced with foo.\n\nNote that this introduces a minor \"regression\" in which fields are not\nsimplified inside of complex label, so that the following expression\nwill no longer be simplified:\n\n [!={\"a\": 1}.a]: {}\n\nIt is now clear to me that the original algorithm intentionally did not\ntake such cases into account, and they were simplified because of the\nabove bug.\n\nFixes #3189.\n\nSigned-off-by: Noam Dolovich \nChange-Id: I84c2db55f62054950ad77c0fa69a777218fcc86d\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195742\nTryBot-Result: CUEcueckoo \nReviewed-by: Daniel Martí \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cue/format: fix incorrect quote removal in fmt -s"}},{"before":"b6278c4683a28a8d7020695441b439ab80e8b06a","after":"2eab1b70493c71747c240a7830112fa4e82da2d8","ref":"refs/heads/master","pushedAt":"2024-06-05T04:36:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"mod/modfile: fix up comments in module.cue schema\n\nWe currently maintain a copy of mod/modfile/schema.cue by hand over at\ncuelang.org. Automating this is covered by #2809 (with indirect support\nof #3193)\n\nTo help make the copy-paste easier, and ahead of again copy-pasting to\nbring the cuelang.org copy up to date with the addition of the 'source'\nfield, adjust the formatting of the source schema.cue (in particular\nline wrapping), and make a couple of corrections in the process:\n\n* default major versions are implemented; remove the TODO associated\n with implementing them.\n* Correct 'The special value \"none\"...' - the special value is \"self\"\n when talking about a source. Also correct the circular language of\n \"self\" being defined in terms of the contents of the module (that is\n what source is seeking to define as the source of truth after all).\n\nThe whitespace changes in schema.cue have resulted in line number\nchanges which affect the loader_test.go expectations.\n\nSigned-off-by: Paul Jolly \nChange-Id: I55ed3f054541476d8e3dc150f0ae4fa95bf3f061\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195697\nReviewed-by: Daniel Martí \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"mod/modfile: fix up comments in module.cue schema"}},{"before":"0c3a848e3290ca15ae3173c932dab559f6152b95","after":"b6278c4683a28a8d7020695441b439ab80e8b06a","ref":"refs/heads/master","pushedAt":"2024-06-04T14:23:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: ensure module is tidy before 'mod publish' publishes\n\nFixes a TODO in the code, and also ensures that the user\nis presented with a helpful suggestion to run `cue mod tidy`\nrather than being given a generic \"module is not tidy\" error message\nfrom the central registry over HTTP.\n\nSigned-off-by: Daniel Martí \nChange-Id: I2bc3d6b8ceda38ea0ad4074121602082eb056921\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195731\nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cmd/cue: ensure module is tidy before 'mod publish' publishes"}},{"before":"f23bb9ff1795aad9bbd3b41fb85d4e41ea197d1a","after":"0c3a848e3290ca15ae3173c932dab559f6152b95","ref":"refs/heads/master","pushedAt":"2024-06-04T14:22:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: add a test for `cue mod publish` on a non-tidy module\n\nThis succeeds right now, but it shouldn't, and we already have\na TODO in modpublish.go for this reason.\nThis is important not only by itself as a default sanity check,\nbut also for the upcoming change to consistently suggest\nthat the user run 'cue mod fix' when an operation on the current module\nfails because it lacks a language.version field.\n\nSigned-off-by: Daniel Martí \nChange-Id: I8e0c91c3a526dbe2753e1e51d504146b2d85f1a8\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195727\nReviewed-by: Paul Jolly \nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cmd/cue: add a test for cue mod publish on a non-tidy module"}},{"before":"ba0047e76623e25dce0f6914834042e82c6dd2d3","after":"f23bb9ff1795aad9bbd3b41fb85d4e41ea197d1a","ref":"refs/heads/master","pushedAt":"2024-06-04T14:10:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"all: use ocimem in its immutable form in all tests\n\nUnfortunately, ocimem.New defaults to a mutable in-memory registry,\nwhich hides any unintended mutations in our tests\nas we should be trying to mimic a realistic immutable registry setup.\n\nThe only exception is a modregistry client test\nwhich does expect to be able to delete a tag, but that one is fine.\n\nRaised https://github.com/cue-labs/oci/issues/33 to track making\nocimem.New default to an immutable registry, and opting into mutability.\n\nSigned-off-by: Daniel Martí \nChange-Id: I0368f075455640e360601b047cfb62b86e3b064c\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195730\nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"all: use ocimem in its immutable form in all tests"}},{"before":"3c5d18e1bbf93f9fff2f8059056907f32aae31cf","after":"ba0047e76623e25dce0f6914834042e82c6dd2d3","ref":"refs/heads/master","pushedAt":"2024-06-04T13:51:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"internal/mod/modload: remove dead language.version check in CheckTidy\n\nmodfile.ParseNonStrict already requires the field to be set,\nso by the time we reach this stage of CheckTidy,\nwe will have already failed if language.field is missing.\n\nThis seems like a remnant from the refactor to require language.version\nin https://cuelang.org/cl/1193275, where this old check was left behind.\n\nNo test changes because we already have tests that cover what happens\nwhen `cue mod tidy` is run on a module without language.version,\nand their behavior is unchanged due to the reason above.\n\nSigned-off-by: Daniel Martí \nChange-Id: I1a2c69e95823162d81c24a2fa73c87b24f5fe355\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195720\nUnity-Result: CUE porcuepine \nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"internal/mod/modload: remove dead language.version check in CheckTidy"}},{"before":"dd4e28eefc94c2e02833306cdc56d10d7511cbbd","after":"3c5d18e1bbf93f9fff2f8059056907f32aae31cf","ref":"refs/heads/master","pushedAt":"2024-06-04T13:50:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"mod: remove unused parameters from APIs\n\nMostly unnecessary context parameters, including from the exposed\nAPI GetModuleWithManifest, as it is still experimental\nand is documented as not fetching anything via an OCI client.\n\nWhile here, remove unnecessary type parameters as well.\n\nSigned-off-by: Daniel Martí \nChange-Id: Ie1cd36b856bdae74a2fdba3d738de7305112b7d6\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195719\nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine \nReviewed-by: Paul Jolly ","shortMessageHtmlLink":"mod: remove unused parameters from APIs"}},{"before":"8f9fa680532591e3bc77ce5692d703e323e6b750","after":"dd4e28eefc94c2e02833306cdc56d10d7511cbbd","ref":"refs/heads/master","pushedAt":"2024-06-04T13:50:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"internal/mod/modload: rip out language.version logic from Tidy\n\nhttps://cuelang.org/cl/1193275 started requiring language.version\nto be set when parsing cue.mod/module.cue with CUE_EXPERIMENT=modules,\nnow a default as of v0.9.0-rc.1.\n\nhttps://cuelang.org/cl/1194780 then added `cue mod fix` which is now\nresponsible for adding a language.version field if not present.\n\nBecause of the first CL now making `cue mod tidy` fail if\nlanguage.version is not declared, and thanks to the second CL\nintroducing `cue mod fix` for this purpose, we can reomve the old code\nwhich taught `cue mod tidy` to add language.version if missing.\n\nWhile here, rename two modload txtar files for clarity to reflect\ntheir new behavior, as tidy never adds a version anymore.\n\nSigned-off-by: Daniel Martí \nChange-Id: Id357f1a04e908829ea58a2ff127869d190c2a593\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195718\nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"internal/mod/modload: rip out language.version logic from Tidy"}},{"before":"ebf7dca36f4c0017f72aaaaff70a601598cbd806","after":"8f9fa680532591e3bc77ce5692d703e323e6b750","ref":"refs/heads/master","pushedAt":"2024-06-04T13:24:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"internal/mod/modload: rewrite \"missing dependency\" errors in CheckTidy\n\nThat is, telling the user\n\n module is not tidy, use 'cue mod tidy': cannot find module providing package example.com@v0:main\n\nmay be confusing, as example.com likely does exist in a registry\nand will be added once they run 'cue mod tidy'.\n\"cannot find module\" is a bit of a lie as CheckTidy does not try to\nfetch missing dependencies from registries.\n\nInstead, we now say:\n\n module is not tidy, use 'cue mod tidy': missing dependency providing package example.com@v0:main\n\nSigned-off-by: Daniel Martí \nChange-Id: Ia1549bdc2a1c97c17e29e7e8914085c5c680724e\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195701\nTryBot-Result: CUEcueckoo \nReviewed-by: Paul Jolly \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"internal/mod/modload: rewrite \"missing dependency\" errors in CheckTidy"}},{"before":"753536f6a9c4821c0c8185d2882a36b2e0469faa","after":"ebf7dca36f4c0017f72aaaaff70a601598cbd806","ref":"refs/heads/master","pushedAt":"2024-06-04T13:20:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"internal/mod/modload: skip over local module requirements in CheckTidy\n\nA user reported that they were trying to publish a tidied module,\nwhere the latest version of CUE made no changes via `cue mod tidy`,\nyet the central registry responded with:\n\n 400 Bad Request: manifest invalid: module is not tidy\n\nAnd indeed, it turns out this error came from `cue mod tidy --check`.\nAfter a bit of digging, it seems like the cause was the module\ncontained packages in cue.mod/gen/ which were imported from the root\npackage in the module, and this causes --check to think the module's\nrequirements are not up to date, even though `cue mod tidy` is happy.\n\nThis makes `cue mod tidy --check` agree with `cue mod tidy`\nin the case where the current module requires \"local\" modules\nfrom cue.mod/*/ directories, as those are not written out\nas dependencies in cue.mod/module.cue.\n\nThe added test case failed the newly added sanity check without the fix:\n\n --- FAIL: TestTidy/testdata/tidy/cuemod-local.txtar (0.01s)\n quicktest.go:22:\n error:\n got non-nil value\n comment:\n CheckTidy after a successful Tidy should not fail\n got:\n e\"module is not tidy\"\n stack:\n /home/mvdan/src/c/cue/internal/mod/modload/tidy_test.go:72\n qt.Check(t, qt.IsNil(err), qt.Commentf(\"CheckTidy after a successful Tidy should not fail\"))\n\nSigned-off-by: Daniel Martí \nChange-Id: Ic0575567a9bea52fdb9cc10a0450d633d190c053\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195659\nReviewed-by: Paul Jolly \nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"internal/mod/modload: skip over local module requirements in CheckTidy"}},{"before":"6bbbb9ce70efa5a6ac56b66949878b94f7201004","after":"753536f6a9c4821c0c8185d2882a36b2e0469faa","ref":"refs/heads/master","pushedAt":"2024-06-04T13:19:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"internal/mod/modload: test that CheckTidy is happy after Tidy\n\nThat is, if Tidy succeeds, CheckTidy should also succeed\non the resulting cue.mod/module.cue file.\n\nSigned-off-by: Daniel Martí \nChange-Id: I15c170e85d4fd3c1fc48702971fd772a8c0633b0\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195699\nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo \nReviewed-by: Paul Jolly ","shortMessageHtmlLink":"internal/mod/modload: test that CheckTidy is happy after Tidy"}},{"before":"19e990d82298ba18ca4b0ca5a0a2a60e13dc3bc5","after":"6bbbb9ce70efa5a6ac56b66949878b94f7201004","ref":"refs/heads/master","pushedAt":"2024-06-04T09:48:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: correct spelling of dry run flag\n\nCurrently cue mod publish spells our intention to do a dry run as\n'--dryrun'. This is inconsistent with other two-word flags.\n\nFix that by spelling it '--dry-run'.\n\nAlso fix up documentation and variable names such that the output of the\nfollowing is consistent:\n\n git grep -i -e 'dry.\\?run'\n\nSigned-off-by: Paul Jolly \nChange-Id: I565e64771328bfea138bc2b776365828c6043f54\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195645\nUnity-Result: CUE porcuepine \nReviewed-by: Daniel Martí \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cmd/cue: correct spelling of dry run flag"}},{"before":"570b83b990477d34b8457e15a2bd34181b3568c9","after":"19e990d82298ba18ca4b0ca5a0a2a60e13dc3bc5","ref":"refs/heads/master","pushedAt":"2024-06-04T09:05:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: copy LICENSE files from VCS root where non exists in module\n\nWhen a module in a subdirectory of a repo controlled by VCS does not\ninclude a LICENSE file, include the LICENSE file from the repo root if\none exists (and is \"clean\" with respect to VCS).\n\nWe also extend the test go publish with git to include a check that a\nVCS root LICENSE file is only included when it is clean with respect to\nthe current commit.\n\nFixes #3130.\n\nSigned-off-by: Paul Jolly \nChange-Id: I872310ac3f3ce429917f50aa87395a7b524f0c06\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195546\nReviewed-by: Daniel Martí \nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cmd/cue: copy LICENSE files from VCS root where non exists in module"}},{"before":"10e9cf16ada11fe18e4ce264963bf9b299408d0c","after":"570b83b990477d34b8457e15a2bd34181b3568c9","ref":"refs/heads/master","pushedAt":"2024-06-04T09:04:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"all: remove the last remnants of the old :: definition syntax\n\nNote that TestNoLiteralComments did not fail as the scanner parses\nthe old-style definition token \"::\" as two separate colon tokens \":\",\nmeaning that the scanner itself does not error.\nIt would be the parser built on top of the scanner which would fail\nwith a syntax error, but this test does not use the parser.\n\nSigned-off-by: Daniel Martí \nChange-Id: I3122cadfca74cb52e73445569d79db282f9f0e44\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195586\nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"all: remove the last remnants of the old :: definition syntax"}},{"before":"a3b1138766dcaaab5f40bb229c18fe9497b30d9c","after":"10e9cf16ada11fe18e4ce264963bf9b299408d0c","ref":"refs/heads/master","pushedAt":"2024-06-04T09:03:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"mod/modzip: sort files by Path before creating zip archive\n\nThis ensures that the result of modzip.Create is stable with respect to\nits file inputs. This is important because the zip archive we create\nshould really be independent of the source from which we derived the\nfile list. Currently, the list of files passed to the Create function is\nordered according to varying semantics. Rather than trying to whack a\nmole with all the call sites, make it part of the contract of Create\nthat it will sort in a path-aware lexical fashion (files first, then\nthen directories, both lexically ordered).\n\nNote: this change adjusts the contract of some non-internal API in\nmod/modzip. However, the mod/modzip API is marked as experimental.\nIndeed the modzip.Create function is marked as deprecated. And yet all\nof our code uses it. As such, this change is not as \"serious\" as it\nmight first appear. The main TODO here is to fix up and make the modzip\nAPI non-exerpimental, removing deprecated functions etc. This change\ndoes not, arguably, make the current situation any worse.\n\nSigned-off-by: Paul Jolly \nChange-Id: If230d55d7d93a81d4510d35d25c66020cd378c40\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195668\nTryBot-Result: CUEcueckoo \nReviewed-by: Daniel Martí \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"mod/modzip: sort files by Path before creating zip archive"}},{"before":"1ea6c49da23db935d44952421f0e436e9b0bf494","after":"a3b1138766dcaaab5f40bb229c18fe9497b30d9c","ref":"refs/heads/master","pushedAt":"2024-06-03T13:30:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"internal/vcs: refactor to prepare for LICENSE file inclusion\n\nIncluding LICENSE files from the root of a VCS repo in the case where no\nLICENSE file is present in a subdirectory module requires that we\nperform all operations from the module root.\n\nWe prepare for this by making ListFiles and Status take paths instead of\nimplicitly operating on the module subdirectory. This allows us to\nperform separate checks on the root LICENSE file if one exists. Indeed\nthe concept of a VCS implementation keeping track of a subdir is\neliminated entirely.\n\nAs part of this we expand the VCS test suite to include a number of\nscenarios that cover the \"edges\" of ListFiles and Status.\n\nWe also fix a bug in passing where git ListFiles implementation did not\ncorrectly handle an empty result, i.e. the situation where no files\nmatch args.\n\nFor #3130.\n\nSigned-off-by: Paul Jolly \nChange-Id: Id669490a447a4f07ced611f3323868b4519b1919\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195548\nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo \nReviewed-by: Daniel Martí ","shortMessageHtmlLink":"internal/vcs: refactor to prepare for LICENSE file inclusion"}},{"before":"7490a3d2e320b6e2d974b61285fa35286b022d5f","after":"1ea6c49da23db935d44952421f0e436e9b0bf494","ref":"refs/heads/master","pushedAt":"2024-06-03T07:46:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cue/load: create test data with broken cue dynamically\n\nIn https://cuelang.org/cl/1193030, multiple cue files were added in\norder to test that load.Instances returns build instances sorted by\ndirectory and package name.\nEach cue file belongs to a different package, causing commands like\n`cue vet ./...` to fail with the following error:\n\n found packages \"a\" (a.cue) and \"b\" (b.cue) in\n \"cue/load/testdata/testsort\"\n\nTo resolve this these cue files are created dynamically as part of the\ntest, instead of being stored statically on disk.\n\nChange-Id: I94661c5446183ad300b37ddf46312821dbd8a66b\nSigned-off-by: Noam Dolovich \nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195592\nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine \nReviewed-by: Daniel Martí ","shortMessageHtmlLink":"cue/load: create test data with broken cue dynamically"}},{"before":"0a1900c731d438dd3815e2d1d84fe053c351ad13","after":"7490a3d2e320b6e2d974b61285fa35286b022d5f","ref":"refs/heads/master","pushedAt":"2024-06-01T21:50:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"CONTRIBUTING: tidy up the way CUE authors or contributors are tracked\n\nThe CONTRIBUTING.md doc has referenced a CONTRIBUTORS file for years,\neven though no such file has ever existed.\n\nIn a similar fashion, CONTRIBUTING.md referenced an AUTHORS file\nwhich has existed but has only ever listed \"Google LLC\",\nso it wasn't an accurate or up to date list of CUE Authors either.\n\nMuch like Go did in https://go.dev/issue/53961,\nremove both of these files and point to Git as the source of truth\nfor a complete list of names (and emails) of CUE's contributors.\n\nWhile here, reword the copyright year text to be less verbose.\n\nFixes #2684.\n\nSigned-off-by: Daniel Martí \nChange-Id: I6ed1b59e2357a252bd2d62a73cfb96e1bd14054c\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195554\nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"CONTRIBUTING: tidy up the way CUE authors or contributors are tracked"}},{"before":"26db19be0d359943a8bf7f1681396c52e762d118","after":"0a1900c731d438dd3815e2d1d84fe053c351ad13","ref":"refs/heads/master","pushedAt":"2024-05-31T11:31:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: rework mod publish with git test\n\nIn preparation for a later change where we add support for inclusion of\nLICENSE files from a VCS root where none exists in a module directory,\nwe rework the registry_publish_with_git.txtar test.\n\nEven though we add more module dependencies to the test (again in\nsupport of the later change to verify LICENSE file inclusion), there is\nno semantic change in what is currently covered by this test.\n\nSigned-off-by: Paul Jolly \nChange-Id: I04df8da1798674c669e752560d53478fa76e9aab\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195545\nReviewed-by: Daniel Martí \nReviewed-by: Chief Cueckoo \nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cmd/cue: rework mod publish with git test"}},{"before":"73a1c2d199503430b77474407daefbf33656ce78","after":"26db19be0d359943a8bf7f1681396c52e762d118","ref":"refs/heads/master","pushedAt":"2024-05-31T07:33:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cue/load: consistently use canonical import paths to load packages\n\nOtherwise trying to load an import path with an unnecessary qualifier,\nsuch as \"mod.com/x:x\", would be added to the map of known packages\nunder its canonical form \"mod.com/x\", but we would do the lookup\nbased on the original non-canonical import path, not finding a match.\n\nAdd reminders to the relevant places about the paths being canonical,\nand use a separate variable for unqualified import paths for clarity.\nThe use of unqualified paths seems wrong to me too, so add a TODO.\n\nFixes #3162.\n\nSigned-off-by: Daniel Martí \nChange-Id: Ifc748ce61420f501b08216662b647e5475822593\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195530\nReviewed-by: Paul Jolly \nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cue/load: consistently use canonical import paths to load packages"}},{"before":"b03dd62ad401f4dc33182657ba0f197b0f12b532","after":"73a1c2d199503430b77474407daefbf33656ce78","ref":"refs/heads/master","pushedAt":"2024-05-31T07:33:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: do not require source to be set for v0.8 language.versions\n\nAny users who had created CUE modules with CUE_EXPERIMENT=modules\nusing one of the v0.8 releases could publish to a registry, such as:\n\n module: \"github.com/example/repo@v0\"\n language: {\n version: \"v0.8.0-alpha.3\"\n }\n\nSuddenly, the latest v0.9 alphas started failing on those:\n\n no source field found in cue.mod/module.cue\n\nThis error is a breaking change for the users which isn't necessary.\nThe old logic was basically equivalent to source.kind=\"self\";\nwe should only require the explicit field on newer language versions.\n\nMoreover, the error was confusing: just adding a source.kind field,\nwithout bumping language.version to one with the newer schema, failed:\n\n invalid module.cue file: source field is not allowed at this language version; need at least v0.9.0-alpha.0\n\nUpdates #3145.\n\nSigned-off-by: Daniel Martí \nChange-Id: I6752e4d6f2e687e2cd568f4a807b76b64e1e057e\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195526\nTryBot-Result: CUEcueckoo \nReviewed-by: Paul Jolly \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cmd/cue: do not require source to be set for v0.8 language.versions"}},{"before":"a917c576136340e1a6960b15e2574fb72ce747d0","after":"b03dd62ad401f4dc33182657ba0f197b0f12b532","ref":"refs/heads/master","pushedAt":"2024-05-31T07:32:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"cueckoo","name":"cueckoo","path":"/cueckoo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62251246?s=80&v=4"},"commit":{"message":"cmd/cue: add test cases for publishing with older language.versions\n\nSee the added comments to the testscript; this shows the current logic.\nThe following commit will tweak the logic to fix the TODO.\n\nFor #3145.\n\nSigned-off-by: Daniel Martí \nChange-Id: Ib50b1f6fb0e685ffe7af687fe962ea02d9ef6056\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195525\nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine \nReviewed-by: Paul Jolly ","shortMessageHtmlLink":"cmd/cue: add test cases for publishing with older language.versions"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXqCEpgA","startCursor":null,"endCursor":null}},"title":"Activity · cue-lang/cue"}