{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":638544709,"defaultBranch":"main","name":"scrut","ownerLogin":"facebookincubator","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-09T15:20:49.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19538647?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1705322823.0","currentOid":""},"activityList":{"items":[{"before":"6d086096b70de0bf4c0320139eb2818c6a9a01b6","after":"1eb2961e5b8a965d1349c613045bc3e4757696c8","ref":"refs/heads/gh-pages","pushedAt":"2024-04-29T13:27:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 9b8b001e3609d489a9ada2577921ade14d54b159","shortMessageHtmlLink":"deploy: 9b8b001"}},{"before":"d97ff2148a63de0fa15523e6fd79f1b48bcd23cc","after":"9b8b001e3609d489a9ada2577921ade14d54b159","ref":"refs/heads/main","pushedAt":"2024-04-29T13:25:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"update Static Docs\n\nReviewed By: lblasa\n\nDifferential Revision: D56702237\n\nfbshipit-source-id: fbe92d66a85b11a98a4863543b5cd78f1550f831","shortMessageHtmlLink":"update Static Docs"}},{"before":"73eaecc3988e65ab0d479a930ee05087bce618c2","after":"6d086096b70de0bf4c0320139eb2818c6a9a01b6","ref":"refs/heads/gh-pages","pushedAt":"2024-04-19T13:46:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: d97ff2148a63de0fa15523e6fd79f1b48bcd23cc","shortMessageHtmlLink":"deploy: d97ff21"}},{"before":"8fe68c756eed81be40c70549b245886d22ed6ca2","after":"d97ff2148a63de0fa15523e6fd79f1b48bcd23cc","ref":"refs/heads/main","pushedAt":"2024-04-19T13:44:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"fix(md): `defaults` in the front matter were not applied\n\nReviewed By: ukautz\n\nDifferential Revision: D56351890\n\nfbshipit-source-id: 7136a36993198c4c244a4ccc44374e0bef3ad0a9","shortMessageHtmlLink":"fix(md): defaults in the front matter were not applied"}},{"before":"a588d6a8c832fc2dd808d0f4c3f0c68ebcee064e","after":"73eaecc3988e65ab0d479a930ee05087bce618c2","ref":"refs/heads/gh-pages","pushedAt":"2024-04-12T09:16:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 8fe68c756eed81be40c70549b245886d22ed6ca2","shortMessageHtmlLink":"deploy: 8fe68c7"}},{"before":"5eaa80fb160d8c7ebbde1244a917aae0d652dea6","after":"8fe68c756eed81be40c70549b245886d22ed6ca2","ref":"refs/heads/main","pushedAt":"2024-04-12T09:14:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"A logo, much joy\n\nSummary:\nThis CL adds the beautiful logo we have to the site documentation website.\n\n# What?\n\nMany changes:\n- Homepage, where now the Scrut logo proudly shines with a new color theme\n- Every documentation page, where links are in the new theme\n- Everywhere the small logo and new favicon are shown\n\n# Why?\n\nIt looks great.\n\nReviewed By: abesto\n\nDifferential Revision: D56023292\n\nfbshipit-source-id: e9814d5fbfd8ec8b34bffcf30c2647d3b67771df","shortMessageHtmlLink":"A logo, much joy"}},{"before":"f87fdd8b011ba20700ba0dede26735d7d8d5fc0b","after":"a588d6a8c832fc2dd808d0f4c3f0c68ebcee064e","ref":"refs/heads/gh-pages","pushedAt":"2024-04-10T10:08:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 5eaa80fb160d8c7ebbde1244a917aae0d652dea6","shortMessageHtmlLink":"deploy: 5eaa80f"}},{"before":"c6cf5ca45dfe036504e77f67774eaf11f293aaf6","after":"5eaa80fb160d8c7ebbde1244a917aae0d652dea6","ref":"refs/heads/main","pushedAt":"2024-04-10T10:05:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix sec vulnerabilities in website package dependencies\n\nSummary:\nThis CL updates the dependencies that have known security vulnerabilities for the Docusaurus setup in `docs/`.\n\nCreated with:\n```\n$ npx yarn-audit-fix\n```\n\nReviewed By: AndreasBackx\n\nDifferential Revision: D55367366\n\nfbshipit-source-id: 65dc67b9dde977d98d3cfc2308cca6846b262c4b","shortMessageHtmlLink":"Fix sec vulnerabilities in website package dependencies"}},{"before":"62cc5b9ec845f7d900af90f408ea456809fe15d9","after":"f87fdd8b011ba20700ba0dede26735d7d8d5fc0b","ref":"refs/heads/gh-pages","pushedAt":"2024-04-03T10:07:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: c6cf5ca45dfe036504e77f67774eaf11f293aaf6","shortMessageHtmlLink":"deploy: c6cf5ca"}},{"before":"b8c78cd20a596ed0b1e312bfaf49db6e4c15c91b","after":"c6cf5ca45dfe036504e77f67774eaf11f293aaf6","ref":"refs/heads/main","pushedAt":"2024-04-03T10:04:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Resolve naming conflict with internal system\n\nSummary:\nThis CL changes the summary output that Scrut prints after `test` and `update` operations.\n\n# What?\n\nThe `pretty` renderer used to generate summaries such as:\n\n```\n1 file(s) with 1 test(s): 0 succeeded, 1 failed and 0 skipped\n```\n\nNow it creates instead summaries that start with the word `Result`:\n\n```\nResult: 1 file(s) with 1 test(s): 0 succeeded, 1 failed and 0 skipped\n```\n\n# Why?\n\nThe word `Summary` interferes with internal systems. This leads to wrong / corrupted signals.\n\nReviewed By: uepoch\n\nDifferential Revision: D55635336\n\nfbshipit-source-id: dcb27074906058602a1bec7b18403e142dc27c21","shortMessageHtmlLink":"Resolve naming conflict with internal system"}},{"before":"7b3159daa4b33f6e1b4fb4426d0fffd0d45df08d","after":"62cc5b9ec845f7d900af90f408ea456809fe15d9","ref":"refs/heads/gh-pages","pushedAt":"2024-03-20T18:33:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: b8c78cd20a596ed0b1e312bfaf49db6e4c15c91b","shortMessageHtmlLink":"deploy: b8c78cd"}},{"before":"128978977cbf28c605e0c588ce02d93beb49d3df","after":"b8c78cd20a596ed0b1e312bfaf49db6e4c15c91b","ref":"refs/heads/main","pushedAt":"2024-03-20T18:30:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"fix follow-redirects vulnerable dependency\n\nReviewed By: ukautz\n\nDifferential Revision: D55066014\n\nfbshipit-source-id: 313a7866b5ba5f3657353ea6a26d09d6cd4a24ae","shortMessageHtmlLink":"fix follow-redirects vulnerable dependency"}},{"before":"3db4c469598648fc254f8c86120084acf2149d9b","after":"7b3159daa4b33f6e1b4fb4426d0fffd0d45df08d","ref":"refs/heads/gh-pages","pushedAt":"2024-03-19T13:21:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 128978977cbf28c605e0c588ce02d93beb49d3df","shortMessageHtmlLink":"deploy: 1289789"}},{"before":"007d5ee3616015887cf970ee5065ff5a8b61244a","after":"128978977cbf28c605e0c588ce02d93beb49d3df","ref":"refs/heads/main","pushedAt":"2024-03-19T13:19:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"document detaching behaviour\n\nSummary: Documents this behaviour as described in D55015708.\n\nReviewed By: uepoch\n\nDifferential Revision: D55015708\n\nfbshipit-source-id: 09fbfd75c38832d89f660d5ca28338bb944eb649","shortMessageHtmlLink":"document detaching behaviour"}},{"before":"a3df132a3d46614179bcb0c1d476bcfc022834f1","after":"3db4c469598648fc254f8c86120084acf2149d9b","ref":"refs/heads/gh-pages","pushedAt":"2024-03-04T22:38:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 007d5ee3616015887cf970ee5065ff5a8b61244a","shortMessageHtmlLink":"deploy: 007d5ee"}},{"before":"d4181070819eaafe6a94a341db822265598880d1","after":"007d5ee3616015887cf970ee5065ff5a8b61244a","ref":"refs/heads/main","pushedAt":"2024-03-04T22:35:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"apply Black 2024 style in fbcode (16/17)\n\nSummary:\nFormats the covered files with pyfmt.\n\npaintitblack\n\nReviewed By: zertosh, abesto\n\nDifferential Revision: D54470824\n\nfbshipit-source-id: 06c8f96f17045dcd46a23398274cc5b741c6e846","shortMessageHtmlLink":"apply Black 2024 style in fbcode (16/17)"}},{"before":"bd75e3fdac3d5942489dbee40c1771821649f375","after":"a3df132a3d46614179bcb0c1d476bcfc022834f1","ref":"refs/heads/gh-pages","pushedAt":"2024-03-02T19:04:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: d4181070819eaafe6a94a341db822265598880d1","shortMessageHtmlLink":"deploy: d418107"}},{"before":"1a5fc7f2b62d33cb0415dcccd0785d4fab876a56","after":"d4181070819eaafe6a94a341db822265598880d1","ref":"refs/heads/main","pushedAt":"2024-03-02T19:02:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Pyre Configurationless migration for] [batch:103/112] [shard:6/N]\n\nReviewed By: connernilsen\n\nDifferential Revision: D54441702\n\nfbshipit-source-id: 295ccff77420c849a0ed95797c47f5065fa68050","shortMessageHtmlLink":"Pyre Configurationless migration for] [batch:103/112] [shard:6/N]"}},{"before":"669fda6f3aeab083064cf7f3e7fe662cefe925c3","after":"bd75e3fdac3d5942489dbee40c1771821649f375","ref":"refs/heads/gh-pages","pushedAt":"2024-02-22T17:49:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 1a5fc7f2b62d33cb0415dcccd0785d4fab876a56","shortMessageHtmlLink":"deploy: 1a5fc7f"}},{"before":"3be13cc64b39effcb7320a0533f780176c30529e","after":"1a5fc7f2b62d33cb0415dcccd0785d4fab876a56","ref":"refs/heads/main","pushedAt":"2024-02-22T17:47:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix environment variable export on bash < 4\n\nSummary:\nThis CL ensures environment variables are exported and re-imported as such in older bash versions (<4)\n\n# What?\n\nScrut exports the state (environment variables, aliases, functions, ..) after each execution of a test shell expression and re-imports that state for any subsequent test shell expression (from within the same file), so that each shell expression in a file shares state.\n\nThe environment variables are exported via `declare -p`, which yields all variables with prefixed declare statements. For example:\n\n```\nbash-5.2$ declare -p\ndeclare -- BASH=\"/Users/ulrichkautz/homebrew/bin/bash\"\ndeclare -r BASHOPTS=\"checkwinsize:cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath\"\ndeclare -i BASHPID\ndeclare -A BASH_ALIASES=()\ndeclare -a BASH_ARGC=([0]=\"0\")\ndeclare -a BASH_ARGV=()\ndeclare -- BASH_ARGV0\n...\n```\n\nHowever, when using older versions of `declare` that ship with older `bash` versions the prefixed `declare` statements are not part of the generated commands:\n\n```\nbash-3.2$ declare -p\nBASH=/bin/bash\nBASH_ARGC=()\nBASH_ARGV=()\nBASH_LINENO=()\nBASH_SOURCE=()\n...\n```\n\nRe-importing such a state export (via `source /path/to/state`) behaves differently in each case:\n- Case 1 (with declare): Variables are exported, and become available in the environment (i.e. `echo $VARNAME` works and `env | grep VARNAME` has a result line)\n- Case 2 (without declare): Variables are shell variables, that are accessible but are not in the environment (i.e. `echo $VARNAME` works, but `env | grep VARNAME` is empty)\n\nThis CL ensures that the `VARNAME=VARVALUE` statements are always prefixed with `declare -x` so that the variables become available in the environment.\n\n# Why?\n\nWithout this CL Scrut tests behave differently when bash < 4 or bash >= 4 is being used. This is not intended. This CL aligns the behavior in that regard.\n\n**Caveat**: This solution brute-forces *all* variables to be environment variables. Meaning, if the user intentionally defines a variable without exporting it (as an environment variable) then such variables become environment variables for bash < 4, whereas they are unchanged (either non-environment or environment) in bash >= 4. This solution errs on the side of having environment variables, which seems to be much more often the use-case when users use variables in tests anyway..\n\nReviewed By: abesto\n\nDifferential Revision: D54006652\n\nfbshipit-source-id: 93bbb2a7ccb41929f145625e2455211c696a87df","shortMessageHtmlLink":"Fix environment variable export on bash < 4"}},{"before":"da5a7b3b15e2ae6b9cc9c2ec6bb9c230fc5c2372","after":"669fda6f3aeab083064cf7f3e7fe662cefe925c3","ref":"refs/heads/gh-pages","pushedAt":"2024-01-26T12:45:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 3be13cc64b39effcb7320a0533f780176c30529e","shortMessageHtmlLink":"deploy: 3be13cc"}},{"before":"33416b9b332943b9d41ec5dcab03ab4f56455987","after":"3be13cc64b39effcb7320a0533f780176c30529e","ref":"refs/heads/main","pushedAt":"2024-01-26T12:43:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add copyright and links to terms of use & privacy policy\n\nSummary: This CL adds the correct copyright and the missing links to terms of use and privacy policy.\n\nReviewed By: AndreasBackx\n\nDifferential Revision: D53085468\n\nfbshipit-source-id: 30fb8fd61579903149c8f1c6eb418641e9a31886","shortMessageHtmlLink":"Add copyright and links to terms of use & privacy policy"}},{"before":"9536bb55aa228eadd47e9ed0cfcb9dbbf32d0a0c","after":"da5a7b3b15e2ae6b9cc9c2ec6bb9c230fc5c2372","ref":"refs/heads/gh-pages","pushedAt":"2024-01-16T10:35:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 33416b9b332943b9d41ec5dcab03ab4f56455987","shortMessageHtmlLink":"deploy: 33416b9"}},{"before":"bd7f3081017e8dcb0ea60f878e7f32d67d5189bb","after":"33416b9b332943b9d41ec5dcab03ab4f56455987","ref":"refs/heads/main","pushedAt":"2024-01-16T10:32:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Upgrade Docusaurus to v3 to fix sec vulnerabilities\n\nSummary:\nThis CL upgrades Docusaurus version from 2 to 3.\n\n# What changes?\n\nThis CL multiple packages as outlined in the [Docusaurs v2 to v3 migration guide](https://docusaurus.io/docs/migration/v3) and as seen working [with other known configs](https://www.internalfb.com/code/fbsource/[5278a8b5dec7c99a8917b2677732026305af9b65]/fbcode/antlir/antlir2/docs/package.json).\n\n# Why?\n\nFollowing the [staticdocs documentation](https://www.internalfb.com/intern/staticdocs/staticdocs/docs/setup/3-creating-a-site/) gives us Docusaurus v2, which comes with known security vulnerabilities.\n\nReviewed By: AndreasBackx\n\nDifferential Revision: D52785096\n\nfbshipit-source-id: 75365c3a52352f430ca990a9796092771e38d38c","shortMessageHtmlLink":"Upgrade Docusaurus to v3 to fix sec vulnerabilities"}},{"before":null,"after":"9536bb55aa228eadd47e9ed0cfcb9dbbf32d0a0c","ref":"refs/heads/gh-pages","pushedAt":"2024-01-15T12:47:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: bd7f3081017e8dcb0ea60f878e7f32d67d5189bb","shortMessageHtmlLink":"deploy: bd7f308"}},{"before":"8e04d6ef394b528e444ca540754d079aac6c2fa3","after":"bd7f3081017e8dcb0ea60f878e7f32d67d5189bb","ref":"refs/heads/main","pushedAt":"2024-01-15T12:44:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Publish documentation website to gh-pages (#7)\n\nSummary:\nThis CL adds a Github Action to publish that publishes the [Docusaurus](https://docusaurus.io/) website that contains Scrut's documentation to the `gh-pages` branch.\n\nHere the Github Page of my cloned repository that shows how the published website will look like: https://ukautz.github.io/scrut-tmp1/\n\nThe publishing is triggered on changes in the `main` branch and can be dispatched manually.\n\nPull Request resolved: https://github.com/facebookincubator/scrut/pull/7\n\nReviewed By: abesto\n\nDifferential Revision: D52697773\n\nPulled By: ukautz\n\nfbshipit-source-id: db90f568ba325cc89dac15b229e3e680f93cbc36","shortMessageHtmlLink":"Publish documentation website to gh-pages (#7)"}},{"before":"18428fe5d7f2a1a5d9c37bf85f4ba202cb58e210","after":"8e04d6ef394b528e444ca540754d079aac6c2fa3","ref":"refs/heads/main","pushedAt":"2024-01-10T02:47:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"format_code_in_doc_comments = true\n\nSummary: D52632085\n\nReviewed By: dtolnay\n\nDifferential Revision: D52643003\n\nfbshipit-source-id: 794a510046dd2eb30ad300448d925d55ceb576ad","shortMessageHtmlLink":"format_code_in_doc_comments = true"}},{"before":"9aec6e7f8d4d56ecacfd3f55d3afde8b15275d31","after":"18428fe5d7f2a1a5d9c37bf85f4ba202cb58e210","ref":"refs/heads/main","pushedAt":"2023-12-22T10:39:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix Cram test execution in Windows + Cygwin + Bash\n\nSummary:\nThis CL fixes the `/tmp` directory removal bug in cygwin + bash on Windows\n\n# What changes?\n\nContext: Cram tests (or Markdown tests with `--cram-compat` set) are executed with the `BashScriptExecutor`, which creates a big bash script that contains all test executions (of the same test file) and executes them in one go. The different outputs of the individual executions are then later separated by injected \"echo marks\".\n\nBefore this CL two things happened before each test execution:\n1. All environment variables were set in the environment that executed the `bash` process\n2. All environment variables were set in the running bash process via `export VARNAME=varvalue` statements\n 1. This export happened before each individual test shell expression\n\nWith this CL this behavior changes:\n1. Environment variables are no longer set in the environment that executes the `bash` process\n2. Environment variables are still set within the bash process via export statements, but only once before the first test\n\nThis should not significantly change the behavior in test executions (aside from fixing the issue). However, potential side-effects can occur if:\n- A user modified any [Scrut maintained env var](https://www.internalfb.com/intern/staticdocs/scrut/docs/advanced/specifics/#test-environment-variables)\n- This did not have any effect, because env var was overwritten in each execution\n- Now it has effect\n\nThis is not impossible, but rather unlikely. The Cram execution was / is modeled to run Cram tests in Scrut \"as-is\" (as much as possible). Cram's behavior is much closer to after this CL than before.\n\n# Why?\n\nScrut executions in Windows randomly showed warnings that broke test executions, which looked like:\n\n```\nbash.exe: warning: could not find /tmp, please create!\n```\n\nThis was initially reported [here](https://fb.workplace.com/groups/clifoundationqa/posts/1455285298733356/?comment_id=1456668861928333&reply_comment_id=1457573218504564). The behavior is seemingly caused as described [here](https://www.internalfb.com/diff/D52232671). TL;DR: `TMP` (and/or `TEMP`) envvar will be mapped (shared) by cygwin between multiple `bash` executions, leading to cleanup issues (the error message is likely wrong with `/tmp` just being a hard-coded value of whatever `TEMP` or `TMP` has set).\n\nReviewed By: uepoch\n\nDifferential Revision: D52363301\n\nfbshipit-source-id: c63f26b6c8208e9f9e3b402b0b036f20dac9de3e","shortMessageHtmlLink":"Fix Cram test execution in Windows + Cygwin + Bash"}},{"before":"2f750bb833d9886bbe10bb26fb51ec3254204906","after":"9aec6e7f8d4d56ecacfd3f55d3afde8b15275d31","ref":"refs/heads/main","pushedAt":"2023-12-22T10:29:33.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add flag to keep temporary directories around\n\nSummary:\nThis CL adds a flag `--keep-temporary-directories` that ensures created temporary directories are not removed.\n\n# What changes?\n\n> This diff adds a new flag to the Scrut command line interface to keep temporary directories around after test execution. The flag is added to the root command and is called \"keep_temporary_directories\". This flag is used to prevent the temporary directories from being cleaned up after test execution. The flag is added to the update, create, and test commands, and is used in the environment module to create a new directory type called \"Kept\". This directory type is used to keep the temporary directories around after test execution -- Metamate\n\n^ is this understandable?\n\n# Why?\n\nEach test (file) execution creates two temporary directories:\n- A [working directory](https://www.internalfb.com/intern/staticdocs/scrut/docs/advanced/specifics/#test-work-directory) (`cwd`)\n- A [temporary directory](https://www.internalfb.com/intern/staticdocs/scrut/docs/advanced/specifics/#scrut-specific-environment-variables) (`$TEMPDIR`)\n\nBoth directories are removed the test execution ends (with whatever result). In some weird way, this removal (enacted by `tempfile::TempDir` [removal](https://docs.rs/tempfile/latest/tempfile/struct.TempDir.html) in our case) leads to the removal of the whole `/tmp` folder. This behavior can be reproduced on Lego-Windows.\n\nForgoing the cleanup of the temporary directories does not trigger the issue.\n\nA similar case was reported and similarly addressed for Cram (D38537604).\n\nReviewed By: abesto\n\nDifferential Revision: D52201104\n\nfbshipit-source-id: 67136826e8c7cef92c109c1ee7af1a8e1a079ce8","shortMessageHtmlLink":"Add flag to keep temporary directories around"}},{"before":"b8a83db727ff2f26c04dcdfbf9a34f18ed90baf5","after":null,"ref":"refs/heads/fixup-T173279746-main","pushedAt":"2023-12-22T10:01:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ukautz","name":"Ulrich Kautz","path":"/ukautz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/600604?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPQEj_QA","startCursor":null,"endCursor":null}},"title":"Activity ยท facebookincubator/scrut"}