act icon indicating copy to clipboard operation
act copied to clipboard

composite not working

Open gonsolo opened this issue 3 months ago • 0 comments

Bug report info

I am running:

act --workflows .github/workflows/gds.yaml --platform ubuntu-24.04=catthehacker/ubuntu:act-24.04 --env ACTIONS_RUNTIME_TOKEN=12345 --artifact-server-path /tmp/artifacts

which has:

   - name: Build GDS
        uses: TinyTapeout/tt-gds-action@ttsky25a
        with:
          pdk: sky130
          tools-ref: ttsky25a

in this action there is:

   # Install packages for 'Render PNG from GDS' step and ghdl to process VHDL files:
    - name: Install prerequisites
      uses: awalsh128/[email protected]
      with:
        packages: librsvg2-bin pngquant ghdl-llvm # librsvg2-bin for rsvg-convert; pngquant for heavy PNG compression.
        version: ttihp25b # I think naming a version builds a reusable packages cache for that name.

but this fails with:

[gds/gds]   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1-composite-1-composite-pre-cache.sh] user= workdir=
| 13:17:42.354 Normalizing package list...
| 13:17:42.395 done
| 13:17:42.400 Validating action arguments (version='ttihp25b', packages='')...
| 13:17:42.404 aborted
| 13:17:42.406 Packages argument cannot be empty.
[gds/gds]   ❌  Failure - Main ${GITHUB_ACTION_PATH}/pre_cache_action.sh \
  ~/cache-apt-pkgs \
  "$VERSION" \
  "$EXEC_INSTALL_SCRIPTS" \
  "$DEBUG" \
  "$PACKAGES"
echo "CACHE_KEY=$(cat ~/cache-apt-pkgs/cache_key.md5)" >> $GITHUB_ENV


so the packages are not correctly handled.

Command used with act

act --workflows .github/workflows/gds.yaml --platform ubuntu-24.04=catthehacker/ubuntu:act-24.04 --env ACTIONS_RUNTIME_TOKEN=12345 --artifact-server-path /tmp/artifacts

Describe issue

act fails to correctly execute a complicated workflow.

Link to GitHub repository

https://github.com/gonsolo/TinyQV-GPU/blob/main/.github/workflows/gds.yaml

Workflow content

gonsolo TinyQV-GPU:cat  .github/workflows/gds.yaml 
name: gds

on:
  push:
  workflow_dispatch:

jobs:
  gds:
    runs-on: ubuntu-24.04
    steps:
      - name: checkout repo
        uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: Build GDS
        uses: TinyTapeout/tt-gds-action@ttsky25a
        with:
          pdk: sky130
          tools-ref: ttsky25a

  precheck:
    needs: gds
    runs-on: ubuntu-24.04
    steps:
      - name: Run Tiny Tapeout Precheck
        uses: TinyTapeout/tt-gds-action/precheck@ttsky25a
        with:
          pdk: sky130
          tools-ref: ttsky25a

  gl_test:
    needs: gds
    runs-on: ubuntu-24.04
    steps:
      - name: checkout repo
        uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: GL test
        uses: TinyTapeout/tt-gds-action/gl_test@ttsky25a
        with:
          pdk: sky130

  viewer:
    needs: gds
    runs-on: ubuntu-24.04
    permissions:
      pages: write      # to deploy to Pages
      id-token: write   # to verify the deployment originates from an appropriate source
    steps:
      - uses: TinyTapeout/tt-gds-action/viewer@ttsky25a
        with:
          pdk: sky130

Relevant log output

