Skip to content

Allow multiple instances of act to run concurrently against the same Docker serverΒ #6061

@drivera73

Description

@drivera73

Act version

0.2.87

Feature description

Our container tree is made up of 50+ containers in around a 4-level hierarchy. We have a build that rebuilds the entire tree in depth-first order, running all builds at the same level concurrently. This all happens using GitHub actions, and each container has its own repository. As a result, concurrency is a non-issue.

We want our developers to be able to build containers using the same pipelines and scripts in their local environments, but due to a limitation in act we're unable to execute the builds in parallel. This causes the entire build process to take much longer than necessary.

The limitation is explained here, and has to do with container naming.

We have a modified version of act that allows this by adding a --parallel flag. This in turn causes containers built by a running instance of act to be named including a randomly-geneated string that's meant to be unique per instance. Collisions aren't inevitable, but this should be infrequent enough to not be a problem.

We've used this modified version to great effect, and there doesn't appear to be any side-effects besides being unable to reuse containers due to the naming randomness, which is acceptable for our use case.

We've submitted a PR for this feature, and would like for it to be considered.

The default behavior without this flag remains consistent with the current behavior, albeit the "unique identifier" is replaced by a constant string. Further, if the --reuse flag is used, this new behavior is also disabled, to ensure container names remain consistent with the intent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions