swiftlang / swiftlang/swift-java
The act workflow suggested in the contribution guide doesn't work well
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 1.2k
- Forks
- 123
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 16
Description
I was trying to run the CI builds locally, but I encountered some issues. I suspect these are just act bugs, but I am not an experienced act user, so I may have missed some configuration. I hope it makes sense to mention these issues explicitly in the swift-java repository because the contribution guide calls for act usage.
It seems most useful commands explode due to a missing node binary. For example:
act workflow_call -W .github/workflows/pull_request.yml -j benchmark-java --container-architecture=linux/amd64
fails for me with:
| OCI runtime exec failed: exec failed: unable to start container process: exec: "node": executable file not found in $PATH: unknown
The workaround was to add a step (e.g. here) with an explicit node installation:
- name: Install node
if: ${{ env.ACT }}
run: apt update && apt install -y curl && curl -fsSL https://deb.nodesource.com/setup_22.x | bash && apt install -y nodejs
after that act started failin here with:
❗ ::error::Input required and not supplied: distribution
I didn't find a workaround, so I had to hardcode the distribution value.
Finally, the Swift compilation still fails in the benchmark-java flow; it's a different failure each time, and I am still trying to understand the root cause.
Perhaps the contribution guide and the .github files could be updated with some swift-java specific recommendations for running act?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the act instructions in CONTRIBUTING.md and reproduce the documented command for .github/workflows/pull_request.yml, including the benchmark-java job. Inspect the referenced workflow step around line 108 and .github/actions/prepare_env/action.yml around line 13 for the missing node and distribution failures. Done means the Swift compilation path works locally with act, or the contribution guide and .github files clearly document verified swift-java-specific requirements and limitations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, java, swift
- Domain
- ci-cd, devops, documentation
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100