{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":403052556,"defaultBranch":"master","name":"gramine","ownerLogin":"gramineproject","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-09-04T12:37:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/84978589?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716164552.0","currentOid":""},"activityList":{"items":[{"before":"50f3f7e0640c1c6c15936363b95b4e444ee906e5","after":"8e10c3a96f1cf398e23ba1d5bb7da94f8563aaab","ref":"refs/heads/master","pushedAt":"2024-05-19T14:02:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"},"commit":{"message":"[Docs] Add `python3-voluptuous` to dependency install command\n\nSigned-off-by: Li, Xun ","shortMessageHtmlLink":"[Docs] Add python3-voluptuous to dependency install command"}},{"before":"50f3f7e0640c1c6c15936363b95b4e444ee906e5","after":null,"ref":"refs/heads/woju/spec-simplify-has-supported-sphinx","pushedAt":"2024-05-17T23:34:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"}},{"before":"f8eda808155b67f1980df36b45c3f7750db396bf","after":"50f3f7e0640c1c6c15936363b95b4e444ee906e5","ref":"refs/heads/master","pushedAt":"2024-05-17T23:34:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"},"commit":{"message":"[rpm] Simplify has_supported_sphinx definition\n\nThe problem is that %if is not a macro, it's a spec directive and it\ncauses rpm -q --spec to misbehave when evaluating spec to extract NVR.\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[rpm] Simplify has_supported_sphinx definition"}},{"before":"4a5ce3e99388cd7306ba5be0f61992bf8fbfba36","after":"a645087851e83dffc85ae9aa7da3510267f4cc18","ref":"refs/heads/dimakuv/manifest-disable-syscalls","pushedAt":"2024-05-17T06:39:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"fixup! [LibOS] Add `sys.mock_syscalls = [ ... ]` manifest option\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"fixup! [LibOS] Add sys.mock_syscalls = [ ... ] manifest option"}},{"before":"31c2d7e7214c3271810707aa189af72edd9e31bd","after":"50f3f7e0640c1c6c15936363b95b4e444ee906e5","ref":"refs/heads/woju/spec-simplify-has-supported-sphinx","pushedAt":"2024-05-17T06:20:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"[rpm] Simplify has_supported_sphinx definition\n\nThe problem is that %if is not a macro, it's a spec directive and it\ncauses rpm -q --spec to misbehave when evaluating spec to extract NVR.\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[rpm] Simplify has_supported_sphinx definition"}},{"before":"7eb413477cd24bea14e047db6eaea6e375a9a7cb","after":"31c2d7e7214c3271810707aa189af72edd9e31bd","ref":"refs/heads/woju/spec-simplify-has-supported-sphinx","pushedAt":"2024-05-16T16:41:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"woju","name":"Wojtek Porczyk","path":"/woju","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1550337?s=80&v=4"},"commit":{"message":"[rpm] Simplify has_supported_sphinx definition\n\nThe problem is that %if is not a macro, it's a spec directive and it\ncauses rpm -q --spec to misbehave when evaluating spec to extract NVR.\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[rpm] Simplify has_supported_sphinx definition"}},{"before":"7467566fa3fd64e7ea4d6da9c18c2c988e38d0b3","after":"7eb413477cd24bea14e047db6eaea6e375a9a7cb","ref":"refs/heads/woju/spec-simplify-has-supported-sphinx","pushedAt":"2024-05-16T16:26:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"woju","name":"Wojtek Porczyk","path":"/woju","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1550337?s=80&v=4"},"commit":{"message":"[rpm] Rewrite has_supported_sphinx definition\n\nThe problem is that %if is not a macro, it's a spec directive and it\ncauses rpm -q --spec to misbehave when evaluating spec to extract NVR.\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[rpm] Rewrite has_supported_sphinx definition"}},{"before":"f8eda808155b67f1980df36b45c3f7750db396bf","after":null,"ref":"refs/heads/woju/gramine-sgx-sign-error-message","pushedAt":"2024-05-16T14:57:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"}},{"before":"25056d0b8e7549d37b73f4a2c9dd90ab7c35f471","after":"f8eda808155b67f1980df36b45c3f7750db396bf","ref":"refs/heads/master","pushedAt":"2024-05-16T14:57:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"},"commit":{"message":"[python] Add nice error message for ENOENT when measuring trusted files\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[python] Add nice error message for ENOENT when measuring trusted files"}},{"before":"1ea4a7cad84b1f2561252e909b11797e58f878bf","after":"7467566fa3fd64e7ea4d6da9c18c2c988e38d0b3","ref":"refs/heads/woju/spec-simplify-has-supported-sphinx","pushedAt":"2024-05-16T13:09:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"woju","name":"Wojtek Porczyk","path":"/woju","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1550337?s=80&v=4"},"commit":{"message":"[rpm] Simplify has_supported_sphinx definition\n\nThe problem is that %if is not a macro, it's a spec directive and it\ncauses rpm -q --spec to misbehave when evaluating spec to extract NVR.\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[rpm] Simplify has_supported_sphinx definition"}},{"before":null,"after":"1ea4a7cad84b1f2561252e909b11797e58f878bf","ref":"refs/heads/woju/spec-simplify-has-supported-sphinx","pushedAt":"2024-05-16T11:06:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woju","name":"Wojtek Porczyk","path":"/woju","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1550337?s=80&v=4"},"commit":{"message":"[rpm] Simplify has_supported_sphinx definition\n\nThe problem is that %if is not a macro, it's a spec directive and it\ncauses rpmspec tool to misbehave when evaluating spec to extract NVR.\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[rpm] Simplify has_supported_sphinx definition"}},{"before":"073c483cbc695567ef1b1dad9b3a757258c2886d","after":"4a5ce3e99388cd7306ba5be0f61992bf8fbfba36","ref":"refs/heads/dimakuv/manifest-disable-syscalls","pushedAt":"2024-05-16T09:04:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"[LibOS] Add `sys.mock_syscalls = [ ... ]` manifest option\n\nThis commit adds the manifest syntax `sys.mock_syscalls = [ ... ]`\nto specify system calls that will be mocked when executed in Gramine\n(i.e. return a specified value without any other side effects).\n\nThis may be particularly important for cases where the overhead of\ninvoking a system call on the host (e.g. exiting the SGX enclave)\nbecomes a performance bottleneck, and it is more beneficial to disable\nor no-op the syscall in the first place; `sched_yield()` is an example.\n\nAnother example may be disabling certain functionalities for security\nreasons. For example, one may want to disable `eventfd()` and\n`eventfd2()` to forbid creation of eventfd objects.\n\nYet another example may be mocking syscalls currently not implemented in\nGramine. E.g. it may be enough to mock `vhangup()` to always return 0,\nso that the workload proceeds further.\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"[LibOS] Add sys.mock_syscalls = [ ... ] manifest option"}},{"before":"f469e2e7e37c8ee5445c215ee4326b62532e8cb9","after":"073c483cbc695567ef1b1dad9b3a757258c2886d","ref":"refs/heads/dimakuv/manifest-disable-syscalls","pushedAt":"2024-05-16T08:08:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"[LibOS] Add `sys.mock_syscalls = [ ... ]` manifest option\n\nThis commit adds the manifest syntax `sys.mock_syscalls = [ ... ]`\nto specify system calls that will be mocked when executed in Gramine\n(i.e. return a specified value without any other side effects).\n\nThis may be particularly important for cases where the overhead of\ninvoking a system call on the host (e.g. exiting the SGX enclave)\nbecomes a performance bottleneck, and it is more beneficial to disable\nor no-op the syscall in the first place; `sched_yield()` is an example.\n\nAnother example may be disabling certain functionalities for security\nreasons. For example, one may want to disable `eventfd()` and\n`eventfd2()` to forbid creation of eventfd objects.\n\nYet another example may be mocking syscalls currently not implemented in\nGramine. E.g. it may be enough to mock `vhangup()` to always return 0,\nso that the workload proceeds further.\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"[LibOS] Add sys.mock_syscalls = [ ... ] manifest option"}},{"before":"7c5c445000ca435240ae0961d480c605de14a30e","after":"9475f3744abc76f1cd33f40deb18d3031702936e","ref":"refs/heads/woju/ubuntu-noble","pushedAt":"2024-05-14T13:50:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"woju","name":"Wojtek Porczyk","path":"/woju","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1550337?s=80&v=4"},"commit":{"message":"[CI] Rewrite ubuntu22.04.dockerfile for consistency\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[CI] Rewrite ubuntu22.04.dockerfile for consistency"}},{"before":"0c230af4ff45701ab987bb898327a439be1673e2","after":"7c5c445000ca435240ae0961d480c605de14a30e","ref":"refs/heads/woju/ubuntu-noble","pushedAt":"2024-05-14T11:17:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"woju","name":"Wojtek Porczyk","path":"/woju","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1550337?s=80&v=4"},"commit":{"message":"[CI] Rewrite ubuntu22.04.dockerfile for consistency\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[CI] Rewrite ubuntu22.04.dockerfile for consistency"}},{"before":null,"after":"95dbd9c574fc001ca10963baa956c4b84687f128","ref":"refs/heads/dimakuv/fix-aesmd-restart-failure-v2","pushedAt":"2024-05-13T09:00:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"[PAL/Linux-SGX] Re-init attestation key after AESM restarted\n\nGramine uses the AESM daemon to request SGX Quotes from the Quoting\nEnclave. AESM runs in the background and may be restarted. For some\nreason, after a restart AESM \"forgets\" the platform's attestation key\nand requires an additional INIT_QUOTE_REQUEST before it is able to\ngenerate SGX Quotes again. Moreover, the Quoting Enclave's Target Info\nmay change at this point, so Gramine must update its cached QE Target\nInfo. This behavior is applicable only to DCAP attestation and is\ndocumented in Intel SGX PSW/DCAP software. Gramine didn't implement this\nbehavior and thus failed with \"AESM service returned error 42\".\n\nThis commit complies with the SGX PSW/DCAP documentation and adds the\nsend of INIT_QUOTE_REQUEST + update of QE Target Info + retry of SGX\nquote retrieval.\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"[PAL/Linux-SGX] Re-init attestation key after AESM restarted"}},{"before":"b0d66f45e1fca2b5a2bfc93b6f79aacfc18bcb1d","after":"0c230af4ff45701ab987bb898327a439be1673e2","ref":"refs/heads/woju/ubuntu-noble","pushedAt":"2024-05-10T15:38:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"woju","name":"Wojtek Porczyk","path":"/woju","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1550337?s=80&v=4"},"commit":{"message":"[CI] Rewrite ubuntu22.04.dockerfile for consistency\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[CI] Rewrite ubuntu22.04.dockerfile for consistency"}},{"before":null,"after":"f8eda808155b67f1980df36b45c3f7750db396bf","ref":"refs/heads/woju/gramine-sgx-sign-error-message","pushedAt":"2024-05-10T15:15:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woju","name":"Wojtek Porczyk","path":"/woju","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1550337?s=80&v=4"},"commit":{"message":"[python] Add nice error message for ENOENT when measuring trusted files\n\nSigned-off-by: Wojtek Porczyk ","shortMessageHtmlLink":"[python] Add nice error message for ENOENT when measuring trusted files"}},{"before":"f563707af2d9169599bc64978311e048fe598d70","after":"87ea2e27dcf73121114379e8798ada16fab09fb6","ref":"refs/heads/dimakuv/fix-aesmd-restart-failure","pushedAt":"2024-05-10T09:03:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"fixup! [PAL/Linux-SGX] Re-init attestation key after AESM restarted\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"fixup! [PAL/Linux-SGX] Re-init attestation key after AESM restarted"}},{"before":"e87639d1149ece1e0a6d35c4852c264453f13432","after":"f563707af2d9169599bc64978311e048fe598d70","ref":"refs/heads/dimakuv/fix-aesmd-restart-failure","pushedAt":"2024-05-10T07:20:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"fixup! [PAL/Linux-SGX] Re-init attestation key after AESM restarted\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"fixup! [PAL/Linux-SGX] Re-init attestation key after AESM restarted"}},{"before":"25056d0b8e7549d37b73f4a2c9dd90ab7c35f471","after":null,"ref":"refs/heads/mkow/add-dev-fd","pushedAt":"2024-05-09T16:50:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"}},{"before":"fda2f87794ee100691202387fa5b93eaf313b049","after":"25056d0b8e7549d37b73f4a2c9dd90ab7c35f471","ref":"refs/heads/master","pushedAt":"2024-05-09T16:50:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"},"commit":{"message":"[LibOS] Add `/dev/fd/` directory\n\nSigned-off-by: Michał Kowalczyk ","shortMessageHtmlLink":"[LibOS] Add /dev/fd/ directory"}},{"before":"8ab576af017f98e087b07b7780b987b95808a604","after":"25056d0b8e7549d37b73f4a2c9dd90ab7c35f471","ref":"refs/heads/mkow/add-dev-fd","pushedAt":"2024-05-09T13:35:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"},"commit":{"message":"[LibOS] Add `/dev/fd/` directory\n\nSigned-off-by: Michał Kowalczyk ","shortMessageHtmlLink":"[LibOS] Add /dev/fd/ directory"}},{"before":"fda2f87794ee100691202387fa5b93eaf313b049","after":null,"ref":"refs/heads/dimakuv/use-unresponsive-ip-addr-203","pushedAt":"2024-05-09T01:41:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"}},{"before":"112ecd22a331fa4f075174766472b826db8d3cba","after":"fda2f87794ee100691202387fa5b93eaf313b049","ref":"refs/heads/master","pushedAt":"2024-05-09T01:41:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mkow","name":"Michał Kowalczyk","path":"/mkow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5244565?s=80&v=4"},"commit":{"message":"[LibOS] test/regression: Use unresponsive IPv4 address `203.0.113.1`\n\nPreviously the EINPROGRESS tests used a supposedly-unresponsive address\n`10.255.255.255`, but this address may be used in a private network.\nThis commit switches to the address from the reserved \"Documentation\"\nrange, which should never be used in networks.\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"[LibOS] test/regression: Use unresponsive IPv4 address 203.0.113.1"}},{"before":"d2749e915496085cd35c6fda8c6f115a773bec47","after":"fda2f87794ee100691202387fa5b93eaf313b049","ref":"refs/heads/dimakuv/use-unresponsive-ip-addr-203","pushedAt":"2024-05-08T14:21:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"[LibOS] test/regression: Use unresponsive IPv4 address `203.0.113.1`\n\nPreviously the EINPROGRESS tests used a supposedly-unresponsive address\n`10.255.255.255`, but this address may be used in a private network.\nThis commit switches to the address from the reserved \"Documentation\"\nrange, which should never be used in networks.\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"[LibOS] test/regression: Use unresponsive IPv4 address 203.0.113.1"}},{"before":null,"after":"e87639d1149ece1e0a6d35c4852c264453f13432","ref":"refs/heads/dimakuv/fix-aesmd-restart-failure","pushedAt":"2024-05-08T09:27:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"[PAL/Linux-SGX] Re-init attestation key after AESM restarted\n\nGramine uses the AESM daemon to request SGX Quotes from the Quoting\nEnclave. AESM runs in the background and may be restarted. For some\nreason, after a restart AESM \"forgets\" the platform's attestation key\nand requires an additional INIT_QUOTE_REQUEST before it is able to\ngenerate SGX Quotes again. This behavior is documented in Intel SGX\nPSW/DCAP software, but Gramine didn't implement this and thus failed\nwith \"AESM service returned error 42\".\n\nThis commit complies with the SGX PSW/DCAP documentation and adds the\nsend of INIT_QUOTE_REQUEST + retry of SGX quote retrieval.\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"[PAL/Linux-SGX] Re-init attestation key after AESM restarted"}},{"before":"dfd5621da4bfc9ac32381c4a85181f4d687c2ee9","after":"642b21c6d387caf7659013ec347b1947518e270b","ref":"refs/heads/dimakuv/file-unlink-then-fchown","pushedAt":"2024-05-08T07:00:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"[LibOS] Fix `ENOENT` error in `fchown` on unlinked file\n\nThis is conceptually similar to the commit \"[LibOS] Fix `ENOENT` error\nin `fchmod` on unlinked file\".\n\nThree new LibOS regression sub-tests are added.\n\nCo-authored-by: g2flyer \nSigned-off-by: g2flyer \nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"[LibOS] Fix ENOENT error in fchown on unlinked file"}},{"before":"b840177415a11fb2f280724baafade3b49e71b55","after":"68d66ef1cf9458059f53f5eb2f1face7338336d1","ref":"refs/heads/dimakuv/protected-files-cleanup-part4","pushedAt":"2024-05-07T13:33:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"},"commit":{"message":"[common] Refactor Protected Files, part 4\n\nThis commit refactors PF code without changing functionality (part 4 in\na series of commits). In particular, this commit re-orders variables,\nstruct definitions, struct fields, typedefs, and macros for readability.\n\nSigned-off-by: Dmitrii Kuvaiskii ","shortMessageHtmlLink":"[common] Refactor Protected Files, part 4"}},{"before":"112ecd22a331fa4f075174766472b826db8d3cba","after":null,"ref":"refs/heads/dimakuv/protected-files-cleanup-part3","pushedAt":"2024-05-07T13:32:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dimakuv","name":"Dmitrii Kuvaiskii","path":"/dimakuv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1975435?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEThjJJQA","startCursor":null,"endCursor":null}},"title":"Activity · gramineproject/gramine"}