Closed HalosGhost closed 1 month ago
@rockett-m, it looks like the docker merge CI/CD step is failing from the merge of #265. It's not spurious (rerunning the job failed as well). Help resolving would be appreciated.
It looks like the failure occurs when running install-build-tools.sh
in docker merge, and it appears that the docker merge job uses sh
instead of bash
. I think the problem is now we are calling source
in this script which causes the error since source
is not supported by sh
.
(Sending this from my phone, will verify further when able)
Just got online. Michael, that sounds logical.
Would it be ok to add shell: bash
to the parameters for the docker merge CI/CD step? inside .github/workflows/docker-merge.yml
defaults:
run:
shell: bash
I'll set that preference and try with act -j docker-build --container-architecture linux/amd64
to see if that runs the source correctly and passes.
I am not sure of an argument for using sh
instead of bash
, so I do not see a problem with this (@HalosGhost you may have a more nuanced opinion here)
Out of a preference for portability, I'd probably be happiest if we completely ripped out bash and relied purely on POSIX sh
, but I don't think that's really a reasonable standard given how constrained our support matrix is right now anyway. Plus, bash
is already pretty intertwined as a dep.
I'm entirely fine with our workflows requiring bash
. Having said that, the POSIX spelling of source
is .
, and we could reasonably do that instead (as bash
is POSIX-compatible, .
works in it as well—same for zsh and any other POSIX-compatible shell).
That's a good idea with the '.' swapped in. I'll give it a go.
In our ci.yml we have the shell defaults set to bash so that's why I suggested it initially.
I think the issue could be related to the Dockerfile where the venv file should be included so it can be found by the CI/CD docker-merge...will continue testing. Note - that alone does not resolve the issue.
COPY scripts/install-build-tools.sh /opt/tx-processor/scripts/install-build-tools.sh
COPY scripts/setup-dependencies.sh /opt/tx-processor/scripts/setup-dependencies.sh
COPY scripts/activate-venv.sh /opt/tx-processor/scripts/activate-venv.sh
traced from here:
**| 249.5 scripts/install-build-tools.sh: line 89: scripts/activate-venv.sh: No such file or directory**
| ------
| Dockerfile:23
| --------------------
| 21 | WORKDIR /opt/tx-processor
| 22 |
| 23 | >>> RUN /usr/bin/env bash -c scripts/install-build-tools.sh
| 24 | RUN scripts/setup-dependencies.sh
| 25 |
| --------------------
@rockett-m, it looks like the docker merge CI/CD step is failing from the merge of #265. It's not spurious (rerunning the job failed as well). Help resolving would be appreciated.