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

Refactor, use pinned dependencies and more auditability #322

Closed
claudioandre-br opened this issue Apr 17, 2024 · 3 comments
Closed

Refactor, use pinned dependencies and more auditability #322

claudioandre-br opened this issue Apr 17, 2024 · 3 comments
Labels
dependencies Pull requests that update a dependency file O: stale Stale issue or PR

Comments

@claudioandre-br
Copy link
Member

claudioandre-br commented Apr 17, 2024

1. Is your feature request related to a problem? Please describe

The goal is to force the use of all bash scripts as pinned dependencies. Then, increase traceability.

Pinned dependencies reduce several security risks:

  • ensure that verification and deployment are done with the same software, simplifying debugging and allowing reproducibility;
  • can help mitigate compromised dependencies that undermine project security;
  • they are one way to combat dependency confusion attacks

2. Describe the solution you'd like

Refactor the scripts and use pinned ones.

3. Describe alternatives you've considered

We will create a first attempt followed by improvements. The ultimate goal is to print the checksums of the scripts used within the logs.

@claudioandre-br claudioandre-br added the dependencies Pull requests that update a dependency file label Apr 17, 2024
@claudioandre-br
Copy link
Member Author

claudioandre-br commented Apr 18, 2024

To do:

  • rename the folder tests to scripts
  • rename the file run_build.sh to helper.sh
  • create the folder CI` and move the readme and the PDF from scripts
  • Add to contrib.md:
    --
    Update all checksums using the command.
cd scripts && sha256sum ./*.sh > ../requirements.txt  && cd -
cd patches && sha256sum ./* >> ../requirements.txt && cd -
  • Remove the test part from flatpak build script
  • Handle the latest found linter issues
  • Test

This tool needs to meet multiple needs, for example:

  • on the flatpak that downloads the source code for me, versus
  • snap or macOS where I need to do the clone manually.

Allowing the reuse of this code infrastructure is the most important thing.


Example of run/Defaults:

#   This file lists how the build (binaries) were made
[Build Configuration]
System Wide Build="Yes"
Architecture="ppc64le"
OpenMP=No
OpenCL="No"
Optional Libraries=Yes
Regex, OpenMPI, Experimental Code, ZTEX=No
Version="1.9J1+06049b7"
#
#   john-packages repository reference
[john-packages]
Commit="edbcaeec595c2825950de06a3b3872c0c22fe323"
#
#   Hashes of extra or external files used
[Extra Files]
0d253abba47e4fcf07c59f2b01b00fb2b73f84ca1eaaca19930a33f9ef9223f2  ./ci_controller.sh
539ff1db5a1cee05533a1f431560be008239e1facf930fb4242bc21eeaf0920b  ./clean_package.sh
7d768627665537251f16622fccfd262ed9f0b135430600ace8f1e0c1e4737f6a  ./helper.sh
e1a7e9691bfaba3398eb28ac724a79df5e76f66d243c97f142b2aa415b9bc27f  ./package_version.sh
6877e23f9225f4d80cbc98de68e37784817e0a9f96b0ca2831f62533bb15f80e  ./run_tests.sh
de6aab236ca5dd5e3f1b647b540d65a5740953e8d7c206755848fbfb65634cdb  ./show_info.sh
aab7868a06d5a06745a234907f4e26cbe794610fe14198674d595a638529e7bd  ./Handle-self-confined-system-wide-build.patch
1f93d80dd97a5450c6e36759148d2767e29bbf987c078d5e5089b702e77aece5  ./Remove-peflags-from-the-default-target.patch

@claudioandre-br claudioandre-br changed the title Refactor and use pinned dependencies in bash scripts Refactor, use pinned dependencies and more auditability Apr 24, 2024
This was referenced Apr 27, 2024
Copy link

This issue is stale because it has been open for 14 days with no activity.

Copy link

"This issue was closed because it has been inactive for 7 days since being marked as stale."

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale May 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file O: stale Stale issue or PR
Projects
None yet
Development

No branches or pull requests

1 participant