[GH-ISSUE #430] Actions not cached? #299

Closed
opened 2026-03-01 21:42:10 +03:00 by kerem · 3 comments
Owner

Originally created by @pikeas on GitHub (Nov 23, 2020).
Original GitHub issue: https://github.com/nektos/act/issues/430

name: Build

on: push

jobs:
  build:
    runs-on: ubuntu-18.04
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
        id: buildx
$ act -b -P ubuntu-18.04=nektos/act-environments-ubuntu:18.04 -v
...
[Build/build] ⭐  Run Set up Docker Buildx
[Build/build]   ☁  git clone 'https://github.com/docker/setup-buildx-action' # ref=v1
[Build/build]   cloning https://github.com/docker/setup-buildx-action to /Users/pikeas/.cache/act/docker-setup-buildx-action@v1
[Build/build] Cloned https://github.com/docker/setup-buildx-action to /Users/pikeas/.cache/act/docker-setup-buildx-action@v1
[Build/build] Checked out v1
DEBU[0001] Read action &{Docker Setup Buildx docker Set up Docker Buildx map[buildkitd-flags:{Flags for buildkitd daemon false --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host} driver:{Sets the builder driver to be used false docker-container} driver-opts:{List of additional driver-specific options. (eg. image=moby/buildkit:master) false } endpoint:{Optional address for docker socket or context from `docker context ls` false } install:{Sets up docker build command as an alias to docker buildx false false} use:{Switch to this builder instance false true} version:{Buildx version. (eg. v0.3.0) false }] map[name:{Builder instance name} platforms:{Available platforms (comma separated)}] {node12 map[] dist/index.js  [] []} {blue anchor}} from '/Users/pikeas/.cache/act/docker-setup-buildx-action@v1/action.yml'
DEBU[0001] About to run action &{Docker Setup Buildx docker Set up Docker Buildx map[buildkitd-flags:{Flags for buildkitd daemon false --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host} driver:{Sets the builder driver to be used false docker-container} driver-opts:{List of additional driver-specific options. (eg. image=moby/buildkit:master) false } endpoint:{Optional address for docker socket or context from `docker context ls` false } install:{Sets up docker build command as an alias to docker buildx false false} use:{Switch to this builder instance false true} version:{Buildx version. (eg. v0.3.0) false }] map[name:{Builder instance name} platforms:{Available platforms (comma separated)}] {node12 map[] dist/index.js  [] []} {blue anchor}}
DEBU[0001] type=3 actionDir=/Users/pikeas/.cache/act/docker-setup-buildx-action@v1 actionPath= Workdir=/Users/pikeas/code/flow/simulation ActionCacheDir=/Users/pikeas/.cache/act actionName=docker-setup-buildx-action@v1 containerActionDir=/actions
DEBU[0001] Removing /Users/pikeas/.cache/act/docker-setup-buildx-action@v1/.gitignore before docker cp
[Build/build]   🐳  docker cp src=/Users/pikeas/.cache/act/docker-setup-buildx-action@v1 dst=/actions/
[Build/build] Exec command '[mkdir -p /actions/]'
DEBU[0001] Writing tarball /var/folders/85/39v1lc455z77f146j3lzm1jr0000gn/T/act034398360 from /Users/pikeas/.cache/act/docker-setup-buildx-action@v1
DEBU[0001] Stripping prefix:/Users/pikeas/.cache/act/ src:/Users/pikeas/.cache/act/docker-setup-buildx-action@v1
[Build/build] Extracting content from '/var/folders/85/39v1lc455z77f146j3lzm1jr0000gn/T/act034398360' to '/actions/'
DEBU[0001] executing remote job container: [node /actions/docker-setup-buildx-action@v1/dist/index.js]
[Build/build] Exec command '[node /actions/docker-setup-buildx-action@v1/dist/index.js]'
[Build/build]   ❓  ::save-state name=isPost::true
[Build/build]   ❓  ::group::👉 Installing Buildx
[Build/build]   💬  ::debug::Release found: v0.4.2
[Build/build]   💬  ::debug::isExplicit: 0.4.2
[Build/build]   💬  ::debug::explicit? true
[Build/build]   💬  ::debug::checking cache: /opt/hostedtoolcache/buildx/0.4.2/x64
[Build/build]   💬  ::debug::not found
| ⬇️ Downloading https://github.com/docker/buildx/releases/download/v0.4.2/buildx-v0.4.2.linux-amd64...
[Build/build]   💬  ::debug::Downloading https://github.com/docker/buildx/releases/download/v0.4.2/buildx-v0.4.2.linux-amd64
[Build/build]   💬  ::debug::Destination /tmp/c1707858-6f71-429d-a85c-770fb1ffbf2f

<long delay>

[Build/build]   💬  ::debug::download complete
[Build/build]   💬  ::debug::Downloaded to /tmp/c1707858-6f71-429d-a85c-770fb1ffbf2f
[Build/build]   💬  ::debug::Caching tool buildx 0.4.2 x64
[Build/build]   💬  ::debug::source file: /tmp/c1707858-6f71-429d-a85c-770fb1ffbf2f
[Build/build]   💬  ::debug::destination /opt/hostedtoolcache/buildx/0.4.2/x64
[Build/build]   💬  ::debug::destination file /opt/hostedtoolcache/buildx/0.4.2/x64/docker-buildx
[Build/build]   💬  ::debug::finished caching tool
[Build/build]   💬  ::debug::Plugins dir is /github/home/.docker/cli-plugins
[Build/build]   💬  ::debug::Plugin path is /github/home/.docker/cli-plugins/docker-buildx
| 🔨 Fixing perms...
[Build/build]   ❓  ::endgroup::
...

/opt/hostedtoolcache/buildx doesn't seem to be cached by act, resulting in long workflow iteration times, which is exactly the problem act is trying to solve...

This happens with both a stripped down personal image and the massive nektos/act-environments-ubuntu:18.04 image. Is this an issue with act or is the buildx action misbehaving?

Originally created by @pikeas on GitHub (Nov 23, 2020). Original GitHub issue: https://github.com/nektos/act/issues/430 ``` name: Build on: push jobs: build: runs-on: ubuntu-18.04 steps: - name: Checkout uses: actions/checkout@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 id: buildx ``` ``` $ act -b -P ubuntu-18.04=nektos/act-environments-ubuntu:18.04 -v ... [Build/build] ⭐ Run Set up Docker Buildx [Build/build] ☁ git clone 'https://github.com/docker/setup-buildx-action' # ref=v1 [Build/build] cloning https://github.com/docker/setup-buildx-action to /Users/pikeas/.cache/act/docker-setup-buildx-action@v1 [Build/build] Cloned https://github.com/docker/setup-buildx-action to /Users/pikeas/.cache/act/docker-setup-buildx-action@v1 [Build/build] Checked out v1 DEBU[0001] Read action &{Docker Setup Buildx docker Set up Docker Buildx map[buildkitd-flags:{Flags for buildkitd daemon false --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host} driver:{Sets the builder driver to be used false docker-container} driver-opts:{List of additional driver-specific options. (eg. image=moby/buildkit:master) false } endpoint:{Optional address for docker socket or context from `docker context ls` false } install:{Sets up docker build command as an alias to docker buildx false false} use:{Switch to this builder instance false true} version:{Buildx version. (eg. v0.3.0) false }] map[name:{Builder instance name} platforms:{Available platforms (comma separated)}] {node12 map[] dist/index.js [] []} {blue anchor}} from '/Users/pikeas/.cache/act/docker-setup-buildx-action@v1/action.yml' DEBU[0001] About to run action &{Docker Setup Buildx docker Set up Docker Buildx map[buildkitd-flags:{Flags for buildkitd daemon false --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host} driver:{Sets the builder driver to be used false docker-container} driver-opts:{List of additional driver-specific options. (eg. image=moby/buildkit:master) false } endpoint:{Optional address for docker socket or context from `docker context ls` false } install:{Sets up docker build command as an alias to docker buildx false false} use:{Switch to this builder instance false true} version:{Buildx version. (eg. v0.3.0) false }] map[name:{Builder instance name} platforms:{Available platforms (comma separated)}] {node12 map[] dist/index.js [] []} {blue anchor}} DEBU[0001] type=3 actionDir=/Users/pikeas/.cache/act/docker-setup-buildx-action@v1 actionPath= Workdir=/Users/pikeas/code/flow/simulation ActionCacheDir=/Users/pikeas/.cache/act actionName=docker-setup-buildx-action@v1 containerActionDir=/actions DEBU[0001] Removing /Users/pikeas/.cache/act/docker-setup-buildx-action@v1/.gitignore before docker cp [Build/build] 🐳 docker cp src=/Users/pikeas/.cache/act/docker-setup-buildx-action@v1 dst=/actions/ [Build/build] Exec command '[mkdir -p /actions/]' DEBU[0001] Writing tarball /var/folders/85/39v1lc455z77f146j3lzm1jr0000gn/T/act034398360 from /Users/pikeas/.cache/act/docker-setup-buildx-action@v1 DEBU[0001] Stripping prefix:/Users/pikeas/.cache/act/ src:/Users/pikeas/.cache/act/docker-setup-buildx-action@v1 [Build/build] Extracting content from '/var/folders/85/39v1lc455z77f146j3lzm1jr0000gn/T/act034398360' to '/actions/' DEBU[0001] executing remote job container: [node /actions/docker-setup-buildx-action@v1/dist/index.js] [Build/build] Exec command '[node /actions/docker-setup-buildx-action@v1/dist/index.js]' [Build/build] ❓ ::save-state name=isPost::true [Build/build] ❓ ::group::👉 Installing Buildx [Build/build] 💬 ::debug::Release found: v0.4.2 [Build/build] 💬 ::debug::isExplicit: 0.4.2 [Build/build] 💬 ::debug::explicit? true [Build/build] 💬 ::debug::checking cache: /opt/hostedtoolcache/buildx/0.4.2/x64 [Build/build] 💬 ::debug::not found | ⬇️ Downloading https://github.com/docker/buildx/releases/download/v0.4.2/buildx-v0.4.2.linux-amd64... [Build/build] 💬 ::debug::Downloading https://github.com/docker/buildx/releases/download/v0.4.2/buildx-v0.4.2.linux-amd64 [Build/build] 💬 ::debug::Destination /tmp/c1707858-6f71-429d-a85c-770fb1ffbf2f <long delay> [Build/build] 💬 ::debug::download complete [Build/build] 💬 ::debug::Downloaded to /tmp/c1707858-6f71-429d-a85c-770fb1ffbf2f [Build/build] 💬 ::debug::Caching tool buildx 0.4.2 x64 [Build/build] 💬 ::debug::source file: /tmp/c1707858-6f71-429d-a85c-770fb1ffbf2f [Build/build] 💬 ::debug::destination /opt/hostedtoolcache/buildx/0.4.2/x64 [Build/build] 💬 ::debug::destination file /opt/hostedtoolcache/buildx/0.4.2/x64/docker-buildx [Build/build] 💬 ::debug::finished caching tool [Build/build] 💬 ::debug::Plugins dir is /github/home/.docker/cli-plugins [Build/build] 💬 ::debug::Plugin path is /github/home/.docker/cli-plugins/docker-buildx | 🔨 Fixing perms... [Build/build] ❓ ::endgroup:: ... ``` `/opt/hostedtoolcache/buildx` doesn't seem to be cached by act, resulting in long workflow iteration times, which is exactly the problem act is trying to solve... This happens with both a stripped down personal image and the massive `nektos/act-environments-ubuntu:18.04` image. Is this an issue with act or is the buildx action misbehaving?
kerem 2026-03-01 21:42:10 +03:00
  • closed this issue
  • added the
    stale
    label
Author
Owner

@antonlisovenko commented on GitHub (Dec 9, 2020):

Encountered the same with Go when trying to run tests.
The setup-go action always runs fully taking long each time.

      - name: Setup Go
        uses: actions/setup-go@v2
        with:
          go-version: '1.15.6'

output

[Unit test/Unit tests]   ☁  git clone 'https://github.com/actions/setup-go' # ref=v2
[Unit test/Unit tests]   🐳  docker cp src=/Users/alisovenko/.cache/act/actions-setup-go@v2 dst=/actions/
| Setup go stable version spec 1.15.6
[Unit test/Unit tests]   💬  ::debug::isExplicit: 1.15.6
[Unit test/Unit tests]   💬  ::debug::explicit? true
[Unit test/Unit tests]   💬  ::debug::checking cache: /opt/hostedtoolcache/go/1.15.6/x64
[Unit test/Unit tests]   💬  ::debug::not found
| Attempting to download 1.15.6...
[Unit test/Unit tests]   💬  ::debug::set auth
| matching 1.15.6...
[Unit test/Unit tests]   💬  ::debug::check 1.15.6 satisfies 1.15.6
[Unit test/Unit tests]   💬  ::debug::x64===x64 && darwin===linux
[Unit test/Unit tests]   💬  ::debug::x64===x64 && linux===linux
[Unit test/Unit tests]   💬  ::debug::matched 1.15.6
| Acquiring 1.15.6 from https://github.com/actions/go-versions/releases/download/1.15.6-400018344/go-1.15.6-linux-x64.tar.gz
[Unit test/Unit tests]   💬  ::debug::Downloading https://github.com/actions/go-versions/releases/download/1.15.6-400018344/go-1.15.6-linux-x64.tar.gz
[Unit test/Unit tests]   💬  ::debug::Destination /tmp/45fc1136-d256-4265-bc00-51b309b88e6d
[Unit test/Unit tests]   💬  ::debug::set auth
[Unit test/Unit tests]   💬  ::debug::download complete
| Extracting Go...
......
<!-- gh-comment-id:741775150 --> @antonlisovenko commented on GitHub (Dec 9, 2020): Encountered the same with `Go` when trying to run tests. The `setup-go` action always runs fully taking long each time. ``` - name: Setup Go uses: actions/setup-go@v2 with: go-version: '1.15.6' ``` output ``` [Unit test/Unit tests] ☁ git clone 'https://github.com/actions/setup-go' # ref=v2 [Unit test/Unit tests] 🐳 docker cp src=/Users/alisovenko/.cache/act/actions-setup-go@v2 dst=/actions/ | Setup go stable version spec 1.15.6 [Unit test/Unit tests] 💬 ::debug::isExplicit: 1.15.6 [Unit test/Unit tests] 💬 ::debug::explicit? true [Unit test/Unit tests] 💬 ::debug::checking cache: /opt/hostedtoolcache/go/1.15.6/x64 [Unit test/Unit tests] 💬 ::debug::not found | Attempting to download 1.15.6... [Unit test/Unit tests] 💬 ::debug::set auth | matching 1.15.6... [Unit test/Unit tests] 💬 ::debug::check 1.15.6 satisfies 1.15.6 [Unit test/Unit tests] 💬 ::debug::x64===x64 && darwin===linux [Unit test/Unit tests] 💬 ::debug::x64===x64 && linux===linux [Unit test/Unit tests] 💬 ::debug::matched 1.15.6 | Acquiring 1.15.6 from https://github.com/actions/go-versions/releases/download/1.15.6-400018344/go-1.15.6-linux-x64.tar.gz [Unit test/Unit tests] 💬 ::debug::Downloading https://github.com/actions/go-versions/releases/download/1.15.6-400018344/go-1.15.6-linux-x64.tar.gz [Unit test/Unit tests] 💬 ::debug::Destination /tmp/45fc1136-d256-4265-bc00-51b309b88e6d [Unit test/Unit tests] 💬 ::debug::set auth [Unit test/Unit tests] 💬 ::debug::download complete | Extracting Go... ...... ```
Author
Owner

@tkalus commented on GitHub (Dec 24, 2020):

I was seeing this issue with the actions/setup-python@v2 too... went digging and stumbled across the --reuse flag:

-r, --reuse                  reuse action containers to maintain state

Running act --bind --resuse seems to have resolved it for me.

<!-- gh-comment-id:750931538 --> @tkalus commented on GitHub (Dec 24, 2020): I was seeing this issue with the `actions/setup-python@v2` too... went digging and stumbled across the `--reuse` flag: ``` -r, --reuse reuse action containers to maintain state ``` Running `act --bind --resuse` _seems_ to have resolved it for me.
Author
Owner

@github-actions[bot] commented on GitHub (Jan 24, 2021):

Issue is stale and will be closed in 14 days unless there is new activity

<!-- gh-comment-id:766252546 --> @github-actions[bot] commented on GitHub (Jan 24, 2021): Issue is stale and will be closed in 14 days unless there is new activity
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/act#299
No description provided.