act --workflows .github/workflows/gds.yaml --platform ubuntu-24.04=catthehacker/ubuntu:act-24.04 --env ACTIONS_RUNTIME_TOKEN=12345
INFO[0000] Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock' 
[gds/gds] ⭐ Run Set up job
[gds/gds] 🚀  Start image=catthehacker/ubuntu:act-24.04
[gds/gds]   🐳  docker pull image=catthehacker/ubuntu:act-24.04 platform= username= forcePull=true
[gds/gds]   🐳  docker create image=catthehacker/ubuntu:act-24.04 platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[gds/gds]   🐳  docker run image=catthehacker/ubuntu:act-24.04 platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[gds/gds]   🐳  docker exec cmd=[node --no-warnings -e console.log(process.execPath)] user= workdir=
[gds/gds]   ✅  Success - Set up job
[gds/gds]   ☁  git clone 'https://github.com/TinyTapeout/tt-gds-action' # ref=ttsky25a
[gds/gds] ⭐ Run Pre Build GDS
[gds/gds]   ☁  git clone 'https://github.com/awalsh128/cache-apt-pkgs-action' # ref=v1.4.3
[gds/gds] ⭐ Run Pre Install prerequisites
[gds/gds]   ☁  git clone 'https://github.com/actions/cache' # ref=v4
[gds/gds]   ☁  git clone 'https://github.com/actions/upload-artifact' # ref=v4
[gds/gds]   ☁  git clone 'https://github.com/actions/cache' # ref=v4
[gds/gds]   ✅  Success - Pre Install prerequisites [2.366585339s]
[gds/gds]   ☁  git clone 'https://github.com/actions/checkout' # ref=v4
[gds/gds]   ☁  git clone 'https://github.com/actions/checkout' # ref=v4
[gds/gds]   ☁  git clone 'https://github.com/actions/setup-python' # ref=v5
[gds/gds]   ☁  git clone 'https://github.com/actions/upload-artifact' # ref=v4
[gds/gds]   ☁  git clone 'https://github.com/actions/upload-artifact' # ref=v4
[gds/gds]   ☁  git clone 'https://github.com/actions/upload-artifact' # ref=v4
[gds/gds]   ✅  Success - Pre Build GDS [7.054316732s]
[gds/gds] ⭐ Run Main checkout repo
[gds/gds]   🐳  docker cp src=/home/gonsolo/work/TinyQV-GPU/. dst=/home/gonsolo/work/TinyQV-GPU
[gds/gds]   ✅  Success - Main checkout repo [34.099029ms]
[gds/gds] ⭐ Run Main Build GDS
[gds/gds]   🐳  docker cp src=/home/gonsolo/.cache/act/TinyTapeout-tt-gds-action@ttsky25a/ dst=/var/run/act/actions/TinyTapeout-tt-gds-action@ttsky25a/
[gds/gds] ⭐ Run Main Set up environment variables
[gds/gds]   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1-composite-0.sh] user= workdir=
[gds/gds]   ✅  Success - Main Set up environment variables [85.162083ms]
[gds/gds]   ⚙  ::set-env:: OPENLANE2_TAG=2.2.9
[gds/gds]   ⚙  ::set-env:: PDK_ROOT=/home/runner/pdk
[gds/gds]   ⚙  ::set-env:: PDK=sky130A
[gds/gds]   ⚙  ::set-env:: TT_ARGS=
[gds/gds] ⭐ Run Main Install prerequisites
[gds/gds]   🐳  docker cp src=/home/gonsolo/.cache/act/[email protected]/ dst=/var/run/act/actions/[email protected]/
[gds/gds] ⭐ Run Main ${GITHUB_ACTION_PATH}/pre_cache_action.sh \
  ~/cache-apt-pkgs \
  "$VERSION" \
  "$EXEC_INSTALL_SCRIPTS" \
  "$DEBUG" \
  "$PACKAGES"
echo "CACHE_KEY=$(cat ~/cache-apt-pkgs/cache_key.md5)" >> $GITHUB_ENV
[gds/gds]   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1-composite-1-composite-pre-cache.sh] user= workdir=
| 13:17:42.354 Normalizing package list...
| 13:17:42.395 done
| 13:17:42.400 Validating action arguments (version='ttihp25b', packages='')...
| 13:17:42.404 aborted
| 13:17:42.406 Packages argument cannot be empty.
[gds/gds]   ❌  Failure - Main ${GITHUB_ACTION_PATH}/pre_cache_action.sh \
  ~/cache-apt-pkgs \
  "$VERSION" \
  "$EXEC_INSTALL_SCRIPTS" \
  "$DEBUG" \
  "$PACKAGES"
echo "CACHE_KEY=$(cat ~/cache-apt-pkgs/cache_key.md5)" >> $GITHUB_ENV
 [149.070778ms]
[gds/gds] exitcode '3': failure
[gds/gds]   ⚙  ::set-output:: all-package-version-list=
[gds/gds]   ⚙  ::set-output:: cache-hit=false
[gds/gds]   ⚙  ::set-output:: package-version-list=
[gds/gds]   ❌  Failure - Main Install prerequisites [477.235792ms]

Additional information

No response

gonsolo avatar Sep 16 '25 13:09 gonsolo