Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duplicate SAW artifacts uploaded in CI #1726

Closed
RyanGlScott opened this issue Aug 22, 2022 · 0 comments · Fixed by #1739
Closed

Duplicate SAW artifacts uploaded in CI #1726

RyanGlScott opened this issue Aug 22, 2022 · 0 comments · Fixed by #1739
Labels
tooling: CI Issues involving CI/CD scripts or processes

Comments

@RyanGlScott
Copy link
Contributor

While looking at the CI recently, I noticed this very strange pattern:

- if: "matrix.ghc == '8.10.7'"
uses: actions/upload-artifact@v2
with:
path: dist/bin
name: ${{ runner.os }}-bins
- if: "matrix.os == 'ubuntu-18.04'"
uses: actions/upload-artifact@v2
with:
name: "saw-${{ runner.os }}-${{ matrix.ghc }}"
path: "dist/bin/saw"

The first of these upload-artifact rules (at dist/bin) uploads everything in dist/bin. This artifact is later used in several of the test jobs, which is reasonable. The second of these upload-artifact rules, however, uploads specifically dist/bin/saw. This is odd, since that executable is already contained within the first dist/bin artifact, so this is duplicated work.

As far as I can tell, the only place where this second uploaded artifact is used is in the s2n-tests job:

- name: Download previously-built SAW
uses: actions/download-artifact@v2
with:
name: "saw-Linux-${{ matrix.ghc }}"
path: ./s2nTests/bin
- shell: bash
working-directory: s2nTests
run: |
curl -o solvers-bin.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/$SOLVER_PKG_VERSION/ubuntu-18.04-bin.zip"
(cd bin && unzip ../solvers-bin.zip)
docker-compose pull
grep -h '^FROM' docker/*.dockerfile | sort -u | awk '{print $2}' | xargs -n1 -P8 docker pull

But note that right after downloading the saw executable, it proceeds to re-download all of the SMT solvers. In fact, if you summed up the saw executable plus the SMT solvers, you would get precisely what is contained within the dist/bin artifact! So it would be far more direct to just download that artifact rather than go through all of the huffing and puffing needed currently in s2n-tests.

@RyanGlScott RyanGlScott added the tooling: CI Issues involving CI/CD scripts or processes label Aug 22, 2022
RyanGlScott added a commit that referenced this issue Sep 15, 2022
Previously, we uploaded a duplicate SAW binary specifically for use by the
`s2n-tests` job. This is unnecessary, however, as the same binary is contained
within a more general artifact that we upload for the SAW test suite. This
patch removes the duplicate artifact, thereby simplifying the overall CI setup.

Fixes #1726.
@mergify mergify bot closed this as completed in #1739 Sep 19, 2022
mccleeary-galois added a commit that referenced this issue Aug 30, 2024
Cryptol - 3.2
Crucible - Crux v0.9
llvm-pretty - 0.12.1
llvm-pretty-bc-parser - 0.4.2

Added P.mDocTop to rmodule due to update in Cryptol see PR #1726 in Cryptol
mccleeary-galois added a commit that referenced this issue Aug 30, 2024
Cryptol - 3.2
Crucible - Crux v0.9
llvm-pretty - 0.12.1
llvm-pretty-bc-parser - 0.4.2

Added P.mDocTop to rmodule due to update in Cryptol see PR #1726 in Cryptol
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tooling: CI Issues involving CI/CD scripts or processes
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant