{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":655639420,"defaultBranch":"master","name":"docker-keeper","ownerLogin":"erikmd","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-06-19T09:49:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10367254?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721389836.0","currentOid":""},"activityList":{"items":[{"before":"5844e6b218bbd1c88b28d9a86a9a69b17939e69f","after":"f0373f2cad4111bd04027154320bf92c6dff8470","ref":"refs/heads/master","pushedAt":"2024-07-22T11:02:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"test: Add test_subset_comma_list","shortMessageHtmlLink":"test: Add test_subset_comma_list"}},{"before":"3c2782c714dcb2a8b1c5aa6c356ca4d38e43a3f4","after":"5844e6b218bbd1c88b28d9a86a9a69b17939e69f","ref":"refs/heads/master","pushedAt":"2024-07-21T11:00:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"docs(README.md): Use `./keeper.py generate-config --help`\n\nFollow-up: 3c2782c714dcb2a8b1c5aa6c356ca4d38e43a3f4","shortMessageHtmlLink":"docs(README.md): Use ./keeper.py generate-config --help"}},{"before":"91260043142b2f4aa24f00f1af8492d3cdc38df2","after":null,"ref":"refs/heads/add-propagate","pushedAt":"2024-07-19T11:50:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"}},{"before":"baf2f5fed01ef9ce2130156982d42d3150cc71e6","after":"3c2782c714dcb2a8b1c5aa6c356ca4d38e43a3f4","ref":"refs/heads/master","pushedAt":"2024-07-15T15:50:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix: Improve two details\n\n* Add `date -u -R` in propagate job\n* Fix `./keeper.py generate-config --help`","shortMessageHtmlLink":"fix: Improve two details"}},{"before":"749b8bc0ca31a9a2dbfcd7035d9bca6db9daf6d4","after":"baf2f5fed01ef9ce2130156982d42d3150cc71e6","ref":"refs/heads/master","pushedAt":"2024-07-01T15:52:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(keeper.py): get_nightly_only(): 'debug' argument missing","shortMessageHtmlLink":"fix(keeper.py): get_nightly_only(): 'debug' argument missing"}},{"before":"448db6210d220fed9d5e973a343e11c1ff973851","after":"749b8bc0ca31a9a2dbfcd7035d9bca6db9daf6d4","ref":"refs/heads/master","pushedAt":"2024-07-01T15:43:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(gitlab-ci-template.yml): heuristic to spot manually-run pipelines","shortMessageHtmlLink":"fix(gitlab-ci-template.yml): heuristic to spot manually-run pipelines"}},{"before":"f53a3db75be2423d2c1751ce914965d4300805d0","after":"448db6210d220fed9d5e973a343e11c1ff973851","ref":"refs/heads/master","pushedAt":"2024-07-01T15:18:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(keeper.py): a nasty string vs. list type error","shortMessageHtmlLink":"fix(keeper.py): a nasty string vs. list type error"}},{"before":"d40b6158b62bb6607d75ab783b5c6594c54a3604","after":"f53a3db75be2423d2c1751ce914965d4300805d0","ref":"refs/heads/master","pushedAt":"2024-07-01T14:45:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(gitlab-ci-template.yml): Support CRON_MODE='minimal' also","shortMessageHtmlLink":"fix(gitlab-ci-template.yml): Support CRON_MODE='minimal' also"}},{"before":"b05b0d2a7fe8e68512913637a63a8f58e2ebbd61","after":"d40b6158b62bb6607d75ab783b5c6594c54a3604","ref":"refs/heads/master","pushedAt":"2024-07-01T14:23:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(keeper.py): Allow propagate even if build is no-op","shortMessageHtmlLink":"fix(keeper.py): Allow propagate even if build is no-op"}},{"before":"a3fa9b3ab78f883652230dcd62824d7362d9c195","after":"b05b0d2a7fe8e68512913637a63a8f58e2ebbd61","ref":"refs/heads/master","pushedAt":"2024-07-01T14:07:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(keeper.py): Avoid dict KeyError","shortMessageHtmlLink":"fix(keeper.py): Avoid dict KeyError"}},{"before":"d8725e556a2cd4a562cd013492c4b30fcff7c7d8","after":"a3fa9b3ab78f883652230dcd62824d7362d9c195","ref":"refs/heads/master","pushedAt":"2024-07-01T13:35:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(gitlab-ci-template.yml): CLI syntax when reading from CI var","shortMessageHtmlLink":"fix(gitlab-ci-template.yml): CLI syntax when reading from CI var"}},{"before":"a8b0feda4fa8cd5052b4628473cd93a3faf016a2","after":"d8725e556a2cd4a562cd013492c4b30fcff7c7d8","ref":"refs/heads/master","pushedAt":"2024-07-01T13:23:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(gitlab-ci-template.yml): Add missing prefix --…","shortMessageHtmlLink":"fix(gitlab-ci-template.yml): Add missing prefix --…"}},{"before":"20f854fc662b58735dca386636b48305254fde12","after":"a8b0feda4fa8cd5052b4628473cd93a3faf016a2","ref":"refs/heads/master","pushedAt":"2024-07-01T13:16:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(gitlab-ci-template.yml): Remove leftover '--command=' prefix","shortMessageHtmlLink":"fix(gitlab-ci-template.yml): Remove leftover '--command=' prefix"}},{"before":"6908589061f538f5ab24cfd8ae2a1056d209e62a","after":"20f854fc662b58735dca386636b48305254fde12","ref":"refs/heads/master","pushedAt":"2024-07-01T13:10:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix(gitlab-ci-template.yml): Boolean condition","shortMessageHtmlLink":"fix(gitlab-ci-template.yml): Boolean condition"}},{"before":"7cb6f0cabba9bcb795269dc39eb90f3799574771","after":"6908589061f538f5ab24cfd8ae2a1056d209e62a","ref":"refs/heads/master","pushedAt":"2024-07-01T13:03:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix: apk not found on Debian","shortMessageHtmlLink":"fix: apk not found on Debian"}},{"before":"97a931d8dced3633b1dd40b0039b1593c0cf1cf6","after":"7cb6f0cabba9bcb795269dc39eb90f3799574771","ref":"refs/heads/master","pushedAt":"2024-07-01T12:58:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"docs: Fix doc of HEAD-commit-message\n\nCurrently, only support 1 output mode per propagate ID (a.k.a. slug).","shortMessageHtmlLink":"docs: Fix doc of HEAD-commit-message"}},{"before":"32b4856ca016ffad38bdb396235a9a3044b18857","after":"97a931d8dced3633b1dd40b0039b1593c0cf1cf6","ref":"refs/heads/master","pushedAt":"2024-07-01T12:48:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"docs: Document HEAD-commit-message features\n\n(e.g., git commit --allow-empty -m \"…\" -m \"docker-keeper: rebuild-all\")","shortMessageHtmlLink":"docs: Document HEAD-commit-message features"}},{"before":"e99619f00c1ed93c77dec80f4e6f1520efbfc14b","after":"32b4856ca016ffad38bdb396235a9a3044b18857","ref":"refs/heads/master","pushedAt":"2024-07-01T12:37:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix: Take 'mode: nil' into account @ 'images.yml'.propagate.strategy","shortMessageHtmlLink":"fix: Take 'mode: nil' into account @ 'images.yml'.propagate.strategy"}},{"before":null,"after":"91260043142b2f4aa24f00f1af8492d3cdc38df2","ref":"refs/heads/add-propagate","pushedAt":"2024-07-01T12:31:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"fix: Take 'mode: nil' into account @ 'images.yml'.propagate.strategy","shortMessageHtmlLink":"fix: Take 'mode: nil' into account @ 'images.yml'.propagate.strategy"}},{"before":"effbf53d981a1ce66ad4a23d35c88f0373a7e1dd","after":null,"ref":"refs/heads/add-propagate","pushedAt":"2024-07-01T12:20:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"}},{"before":"fa5bcbfa72ed2e48174f61fb04a2e413ddca595e","after":"e99619f00c1ed93c77dec80f4e6f1520efbfc14b","ref":"refs/heads/master","pushedAt":"2024-07-01T12:20:57.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"Merge branch 'add-propagate' into 'master'\n\nAdd automatic/manual propagate, Improve CLI with argparse, Read HEAD commit msg\n\nCloses #1 and #3\n\nSee merge request erikmd/docker-keeper!1","shortMessageHtmlLink":"Merge branch 'add-propagate' into 'master'"}},{"before":"02ee985c0663fde97a0c7326f9d3be6d4404e743","after":"effbf53d981a1ce66ad4a23d35c88f0373a7e1dd","ref":"refs/heads/add-propagate","pushedAt":"2024-07-01T12:14:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"docs(README.md): Update usage from argparse output\n\nClose #1\nClose #3","shortMessageHtmlLink":"docs(README.md): Update usage from argparse output"}},{"before":"eb77eb7d2c2115b2a0fec7aadea305bc525acb92","after":"02ee985c0663fde97a0c7326f9d3be6d4404e743","ref":"refs/heads/add-propagate","pushedAt":"2024-07-01T12:09:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"docs(README.md): Update usage from argparse output\n\nClose #1\nClose #3","shortMessageHtmlLink":"docs(README.md): Update usage from argparse output"}},{"before":"692e5a019f44b1da68891ee9adb34cd51afe1ab3","after":"eb77eb7d2c2115b2a0fec7aadea305bc525acb92","ref":"refs/heads/add-propagate","pushedAt":"2024-07-01T11:46:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"feat: New version extending the generate_config stage with dk_curl","shortMessageHtmlLink":"feat: New version extending the generate_config stage with dk_curl"}},{"before":"1a24eb962067c727bc448ecda4032091899b9205","after":"692e5a019f44b1da68891ee9adb34cd51afe1ab3","ref":"refs/heads/add-propagate","pushedAt":"2024-07-01T10:59:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"feat: New version that greatly improve the prepare-artifacts stage\n\n- Rework keeper.py to use argparse\n- Add several checks for consistency\n- Support comma-separated lists in ITEM (CRON_MODE='rebuild-keyword')\n- Add ITEM-string-based modes CRON_MODE='rebuild-file', CRON_MODE='rebuild-tag'\n- Extend images.yml with propagate strategy (amounts to declarative curl calls)\n- Support multiple propagate modes from CLI, typically:\n git commit --allow-empty -m \"…\" -m \"docker-keeper: rebuild-all\"\n git commit -m \"docker-keeper: propagate: ID: minimal; propagate: ID: nightly\"\n git commit -m \"docker-keeper: propagate: ID: nightly\"\n git commit -m \"docker-keeper: propagate: ID: rebuild-all\"\n git commit -m \"docker-keeper: propagate: ID: rebuild-keyword: KW1,KW2\"\n git commit -m \"docker-keeper: propagate: ()\"\n- If the commit message (or equivalently, the CLI) contains propagate…,\n then it overrides the automatic default propagation.\n- If the commit is rebuilt with the same SHA1 in a given branch,\n then it switches to the default behavior (automatic propagate strategy).","shortMessageHtmlLink":"feat: New version that greatly improve the prepare-artifacts stage"}},{"before":"0307dbafb9f5020ae9287801d7fd6c53f3ed0672","after":"1a24eb962067c727bc448ecda4032091899b9205","ref":"refs/heads/add-propagate","pushedAt":"2024-07-01T10:52:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"feat: New version that greatly improve the prepare-artifacts stage\n\n- Rework keeper.py to use argparse\n- Add several checks for consistency\n- Support comma-separated lists in ITEM (CRON_MODE='rebuild-keyword')\n- Add ITEM-string-based modes CRON_MODE='rebuild-file', CRON_MODE='rebuild-tag'\n- Extend images.yml with propagate strategy (amounts to declarative curl calls)\n- Support multiple propagate modes from CLI, typically:\n git commit --allow-empty -m \"…\" -m \"docker-keeper: rebuild-all\"\n git commit -m \"docker-keeper: propagate: ID: minimal; propagate: ID: nightly\"\n git commit -m \"docker-keeper: propagate: ID: nightly\"\n git commit -m \"docker-keeper: propagate: ID: rebuild-all\"\n git commit -m \"docker-keeper: propagate: ID: rebuild-keyword: KW1,KW2\"\n git commit -m \"docker-keeper: propagate: ()\"\n- If the commit message (or equivalently, the CLI) contains propagate…,\n then it overrides the automatic default propagation.\n- If the commit is rebuilt with the same SHA1 in a given branch,\n then it switches to the default behavior (automatic propagate strategy).","shortMessageHtmlLink":"feat: New version that greatly improve the prepare-artifacts stage"}},{"before":"782428b834c2d958fa260dd0b2b0070822a81a58","after":"0307dbafb9f5020ae9287801d7fd6c53f3ed0672","ref":"refs/heads/add-propagate","pushedAt":"2024-06-30T23:41:13.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"feat: New version that greatly improve the prepare-artifacts stage\n\n- Rework keeper.py to use argparse\n- Add several checks for consistency\n- Support comma-separated lists in ITEM (CRON_MODE='rebuild-keyword')\n- Add ITEM-string-based modes CRON_MODE='rebuild-file', CRON_MODE='rebuild-tag'\n- Extend images.yml with propagate strategy (amounts to declarative curl calls)\n- Support multiple propagate modes from CLI, typically:\n git commit --allow-empty -m \"…\" -m \"docker-keeper: rebuild-all\"\n git commit -m \"docker-keeper: propagate: ID: minimal; propagate: ID: nightly\"\n git commit -m \"docker-keeper: propagate: ID: nightly\"\n git commit -m \"docker-keeper: propagate: ID: rebuild-all\"\n git commit -m \"docker-keeper: propagate: ID: rebuild-keyword: KW1,KW2\"\n git commit -m \"docker-keeper: propagate: ()\"\n- If the commit message (or equivalently, the CLI) contains propagate…,\n then it overrides the automatic default propagation.\n- If the commit is rebuilt with the same SHA1 in a given branch,\n then it switches to the default behavior (automatic propagate strategy).","shortMessageHtmlLink":"feat: New version that greatly improve the prepare-artifacts stage"}},{"before":"2e1d38a5f3565d96d9a39468199f3eef7e14a516","after":"782428b834c2d958fa260dd0b2b0070822a81a58","ref":"refs/heads/add-propagate","pushedAt":"2024-06-29T10:10:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"feat: Extend BashLike with '{l[/#/;]},{l[/%/;]},{s[#;]},{s[##*;]}'","shortMessageHtmlLink":"feat: Extend BashLike with '{l[/#/;]},{l[/%/;]},{s[#;]},{s[##*;]}'"}},{"before":"9650d9bbd9c990a539e4dc649c1703df74819a26","after":"2e1d38a5f3565d96d9a39468199f3eef7e14a516","ref":"refs/heads/add-propagate","pushedAt":"2024-06-29T10:02:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"feat: Extend BashLike with '{l[/#/;]},{l[/%/;]},{s[#;]},{s[##*;]}'","shortMessageHtmlLink":"feat: Extend BashLike with '{l[/#/;]},{l[/%/;]},{s[#;]},{s[##*;]}'"}},{"before":null,"after":"9650d9bbd9c990a539e4dc649c1703df74819a26","ref":"refs/heads/add-propagate","pushedAt":"2024-06-29T09:56:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"erikmd","name":"Erik Martin-Dorel","path":"/erikmd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10367254?s=80&v=4"},"commit":{"message":"feat: Extend BashLike with '{l[/#/;]},{l[/%/;]},{s[#;]},{s[##*;]}'","shortMessageHtmlLink":"feat: Extend BashLike with '{l[/#/;]},{l[/%/;]},{s[#;]},{s[##*;]}'"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEhaxl3AA","startCursor":null,"endCursor":null}},"title":"Activity · erikmd/docker-keeper"}