1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-09-15 18:57:01 +00:00

fix: reworked container architecture (#619)

- Don't set architecture, let Docker host decide it's own platform,
  remove `runtime` dependency and don't show default in `--help`
- Remove most tests, we need to check only once if it works on
  different platform
- Rename `DeleteImage` to `RemoveImage` to conform to existing
  function in `docker` cli, added options to specify `force` and
  `pruneChildren`
This commit is contained in:
Ryan (hackercat) 2021-05-02 17:15:13 +02:00 committed by GitHub
parent c2d85d1d76
commit 2f37fc728b
7 changed files with 72 additions and 102 deletions

View file

@ -29,7 +29,7 @@ func ImageExistsLocally(ctx context.Context, imageName string, platform string)
}
if len(images) > 0 {
if platform == "any" {
if platform == "any" || platform == "" {
return true, nil
}
for _, v := range images {
@ -48,9 +48,9 @@ func ImageExistsLocally(ctx context.Context, imageName string, platform string)
return false, nil
}
// DeleteImage removes image from local store, the function is used to run different
// RemoveImage removes image from local store, the function is used to run different
// container image architectures
func DeleteImage(ctx context.Context, imageName string) (bool, error) {
func RemoveImage(ctx context.Context, imageName string, force bool, pruneChildren bool) (bool, error) {
if exists, err := ImageExistsLocally(ctx, imageName, "any"); !exists {
return false, err
}
@ -75,8 +75,8 @@ func DeleteImage(ctx context.Context, imageName string) (bool, error) {
if len(images) > 0 {
for _, v := range images {
if _, err = cli.ImageRemove(ctx, v.ID, types.ImageRemoveOptions{
Force: true,
PruneChildren: true,
Force: force,
PruneChildren: pruneChildren,
}); err != nil {
return false, err
}