{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":263345079,"defaultBranch":"main","name":"domjudge-packaging","ownerLogin":"tom93","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-05-12T13:30:01.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5887562?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1724645985.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"f62e173e934a2f0f9d5af58cdb9945b1b0bd11a4","ref":"refs/heads/queue/check-ownership-across-docker-build-stages","pushedAt":"2024-08-26T04:19:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Check UID & GID of \"domjudge\" are same across Docker build stages\n\nSince commit b6ae2719d4 (Preserve ownership of /opt/domjudge set by\n`make install-*`, 2024-07-10), the ownership of the files copied from\nthe previous build stage is preserved rather than overwritten. This is\nslightly fragile because Docker's `COPY --from` directive only\npreserves the ownership correctly if the numerical user and group IDs\nare the same across the build stages.\n\nThis commit adds a check to verify that the IDs of the \"domjudge\" user\nare the same. (We don't need to check the IDs of the \"www-data\" user,\nbecause they're guaranteed to be the same.[1][2])\n\n - For the domserver image, we do this by comparing the values in\n /etc/passwd.\n\n - For the judgehost image, we can't compare /etc/passwd because the\n first build stage is in a separate Dockerfile (chroot-and-tar.sh\n needs to run in a privileged container). So instead we check the\n owner of a well-known directory (/opt/domjudge/judgehost/run) which\n should be owned by \"domjudge\". (We can't check the GID because\n there are no files or directories with group \"domjudge\".)\n\nThis commit also moves the creation of the \"domjudge\" user a little\nearlier, to reduce the opportunity for some other command to create a\nuser and change the ID assigned to the \"domjudge\" user.\n\n(An alternative approach that guarantees the ownership is preserved,\nregardless of the UID & GID, is to create a tarball, copy the tarball\nbetween the build stages, then extract the tarball. This is reliable\nbecause GNU tar records the user name and attempts to preserve it when\nextracting. However it's slower and makes the image larger.)\n\n[1] https://www.debian.org/doc/debian-policy/ch-opersys.html#uid-and-gid-classes\n[2] https://salsa.debian.org/debian/base-passwd/blob/master/passwd.master","shortMessageHtmlLink":"Check UID & GID of \"domjudge\" are same across Docker build stages"}},{"before":"48ad2634e42749df69154c39a02e5c24697e4da1","after":null,"ref":"refs/heads/pr/fix-docker-chown","pushedAt":"2024-08-05T06:42:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"}},{"before":"8e05a620cb30763541a92c42122483d528a0d402","after":null,"ref":"refs/heads/pr/fix-README-docker-link","pushedAt":"2024-08-05T06:40:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"}},{"before":"0a452742e6cfece276c5afae8439baddd988cb71","after":null,"ref":"refs/heads/pr/clean-up-docker-build-script","pushedAt":"2024-08-05T06:40:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"}},{"before":"a012d2051d523a196e34716d798bc3a1332e8a4a","after":null,"ref":"refs/heads/pr/small-fixes","pushedAt":"2024-08-05T06:40:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"}},{"before":"3e57985a9607c6d3d0def36fad6bb8a2aed7c2cd","after":null,"ref":"refs/heads/pr/fix-ownership","pushedAt":"2024-08-05T06:36:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"}},{"before":"d0211ccb55aec663d0f807288a194feadb1e480b","after":"3e57985a9607c6d3d0def36fad6bb8a2aed7c2cd","ref":"refs/heads/pr/fix-ownership","pushedAt":"2024-08-04T08:15:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Preserve ownership of /opt/domjudge set by `make install-*`\n\nPreviously, the DOMjudge Docker scripts changed the ownership of\n/opt/domjudge to \"domjudge\" recursively, overriding the ownership set\nby the DOMjudge installation commands (`make install-domserver` and\n`make install-judgehost`), which mostly set the owner to \"root\".\n\nIt is unclear why the Docker scripts did that, since the DOMjudge\ninstallation commands should be responsible for installing with the\ncorrect ownership.\n\nThis commit removes the `chown -R` calls from the Docker scripts in\norder to preserve the ownership set by the DOMjudge installation\ncommands and avoid security issues.\n\nNote that the new behaviour is slightly fragile because it relies on\nDocker's `COPY --from` directive to preserve the ownership when\ncopying files between build stages, and that only works if the\nnumerical user and group IDs are the same. We plan to add a check that\nthe IDs are the same.","shortMessageHtmlLink":"Preserve ownership of /opt/domjudge set by make install-*"}},{"before":null,"after":"d0211ccb55aec663d0f807288a194feadb1e480b","ref":"refs/heads/pr/fix-ownership","pushedAt":"2024-08-04T08:13:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Preserve ownership of /opt/domjudge set by `make install-*`\n\nPreviously, the DOMjudge Docker scripts changed the ownership of\n/opt/domjudge to \"domjudge\" recursively, overriding the ownership set\nby the DOMjudge installation commands (`make install-domserver` and\n`make install-judgehost`), which mostly set the owner to \"root\".\n\nIt is unclear why the Docker scripts did that, since the DOMjudge\ninstallation commands should be responsible for installing with the\ncorrect ownership.\n\nThis commit removes the `chown -R` calls from the Docker scripts in\norder to preserve the ownership set by the DOMjudge installation\ncommands and avoid security issues.\n\nNote that the new behaviour is slightly fragile because it relies on\nDocker's `COPY --from` directive to preserve the ownership when\ncopying files between build stages, and that only works if the\nnumerical user and group IDs are the same. We plan to add a check that\nthe IDs are the same.","shortMessageHtmlLink":"Preserve ownership of /opt/domjudge set by make install-*"}},{"before":null,"after":"8e05a620cb30763541a92c42122483d528a0d402","ref":"refs/heads/pr/fix-README-docker-link","pushedAt":"2024-07-21T11:51:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Remove obsolete reference to `--link` from docker/README.md\n\nCommit 62889e12b7 (Add instructions for setting up Traefik in Docker,\n2024-02-06) switched from the legacy `--link` option to a user-defined\nbridge network (`--net`).","shortMessageHtmlLink":"Remove obsolete reference to --link from docker/README.md"}},{"before":"6cd73e49ef72a83423dbdfb8c900c02a298e4668","after":"0a452742e6cfece276c5afae8439baddd988cb71","ref":"refs/heads/pr/clean-up-docker-build-script","pushedAt":"2024-07-10T10:44:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Clean up docker/build.sh\n\n - Move usage check to the top, to serve as documentation for people\n who read the script.\n\n - Remove `-x` from shebang line (#!), to only enable tracing in CI.\n\n - Fix `set -x` call (previously it was inside the `if` condition,\n which is wrong).\n\n - Remove PS4 variable (which adds info to the trace) because sh does\n not support LINENO, and the rest of the info is not that useful.\n\n - Inline `trace_off` into section_start and section_end to produce\n less noise in the trace. (The \"section_start\" lines will still be\n displayed though. Hiding them is tricky; see\n DOMjudge/domjudge/gitlab/integration.sh for an example, but note\n that it requires bash for `shopt -s expand_aliases`.)\n\n - Make the no-op placeholders for section_start and section_end\n produce less noise in the trace.\n\n - Redirect stderr to stdout as a workaround for a GitHub Actions\n issue that causes them to appear out-of-order.\n\n - Simplify initialisation of NAMESPACE variable to make the trace\n look nicer.\n\n - Put the variable assignments in a log group to make it look nicer.\n\n - Fix the invocation of build.sh in the build-domjudge-container-*\n workflows to use `./build.sh` rather than `sh ./build.sh` so that\n the options in the shebang line will be respected. Also remove\n unnecessary calls to `set -x` in the workflows.","shortMessageHtmlLink":"Clean up docker/build.sh"}},{"before":"38e447af65ce7666914ca313b486f0ea3906abc9","after":"48ad2634e42749df69154c39a02e5c24697e4da1","ref":"refs/heads/pr/fix-docker-chown","pushedAt":"2024-07-10T10:23:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Speed up chown in Docker\n\nRecursive chown is slow in Docker because of the copy-on-write\nfilesystem.[1]\n\nAvoid chown by creating files with correct ownership from the\nbeginning (e.g. combine `COPY` followed by `RUN chown -R domjudge:`\ninto `COPY --chown=domjudge`).\n\nIn the case of domjudge.tar.gz (the release archive), Docker's ADD\ndirective doesn't support overriding the owner of the extracted\nfiles[2], so we copy the archive as-is then extract it manually. (The\narchive will be stored in the intermediate layer, but this is actually\nmuch faster and produces a smaller image than `chown -R`.)\n\nIn the case of judgehost.tar.gz (containing /opt/domjudge/judgehost,\ncreated via build-judgehost.sh > judgehost/Dockerfile.build >\nchroot-and-tar.sh), we continue to use `chown -R` because the\ndirectory is small; this commit just moves those lines from\njudgehost/configure.sh to judgehost/Dockerfile for consistency and\nclarity.\n\n[1] https://www.github.com/docker/for-linux/issues/388\n[2] https://www.github.com/moby/moby/issues/35525","shortMessageHtmlLink":"Speed up chown in Docker"}},{"before":"d59ff5d2a6a62c594a92c8b855edceda55c8601a","after":"38e447af65ce7666914ca313b486f0ea3906abc9","ref":"refs/heads/pr/fix-docker-chown","pushedAt":"2024-07-09T20:04:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Speed up chown in Docker\n\nRecursive chown is slow in Docker because of the copy-on-write\nfilesystem.[1]\n\nAvoid chown by creating files with correct ownership from the\nbeginning where possible.\n\nIn the case of domjudge.tar.gz, Docker's ADD directive doesn't support\noverriding the owner of the extracted files[2], so we copy the archive\nas-is then extract it manually. (The archive will be stored in the\nintermediate layer, but this is actually much faster and produces a\nsmaller image than `chown`.)\n\n[1] https://www.github.com/docker/for-linux/issues/388\n[2] https://www.github.com/moby/moby/issues/35525","shortMessageHtmlLink":"Speed up chown in Docker"}},{"before":"74d9b0d90c0b280cb3b27c6ff3f3a976d222c522","after":"6cd73e49ef72a83423dbdfb8c900c02a298e4668","ref":"refs/heads/pr/clean-up-docker-build-script","pushedAt":"2024-07-09T19:35:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Clean up docker/build.sh\n\n - Move usage check to the top, to serve as documentation for people\n who read the script.\n\n - Remove `-x` from shebang line (#!), to only enable tracing in CI.\n\n - Fix `set -x` call (previously it was inside the `if` condition,\n which is wrong).\n\n - Include line numbers etc. in traces (using PS4) on GitHub Actions\n (previously they were only included on other CI platforms).\n\n - Inline `trace_off` into section_start and section_end to produce\n less noise in the trace.\n\n - Make the no-op placeholders for section_start and section_end\n produce less noise in the trace.\n\n - Redirect stderr to stdout as a workaround for a GitHub Actions\n issue that causes them to appear out-of-order.\n\n - Simplify initialisation of NAMESPACE variable to make the trace\n look nicer.\n\n - Fix the invocation of build.sh in the build-domjudge-container-*\n workflows to use `./build.sh` rather than `sh ./build.sh` so that\n the options in the shebang line will be respected. Also remove\n unnecessary calls to `set -x` in the workflows.","shortMessageHtmlLink":"Clean up docker/build.sh"}},{"before":"db082a296f8300d6e76fe66d29bba9ef2210a837","after":"74d9b0d90c0b280cb3b27c6ff3f3a976d222c522","ref":"refs/heads/pr/clean-up-docker-build-script","pushedAt":"2024-07-09T19:29:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Clean up docker/build.sh\n\n - Move usage check to the top, to serve as documentation for people\n who read the script.\n\n - Remove `-x` from shebang line (#!), to only enable tracing in CI.\n\n - Fix `set -x` call (previously it was inside the `if` condition,\n which is wrong).\n\n - Include line numbers in traces (using PS4) on GitHub Actions\n (previously they were only included non other CI platforms).\n\n - Inline `trace_off` into section_start and section_end to produce\n less noise in the trace.\n\n - Add workaround for GitHub Actions issue that causes stdout and\n stderr to appear out-of-order.\n\n - Simplify initialisation of NAMESPACE variable to make the trace\n look nicer.\n\n - Fix the invocation of build.sh in the build-domjudge-container-*\n workflows to use `./build.sh` rather than `sh ./build.sh` so that\n the options in the shebang line will be respected. Also remove\n unnecessary calls to `set -x` in the workflows.","shortMessageHtmlLink":"Clean up docker/build.sh"}},{"before":"25d2969f045c6ddb5cfe5782486b8882a70608c0","after":"d59ff5d2a6a62c594a92c8b855edceda55c8601a","ref":"refs/heads/pr/fix-docker-chown","pushedAt":"2024-07-09T19:26:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Speed up chown in Docker\n\nRecursive chown is slow in Docker because of the copy-on-write\nfilesystem.[1]\n\nAvoid chown by creating files with correct ownership from the\nbeginning where possible.\n\nIn the case of domjudge.tar.gz, Docker's ADD directive doesn't support\noverriding the owner of the extracted files[2], so we copy the archive\nas-is then extract it manually. (The archive will be stored in the\nintermediate layer, but this is actually much faster and produces a\nsmaller image than `chown`.)\n\n[1] https://www.github.com/docker/for-linux/issues/388\n[2] https://www.github.com/moby/moby/issues/35525","shortMessageHtmlLink":"Speed up chown in Docker"}},{"before":"00e15a5ecbb64fcdf8cb218b9db9d92c01ea4378","after":"25d2969f045c6ddb5cfe5782486b8882a70608c0","ref":"refs/heads/pr/fix-docker-chown","pushedAt":"2024-07-09T19:21:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Speed up chown in Docker\n\nRecursive chown is slow in Docker because of the copy-on-write\nfilesystem.[1]\n\nAvoid chown by creating files with correct ownership from the\nbeginning where possible.\n\nIn the case of domjudge.tar.gz, Docker's ADD directive doesn't support\noverriding the owner of the extracted files[2], so we copy the archive\nas-is then extract it manually. (The archive will be stored in the\nintermediate layer, but this is actually much faster and produces a\nsmaller image than `chown`.)\n\n[1] https://www.github.com/docker/for-linux/issues/388\n[2] https://www.github.com/moby/moby/issues/35525","shortMessageHtmlLink":"Speed up chown in Docker"}},{"before":"89a16e10593ff89bcb7508726b9cc488e9a5ffdd","after":"00e15a5ecbb64fcdf8cb218b9db9d92c01ea4378","ref":"refs/heads/pr/fix-docker-chown","pushedAt":"2024-07-09T18:59:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Speed up chown in Docker\n\nRecursive chown is slow in Docker because of the copy-on-write\nfilesystem.[1]\n\nAvoid chown by creating files with correct ownership from the\nbeginning where possible.\n\nIn the case of domjudge.tar.gz, Docker's ADD directive doesn't support\noverriding the owner of the extracted files[2], so we copy the archive\nas-is then extract it manually. (The archive will be stored in the\nintermediate layer, but this is actually much faster and produces a\nsmaller image than `chown`.)\n\n[1] https://www.github.com/docker/for-linux/issues/388\n[2] https://www.github.com/moby/moby/issues/35525","shortMessageHtmlLink":"Speed up chown in Docker"}},{"before":null,"after":"89a16e10593ff89bcb7508726b9cc488e9a5ffdd","ref":"refs/heads/pr/fix-docker-chown","pushedAt":"2024-07-09T17:03:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Speed up chown in Docker\n\nRecursive chown is slow in Docker because of the copy-on-write\nfilesystem.[1]\n\nAvoid chown by creating files with correct ownership from the\nbeginning where possible.\n\nWhere it is not possible (specifically \"ADD domjudge.tar.gz\" because\nthe owner in the archive is arbitrary and can't be overridden[2]),\noptimise the case where the files already have the correct ownership.\n\n[1] https://www.github.com/docker/for-linux/issues/388\n[2] https://www.github.com/moby/moby/issues/35525","shortMessageHtmlLink":"Speed up chown in Docker"}},{"before":null,"after":"db082a296f8300d6e76fe66d29bba9ef2210a837","ref":"refs/heads/pr/clean-up-docker-build-script","pushedAt":"2024-07-09T16:55:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Clean up docker/build.sh\n\n - Move usage check to the top, to serve as documentation for people\n who read the script.\n\n - Remove `-x` from shebang line (#!), to only enable tracing in CI.\n\n - Fix `set -x` call (previously it was inside the `if` condition,\n which is wrong).\n\n - Include line numbers in traces (using PS4) on GitHub Actions\n (previously they were only included non other CI platforms).\n\n - Inline `trace_off` into section_start and section_end to produce\n less noise in the trace.\n\n - Add workaround for GitHub Actions issue that causes stdout and\n stderr to appear out-of-order.\n\n - Simplify initialisation of NAMESPACE variable to make the trace\n look nicer.\n\n - Fix invocation of build.sh in build-domjudge-container-* workflows\n to use `./build.sh` rather than `sh ./build.sh` so that the options\n in the shebang line will be respected. Also remove unnecessary\n calls to `set -x` in the workflows.","shortMessageHtmlLink":"Clean up docker/build.sh"}},{"before":"93f0b73e1e30fa09f9a61152287fc81e18a3e927","after":"a012d2051d523a196e34716d798bc3a1332e8a4a","ref":"refs/heads/pr/small-fixes","pushedAt":"2024-07-09T16:14:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Switch to headless JDK\n\nThis is what the manual now suggests, and it's more consistent with\ndj_make_chroot which uses default-jre-headless.\n\nNot updating debian/control and live-image/install.sh for now because\nthey are legacy or currently untested.","shortMessageHtmlLink":"Switch to headless JDK"}},{"before":"74a892677b121d11b0447a5e168ee7de289fe7b1","after":"93f0b73e1e30fa09f9a61152287fc81e18a3e927","ref":"refs/heads/pr/small-fixes","pushedAt":"2024-07-09T16:10:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Switch to headless JDK\n\nThis is what the manual now suggests, and it's more consistent with\ndj_make_chroot which uses default-jre-headless.\n\nNot updating debian/control and live-image/install.sh for now because\nthey are legacy or currently untested.","shortMessageHtmlLink":"Switch to headless JDK"}},{"before":"6e84e40f1a247debaab596ce3aed7f6a3a9f7090","after":"74a892677b121d11b0447a5e168ee7de289fe7b1","ref":"refs/heads/pr/small-fixes","pushedAt":"2024-07-09T13:51:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Switch to headless JDK\n\nThis is what the manual now suggests, and it's more consistent with\ndj_make_chroot which uses default-jre-headless.\n\nNot updating debian/control and live-image/install.sh for now because\nthey are legacy or currently untested.","shortMessageHtmlLink":"Switch to headless JDK"}},{"before":"0877e74ebb49f7e178f13dc16e6fc188952d3857","after":"6e84e40f1a247debaab596ce3aed7f6a3a9f7090","ref":"refs/heads/pr/small-fixes","pushedAt":"2024-07-09T13:42:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Switch to headless JDK\n\nThis is what the manual now suggests, and it's more consistent with\ndj_make_chroot which uses default-jre-headless.\n\nNot updating debian/control and live-image/install.sh for now because\nthey are legacy or currently untested.","shortMessageHtmlLink":"Switch to headless JDK"}},{"before":"c1110fdaa2ce4449073c64d09aa764f560bb14de","after":"0877e74ebb49f7e178f13dc16e6fc188952d3857","ref":"refs/heads/pr/small-fixes","pushedAt":"2024-07-09T13:41:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"fixup! Switch to headless JDK\n\nRevert changes to debian/control and live-image/install.sh as\nrequested in review.","shortMessageHtmlLink":"fixup! Switch to headless JDK"}},{"before":"cbbf6134e65bfcbd868ad1246d721a90ee8d4e33","after":null,"ref":"refs/heads/pr/apt-cleanup","pushedAt":"2024-07-09T13:11:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"}},{"before":null,"after":"c1110fdaa2ce4449073c64d09aa764f560bb14de","ref":"refs/heads/pr/small-fixes","pushedAt":"2024-07-09T13:11:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Switch to headless JDK\n\nThis is what the manual now suggests, and it's more consistent with\ndj_make_chroot which uses default-jre-headless.","shortMessageHtmlLink":"Switch to headless JDK"}},{"before":"7ea9e4a0547dfe873e51d97931949ee811601c00","after":"cbbf6134e65bfcbd868ad1246d721a90ee8d4e33","ref":"refs/heads/pr/apt-cleanup","pushedAt":"2024-07-09T12:45:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Remove apt lists after 'apt-get update' in docker-contributor/Dockerfile\n\nWe already do this in all other places. It reduces the size of the\nimage.\n\n(Note that the 'rm' command has to be done in the same RUN instruction\nas 'apt-get update', otherwise the lists will still be stored in the\nintermediate layers. So some of the RUN instructions had to be\nmerged.)","shortMessageHtmlLink":"Remove apt lists after 'apt-get update' in docker-contributor/Dockerfile"}},{"before":"47e7fdd8ab0940029de64494005d4accb07c1f60","after":"7ea9e4a0547dfe873e51d97931949ee811601c00","ref":"refs/heads/pr/apt-cleanup","pushedAt":"2024-07-09T12:39:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Remove apt lists after 'apt-get update' in docker-contributor/Dockerfile\n\nWe already do this in all other places. It reduces the size of the\nimage.\n\n(Note that the 'rm' command has to be done in the same RUN instruction\nas 'apt-get update', otherwise the lists will still be stored in the\nintermediate layers. So some of the RUN instructions had to be\nmerged.)","shortMessageHtmlLink":"Remove apt lists after 'apt-get update' in docker-contributor/Dockerfile"}},{"before":null,"after":"47e7fdd8ab0940029de64494005d4accb07c1f60","ref":"refs/heads/pr/apt-cleanup","pushedAt":"2024-07-09T12:24:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"},"commit":{"message":"Restore `rm /var/lib/apt/lists` in docker-gitlabci/Dockerfile\n\nIt was removed as part of commit 7c8d5b9e6 (Upgrade gitlab image to\n24.04, 2024-04-28), but it should be kept to reduce the size of the\nimage (if the lists aren't removed in the same RUN directive as\n`apt-get update` then they will be included in the layer and make the\nimage larger, even if a later RUN directive removes the lists).","shortMessageHtmlLink":"Restore rm /var/lib/apt/lists in docker-gitlabci/Dockerfile"}},{"before":"8cd2be77a75bf2a4a81d3496cbb7befabfd7bbb0","after":null,"ref":"refs/heads/update-umask-fix","pushedAt":"2023-05-17T11:32:58.946Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tom93","name":"Tom Levy","path":"/tom93","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5887562?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNlQwNDoxOTo0NS4wMDAwMDBazwAAAASj2Zy6","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNlQwNDoxOTo0NS4wMDAwMDBazwAAAASj2Zy6","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNS0xN1QxMTozMjo1OC45NDY2ODFazwAAAAMujIVX"}},"title":"Activity ยท tom93/domjudge-packaging"}