{"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:1718212105.0","currentOid":""},"activityList":{"items":[{"before":"4bcab035a7922a72579973ef245778aab3341398","after":null,"ref":"refs/heads/ci-test","pushedAt":"2024-06-12T17:08:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mvdan-cue-owner","name":null,"path":"/mvdan-cue-owner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149601747?s=80&v=4"}},{"before":"596c99191ad1eb7c39d547e59bc7085751d7952b","after":null,"ref":"refs/heads/release-branch.v0.8","pushedAt":"2024-06-12T17:08:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mvdan-cue-owner","name":null,"path":"/mvdan-cue-owner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149601747?s=80&v=4"}},{"before":null,"after":"889da91cd963e84071fd96980f1b1ace7dad2c39","ref":"refs/heads/release-branch.v0.9","pushedAt":"2024-06-12T17:00:53.000Z","pushType":"branch_creation","commitsCount":0,"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":"ac341573ca654a2423f96fb26c9ac84297bcccdb","after":"b44f02fb7cd417e9280bd770c4b4bc348a9de5d8","ref":"refs/heads/master","pushedAt":"2024-06-12T14:47: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":"cmd/cue: parse module.cue file in non-strict mode\n\nWe do not want to prevent editing a module.cue file\nwhen the strictness criteria are not met.\n\nFixes #3211.\n\nSigned-off-by: Roger Peppe \nChange-Id: I31991846db9a1815eeaa4cc41720e0943e74e4a0\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1196180\nTryBot-Result: CUEcueckoo \nReviewed-by: Daniel Martí \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cmd/cue: parse module.cue file in non-strict mode"}},{"before":"4111b3eb3c794472d3d9403410c25948423b9b9e","after":"ac341573ca654a2423f96fb26c9ac84297bcccdb","ref":"refs/heads/master","pushedAt":"2024-06-12T14:26:45.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: fix loading when Config.Package does not match default package\n\nWhen a caller of `cue/load.Instances`, specifies an explicit package\nto load by setting `Config.Package`, it should be essentially the\nsame as specifying an explicit package qualifier in all package arguments\nthat don't already have one. That's not the case currently. This change\nfixes that.\n\nFixes #3213.\n\nSigned-off-by: Roger Peppe \nChange-Id: I740a16911340e083776303fb0e454b4533e66f2f\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1196178\nReviewed-by: Daniel Martí \nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cue/load: fix loading when Config.Package does not match default package"}},{"before":"63d1318baaea6df2cee077d9b9e0ac4bba920bbf","after":"4111b3eb3c794472d3d9403410c25948423b9b9e","ref":"refs/heads/master","pushedAt":"2024-06-12T14:26:30.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: add tests for issue 3213\n\nIssue #3213 exposed a shortcoming in the modules\nlogic when there is a Package field explicitly specified\nin the cue/load.Config struct. This CL adds some tests\nto expose existing behavior in this respect\nbefore a subsequent CL will apply a fix.\n\nFor #3213.\n\nSigned-off-by: Roger Peppe \nChange-Id: If101f7b6729acdc87a9ae62ebd932044fb276e51\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1196177\nReviewed-by: Daniel Martí \nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cue/load: add tests for issue 3213"}},{"before":"b44ef61b4c3c0c587c7c8bb28b46a1a9d9bacc23","after":"63d1318baaea6df2cee077d9b9e0ac4bba920bbf","ref":"refs/heads/master","pushedAt":"2024-06-12T14:26:11.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":"cue/load: add Config.AcceptLegacyModules\n\nIn some cases, we want to be able to accept legacy module files (module\nfiles lacking a major version) because there's no easy way to fix them\nby running `cue mod fix`. When running the cue command, `cue mod fix`\nshould always be a possibility - the problem exists principally when\nusing `cue/load` directly.\n\nWe don't want to make this the default, because interpreting module\nfiles in this way is problematic, as it will discard fields that are\nlegitimately part of the non-legacy module schema.\n\nSo we add a boolean field that explicitly enables this behavior.\n\nFixes #3219.\n\nSigned-off-by: Roger Peppe \nChange-Id: I24d66eb680be3267adbe0a972705cc3414936362\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1196156\nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine \nReviewed-by: Daniel Martí ","shortMessageHtmlLink":"cue/load: add Config.AcceptLegacyModules"}},{"before":"95035da5820ba960b6d23503070ddacfc77cc251","after":"b44ef61b4c3c0c587c7c8bb28b46a1a9d9bacc23","ref":"refs/heads/master","pushedAt":"2024-06-12T11:54:46.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: always check that git is clean when we finish\n\nThat is, check that git is clean even if a previous step failed.\nIn https://cuelang.org/cl/1194425 this caused some confusion;\nthe author forgot to run `go generate ./...`, and since CI runs\nthat command as a step before `go test ./...` on the main Linux job,\nCI seemed to run into a \"go test\" failure that the author did not.\n\nThis human error would have been more obvious if CI had also failed\nwith \"git is not clean\" including a diff of the generated code.\nBy default, a GitHub Actions step only runs if all previous steps\nhave succeeded, but we can use the \"always\" condition to also run\neven if the job already failed due to a previous step.\n\nSigned-off-by: Daniel Martí \nChange-Id: Ied1c1eb98d53b23f68650d946cc6341d8c2f3c3d\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1196088\nTryBot-Result: CUEcueckoo \nReviewed-by: Noam Dolovich \nReviewed-by: Paul Jolly \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"internal/ci: always check that git is clean when we finish"}},{"before":"8a6194a53a46c5eab68703b763f0ba950c14bb83","after":"95035da5820ba960b6d23503070ddacfc77cc251","ref":"refs/heads/master","pushedAt":"2024-06-12T10:18:40.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: omit whitespace before the first clause\n\nWhen printing clauses, we often want to print a whitespace before the\ntoken \"let\", \"if\", and \"for\". For example:\n\n\tfor i, v in src if i > 1 {\n\nAs opposed to omitting spaces, which breaks the syntax:\n\n\tfor i, v in srcif i > 1 {\n\nHowever, we also printed a space before the first clause in the list.\nThis could result in a CUE file beginning with a space if the first\ntoken is a clause:\n\n\t$ cue fmt .\n\t$ cat if.cue\n\t if foo {\n\t}\n\nFirst, we fix that bug for clauses by not having walkClauseList call\nf.print(blank) before the first clause.\n\nSecond, we also fix it for \"let\" declarations by teaching mayCombine\nabout the previous token being ILLEGAL - meaning that we're printing the\nfirst token in the entire file.\n\nIt is worth noting that this also changes how we print the first clause\ninside another expression; for instance:\n\n\tcfgs: [ for crd in [\"one\", \"two\"] {\n\t}]\n\nNow formats without the leading space, just like at the beginning of a file:\n\n\tcfgs: [for crd in [\"one\", \"two\"] {\n\t}]\n\nArguably that is more consistent, as there is no space after the \"for\"\nclause, following the \"}\" token.\n\nFixes #1544.\n\nSigned-off-by: Daniel Martí \nChange-Id: I72e4618f2b1011005316c617a32e0c3a6ff3b706\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/538624\nTryBot-Result: CUEcueckoo \nReviewed-by: Marcel van Lohuizen \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"cue/format: omit whitespace before the first clause"}},{"before":"475f692480d697861fcaa4a608c29b5122d8a2f9","after":"8a6194a53a46c5eab68703b763f0ba950c14bb83","ref":"refs/heads/master","pushedAt":"2024-06-12T09:16:13.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":"encoding/toml: implement support for table arrays\n\nThis is a significant amount of code given that there are effectively\nthree ways in which table arrays can be used.\n\nFirst, declaring a new array and repeating its key like:\n\n [[foo]]\n leaf = \"one\"\n [[foo]]\n leaf = \"two\"\n\nresulting in appending to the same array:\n\n foo: [\n {leaf: \"one\"},\n {leaf: \"two\"},\n ]\n\nSecond, a table array can be created under an existing table:\n\n [foo]\n leaf = \"one\"\n [[foo.bar]]\n leaf = \"two\"\n\nresulting in:\n\n foo: {\n leaf: \"one\"\n bar: [\n {leaf: \"two\"},\n ]\n }\n\nThird, and perhaps most confusing, a table or table array can be created\nunder an existing table array, adding to the table's last element:\n\n [[foo]]\n leaf = \"one\"\n [foo.bar]\n leaf = \"two\"\n [[foo.baz]]\n leaf = \"three\"\n\nresulting in:\n\n foo: [\n {\n leaf: \"one\"\n bar: {\n leaf: \"two\"\n }\n baz: [\n {leaf: \"three\"}\n ]\n },\n }\n\nWe add test cases for all of these edge cases,\nas well as test cases to ensure that unique keys are handled correctly,\nand that we reject declaring a key as both a table and an array table.\n\nUpdates #68.\n\nSigned-off-by: Daniel Martí \nChange-Id: I2b483a67810b7c42ddf319a04a0f22724877b8a9\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195025\nUnity-Result: CUE porcuepine \nReviewed-by: Aram Hăvărneanu \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"encoding/toml: implement support for table arrays"}},{"before":"1376fa87d897c0e5795109198c1b1e7e8ff130d2","after":"475f692480d697861fcaa4a608c29b5122d8a2f9","ref":"refs/heads/master","pushedAt":"2024-06-10T15:20:15.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":"cue/format: add a regression test for issue 1544\n\nThis shows the current buggy behavior, where comprehensions at the start\nof a file gain a blank space.\n\nFor #1544.\n\nSigned-off-by: Daniel Martí \nChange-Id: I9751f0eae5408c2c9e11b95e83107441e3209cc4\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1196107\nUnity-Result: CUE porcuepine \nReviewed-by: Marcel van Lohuizen \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cue/format: add a regression test for issue 1544"}},{"before":"2785aa4b41b731f154ad1d3519c5e3d040ff6e3a","after":"1376fa87d897c0e5795109198c1b1e7e8ff130d2","ref":"refs/heads/master","pushedAt":"2024-06-10T14:49:16.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/core/adt: fix pointer comparison issue in equalTerminal\n\nThis fixes a good ole do not pass a nil pointer of a concrete\nvalue to an interface argument bug.\n\nFixes #3194\n\nSigned-off-by: Marcel van Lohuizen \nChange-Id: Ib16cb8667fe56754b03a9dc3c75fdc363c9abd2b\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1196094\nReviewed-by: Daniel Martí \nUnity-Result: CUE porcuepine \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"internal/core/adt: fix pointer comparison issue in equalTerminal"}},{"before":"8fdc65e270834271fa1ff0e5895dee4ae164e761","after":"2785aa4b41b731f154ad1d3519c5e3d040ff6e3a","ref":"refs/heads/master","pushedAt":"2024-06-10T07:37:03.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/core/adt: fix lifetime tracking of shared closeContext\n\nUpon sharing of a node the processing of this node\nterminates. This, in turn, leads to the closeContext\nto be finalized. However, if at a later point another\nconjunct invalidates the sharing, processing will\ncontinue. For this reason, we should hold finalizing\na closeContext until all other conjuncts are processed\nor up to the point sharing is undone.\n\nDelaying closing closeContext can have an impact on\nperformance. In this case it should not matter, as there\nis nothing to process about shared nodes.\n\nFixes #3062\n\nSigned-off-by: Marcel van Lohuizen \nChange-Id: Id654881563eba54123c8afbd837d47bba7f53614\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195897\nReviewed-by: Daniel Martí \nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine ","shortMessageHtmlLink":"internal/core/adt: fix lifetime tracking of shared closeContext"}},{"before":"9bd3e1758e48534cf2acb1f2668ab0f972ad30b7","after":"8fdc65e270834271fa1ff0e5895dee4ae164e761","ref":"refs/heads/master","pushedAt":"2024-06-10T07:36:50.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/core/adt: update TestX to include language version\n\nTests otherwise won't run.\n\nSigned-off-by: Marcel van Lohuizen \nChange-Id: I89445026010724417b4e1d9e5860b9cf3cb0fcc3\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195896\nTryBot-Result: CUEcueckoo \nUnity-Result: CUE porcuepine \nReviewed-by: Daniel Martí ","shortMessageHtmlLink":"internal/core/adt: update TestX to include language version"}},{"before":"da2a575db77c483354183733f8db7cc7b35c0ed6","after":"9bd3e1758e48534cf2acb1f2668ab0f972ad30b7","ref":"refs/heads/master","pushedAt":"2024-06-07T08:09: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":"cue/format: preserve comments associated with ellipsis\n\nWhen simplification is enabled, the current implementation prints a\n\"dummy\" ellipsis during formatting, instead of the original ellipsis.\nThis means that comments associated with the original ellipsis are not\nprinted in the formatted CUE.\nTo fix this, we associate the original comments with the dummy ellipsis\nso they won't get lost.\n\nFixes #3198.\n\nSigned-off-by: Noam Dolovich \nChange-Id: Ibebbd97ac768de7a2c0d9855c9ec6c7a497435c8\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195884\nReviewed-by: Daniel Martí \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cue/format: preserve comments associated with ellipsis"}},{"before":"b423a2759b732805c472fc41d547dc04325d1382","after":"da2a575db77c483354183733f8db7cc7b35c0ed6","ref":"refs/heads/master","pushedAt":"2024-06-07T08:07:59.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: add tests for ellipsis comments in fmt -s\n\nThis adds some tests for handling of comments associated with ellipseses\nwhen running `cue fmt -s`.\n\nUpdates #3198.\n\nSigned-off-by: Noam Dolovich \nChange-Id: I24d8adaadcfe2d14b3231ac057252d582f0b9624\nReviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1195919\nReviewed-by: Daniel Martí \nTryBot-Result: CUEcueckoo ","shortMessageHtmlLink":"cue/format: add tests for ellipsis comments in fmt -s"}},{"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"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEY5HemwA","startCursor":null,"endCursor":null}},"title":"Activity · cue-lang/cue"}