mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-12-07 14:09:47 +00:00
The package cleanup routine checks every container version for whether it is referenced by a multi-platform manifest, which appears to be a performance problem indicated by CPU profiling collected in #9358 on SQLite systems. This PR removes that check completely, which isn't necessary since #4698 added a much more performant mass-cleanup of these dangling platform versions. May fix #9358 completely, but it leaves fundamental scalability concerns with SQLite due to long-running transactions. The transactions will be shorter with this change. Requires end-user testing to confirm if sufficiently fixed. ## Checklist The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org). ### Tests - I added test coverage for Go changes... - [x] in their respective `*_test.go` for unit tests. - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server. - I added test coverage for JavaScript changes... - [ ] in `web_src/js/*.test.js` if it can be unit tested. - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)). ### Documentation - [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change. - [x] I did not document these changes and I do not expect someone else to do it. ### Release notes - [ ] I do not want this change to show in the release notes. - [x] I want the title to show in the release notes with a link to this pull request. - [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title. <!--start release-notes-assistant--> ## Release notes <!--URL:https://codeberg.org/forgejo/forgejo--> - Bug fixes - [PR](https://codeberg.org/forgejo/forgejo/pulls/10297): <!--number 10297 --><!--line 0 --><!--description cmVkdWNlIHJ1bnRpbWUgb2YgY29udGFpbmVyIGNsZWFudXAgYnkgcmVseWluZyBvbiBtYXNzIGRpZ2VzdCBjbGVhbnVw-->reduce runtime of container cleanup by relying on mass digest cleanup<!--description--> <!--end release-notes-assistant--> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10297 Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net> Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
112 lines
7.3 KiB
YAML
112 lines
7.3 KiB
YAML
- id: 735
|
|
package_id: 7
|
|
creator_id: 1
|
|
version: _upload
|
|
lower_version: _upload
|
|
created_unix: 1764694509
|
|
is_internal: true
|
|
metadata_json: 'null'
|
|
download_count: 0
|
|
- id: 736
|
|
package_id: 7
|
|
creator_id: 1
|
|
version: 'sha256:a972a01ff13b1cb6a9c49b3c34a283b67b75f441b8ff17ad4833a472f7b0fe08'
|
|
lower_version: 'sha256:a972a01ff13b1cb6a9c49b3c34a283b67b75f441b8ff17ad4833a472f7b0fe08'
|
|
created_unix: 1764694509
|
|
is_internal: false
|
|
metadata_json: >-
|
|
{"type":"oci","is_tagged":false,"platform":"linux/amd64","description":"A
|
|
runner for Forgejo
|
|
Actions.","authors":["Forgejo"],"license":"GPL-3.0-or-later","project_url":"https://forgejo.org","repository_url":"https://code.forgejo.org/forgejo/runner","documentation_url":"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner","labels":{"io.buildah.version":"1.42.0","maintainer":"contact@forgejo.org","org.opencontainers.image.authors":"Forgejo","org.opencontainers.image.description":"A
|
|
runner for Forgejo
|
|
Actions.","org.opencontainers.image.documentation":"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner","org.opencontainers.image.licenses":"GPL-3.0-or-later","org.opencontainers.image.source":"https://code.forgejo.org/forgejo/runner","org.opencontainers.image.title":"Forgejo
|
|
Runner","org.opencontainers.image.url":"https://forgejo.org","org.opencontainers.image.vendor":"Forgejo","org.opencontainers.image.version":"1"},"layer_creation":["ADD
|
|
alpine-minirootfs-3.22.2-x86_64.tar.gz / # buildkit","CMD
|
|
[\"/bin/sh\"]","ARG RELEASE_VERSION","|1 RELEASE_VERSION=1 /bin/sh -c apk
|
|
add --no-cache git bash","COPY
|
|
file:abe2aa9c7d7eee672ac5953937e3ae56536980f485e40b8a70d94476ce576d39 in
|
|
/bin/forgejo-runner","LABEL maintainer=\"contact@forgejo.org\"
|
|
org.opencontainers.image.authors=\"Forgejo\"
|
|
org.opencontainers.image.url=\"https://forgejo.org\"
|
|
org.opencontainers.image.documentation=\"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner\"
|
|
org.opencontainers.image.source=\"https://code.forgejo.org/forgejo/runner\"
|
|
org.opencontainers.image.version=\"${RELEASE_VERSION}\"
|
|
org.opencontainers.image.vendor=\"Forgejo\"
|
|
org.opencontainers.image.licenses=\"GPL-3.0-or-later\"
|
|
org.opencontainers.image.title=\"Forgejo Runner\"
|
|
org.opencontainers.image.description=\"A runner for Forgejo Actions.\"","ENV
|
|
HOME=/data","USER 1000:1000","WORKDIR /data","VOLUME [\"/data\"]","CMD
|
|
[\"/bin/forgejo-runner\"]"]}
|
|
download_count: 0
|
|
- id: 737
|
|
package_id: 7
|
|
creator_id: 1
|
|
version: 'sha256:4759bcf56210784f3b2c2b7438a43a5771c5eda61a11825c80f7b32143ac9c12'
|
|
lower_version: 'sha256:4759bcf56210784f3b2c2b7438a43a5771c5eda61a11825c80f7b32143ac9c12'
|
|
created_unix: 1764694509
|
|
is_internal: false
|
|
metadata_json: >-
|
|
{"type":"oci","is_tagged":false,"platform":"linux/arm64/v8","description":"A
|
|
runner for Forgejo
|
|
Actions.","authors":["Forgejo"],"license":"GPL-3.0-or-later","project_url":"https://forgejo.org","repository_url":"https://code.forgejo.org/forgejo/runner","documentation_url":"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner","labels":{"io.buildah.version":"1.42.0","maintainer":"contact@forgejo.org","org.opencontainers.image.authors":"Forgejo","org.opencontainers.image.description":"A
|
|
runner for Forgejo
|
|
Actions.","org.opencontainers.image.documentation":"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner","org.opencontainers.image.licenses":"GPL-3.0-or-later","org.opencontainers.image.source":"https://code.forgejo.org/forgejo/runner","org.opencontainers.image.title":"Forgejo
|
|
Runner","org.opencontainers.image.url":"https://forgejo.org","org.opencontainers.image.vendor":"Forgejo","org.opencontainers.image.version":"1"},"layer_creation":["ADD
|
|
alpine-minirootfs-3.22.2-aarch64.tar.gz / # buildkit","CMD
|
|
[\"/bin/sh\"]","ARG RELEASE_VERSION","|1 RELEASE_VERSION=1 /bin/sh -c apk
|
|
add --no-cache git bash","COPY
|
|
file:26caa6ee49a60c7da3a00fe966069655c32d484f1659bb0389dc18fd9616b521 in
|
|
/bin/forgejo-runner","LABEL maintainer=\"contact@forgejo.org\"
|
|
org.opencontainers.image.authors=\"Forgejo\"
|
|
org.opencontainers.image.url=\"https://forgejo.org\"
|
|
org.opencontainers.image.documentation=\"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner\"
|
|
org.opencontainers.image.source=\"https://code.forgejo.org/forgejo/runner\"
|
|
org.opencontainers.image.version=\"${RELEASE_VERSION}\"
|
|
org.opencontainers.image.vendor=\"Forgejo\"
|
|
org.opencontainers.image.licenses=\"GPL-3.0-or-later\"
|
|
org.opencontainers.image.title=\"Forgejo Runner\"
|
|
org.opencontainers.image.description=\"A runner for Forgejo Actions.\"","ENV
|
|
HOME=/data","USER 1000:1000","WORKDIR /data","VOLUME [\"/data\"]","CMD
|
|
[\"/bin/forgejo-runner\"]"]}
|
|
download_count: 0
|
|
- id: 738
|
|
package_id: 7
|
|
creator_id: 1
|
|
version: v1.0
|
|
lower_version: v1.0
|
|
created_unix: 1764694509
|
|
is_internal: false
|
|
metadata_json: >-
|
|
{"type":"oci","is_tagged":true,"manifests":[{"platform":"linux/amd64","digest":"sha256:a972a01ff13b1cb6a9c49b3c34a283b67b75f441b8ff17ad4833a472f7b0fe08","size":19758113},{"platform":"linux/arm64","digest":"sha256:4759bcf56210784f3b2c2b7438a43a5771c5eda61a11825c80f7b32143ac9c12","size":19297077}]}
|
|
download_count: 0
|
|
- id: 740
|
|
package_id: 7
|
|
creator_id: 1
|
|
version: v2.0
|
|
lower_version: v2.0
|
|
created_unix: 1764695172
|
|
is_internal: false
|
|
metadata_json: >-
|
|
{"type":"oci","is_tagged":true,"platform":"linux/amd64","description":"A
|
|
runner for Forgejo
|
|
Actions.","authors":["Forgejo"],"license":"GPL-3.0-or-later","project_url":"https://forgejo.org","repository_url":"https://code.forgejo.org/forgejo/runner","documentation_url":"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner","labels":{"io.buildah.version":"1.42.0","maintainer":"contact@forgejo.org","org.opencontainers.image.authors":"Forgejo","org.opencontainers.image.description":"A
|
|
runner for Forgejo
|
|
Actions.","org.opencontainers.image.documentation":"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner","org.opencontainers.image.licenses":"GPL-3.0-or-later","org.opencontainers.image.source":"https://code.forgejo.org/forgejo/runner","org.opencontainers.image.title":"Forgejo
|
|
Runner","org.opencontainers.image.url":"https://forgejo.org","org.opencontainers.image.vendor":"Forgejo","org.opencontainers.image.version":"2"},"layer_creation":["ADD
|
|
alpine-minirootfs-3.22.2-x86_64.tar.gz / # buildkit","CMD
|
|
[\"/bin/sh\"]","ARG RELEASE_VERSION","|1 RELEASE_VERSION=2 /bin/sh -c apk
|
|
add --no-cache git bash","COPY
|
|
file:3c24d4a08c7006979c8b4397315c24dbb40df6b8fa474d8744daaf6fe17dce6f in
|
|
/bin/forgejo-runner","LABEL maintainer=\"contact@forgejo.org\"
|
|
org.opencontainers.image.authors=\"Forgejo\"
|
|
org.opencontainers.image.url=\"https://forgejo.org\"
|
|
org.opencontainers.image.documentation=\"https://forgejo.org/docs/latest/admin/actions/#forgejo-runner\"
|
|
org.opencontainers.image.source=\"https://code.forgejo.org/forgejo/runner\"
|
|
org.opencontainers.image.version=\"${RELEASE_VERSION}\"
|
|
org.opencontainers.image.vendor=\"Forgejo\"
|
|
org.opencontainers.image.licenses=\"GPL-3.0-or-later\"
|
|
org.opencontainers.image.title=\"Forgejo Runner\"
|
|
org.opencontainers.image.description=\"A runner for Forgejo Actions.\"","ENV
|
|
HOME=/data","USER 1000:1000","WORKDIR /data","VOLUME [\"/data\"]","CMD
|
|
[\"/bin/forgejo-runner\"]"]}
|
|
download_count: 0
|