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

chore: adding conditional to skip codesigning on PR triggers when building binaries #604

Merged
merged 5 commits into from
Jan 9, 2025

Conversation

aorumbayev
Copy link
Collaborator

@aorumbayev aorumbayev commented Jan 8, 2025

The main gist is to further refine access to secrets to ensure none are accessed on PR triggers. Codesigning shall only run on production releases on main branch OR cron triggered checks performed weekly (8am UTC mondays) on main branch.

Proposed Changes

  • Add a new "with_codesign" parameter to macOS and Windows build actions to control whether binaries should be signed.
  • Update the build-binaries workflow to determine code-signing eligibility (via a new "signing" step) based on branch, PR status, and release conditions.
  • Update the macOS composite action to set "APPLE_CERT_ID" and "APPLE_BUNDLE_ID" conditionally, falling back to a beta bundle ID when "production_release" is false.
  • Replace references to "production_release" in the Windows build action with "with_codesign" for consistency.
  • Modify pyproject.toml to allow conditional code signing by passing in environment variables, ensuring more flexible signing logic for macOS binaries.

@aorumbayev aorumbayev marked this pull request as draft January 8, 2025 18:27
Copy link

github-actions bot commented Jan 8, 2025

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/algokit
   __init__.py15753%6–13, 17–24, 32–34
   __main__.py440%1–7
src/algokit/cli
   __init__.py47394%31–34
   codespace.py50982%28, 114, 137, 150–155
   completions.py108992%63–64, 83, 93–99
   dispenser.py121199%77
   doctor.py53394%146–148
   explore.py631576%35–40, 42–47, 85–92, 113
   generate.py60395%76–77, 155
   goal.py54591%85, 96, 107–109
   init.py3102492%491–492, 497–498, 501, 522, 525–527, 538, 542, 600, 626, 655, 688, 697–699, 702–707, 720, 739, 751–752
   localnet.py1643280%67, 88–115, 164–168, 212, 233, 248–258, 271, 322, 343–344
   task.py34391%25–28
src/algokit/cli/common
   utils.py37295%137, 139
src/algokit/cli/project
   bootstrap.py32197%33
   deploy.py1172083%47, 49, 102, 125, 147–149, 270, 277, 291–299, 302–311
   link.py811285%60, 65–66, 109–114, 142–143, 212–213, 217
   list.py33585%21–23, 51–56
   run.py46296%38, 174
src/algokit/cli/tasks
   analyze.py81199%81
   assets.py821384%65–66, 72, 74–75, 105, 119, 125–126, 132, 134, 136–137
   ipfs.py51884%52, 80, 92, 94–95, 105–107
   mint.py1061586%51, 73, 100–103, 108, 113, 131–132, 158, 335–339
   send_transaction.py651085%52–53, 57, 89, 158, 170–174
   sign_transaction.py59886%21, 28–30, 71–72, 109, 123
   transfer.py39392%26, 90, 117
   utils.py1144660%29–37, 43–46, 78–79, 103–104, 128–136, 155–165, 212, 261–262, 282–293, 300–302, 324
   vanity_address.py561082%41, 45–48, 112, 114, 121–123
   wallet.py79495%21, 66, 136, 162
src/algokit/core
   codespace.py1756861%34–37, 41–44, 48–71, 111–112, 125–133, 191, 200–202, 210, 216–217, 229–236, 251–298, 311–313, 338–344, 348, 395
   conf.py57984%12, 24, 28, 36, 38, 73–75, 80
   dispenser.py2022687%92, 124–125, 142–150, 192–193, 199–201, 219–220, 260–261, 319, 333–335, 346–347, 357, 370, 385
   doctor.py65789%67–69, 92–94, 134
   generate.py50394%44, 85, 103
   goal.py65494%21, 36–37, 47
   init.py721086%53, 57–62, 70, 81, 88, 114–115
   log_handlers.py68790%50–51, 63, 112–116, 125
   proc.py45198%99
   sandbox.py2762392%32, 89–92, 97, 101–103, 174, 222–229, 240, 611, 627, 652, 660
   typed_client_generation.py2062190%79–81, 127, 157–162, 186, 189–192, 210, 213–216, 283, 286–289
   utils.py1504073%50–51, 57–69, 125–131, 155, 158, 164–177, 206–208, 237–240, 262
src/algokit/core/_vendor/auth0/authentication
   token_verifier.py15711129%16, 45, 58, 73–85, 98–107, 119–124, 136–137, 140, 170, 178–180, 190–199, 206–213, 227–236, 258, 280–287, 314–323, 333–444
src/algokit/core/compilers
   python.py28582%19–20, 25, 49–50
src/algokit/core/config_commands
   container_engine.py412149%24, 29–31, 47–76
   version_prompt.py921485%37–38, 68, 87–90, 108, 118–125, 148
src/algokit/core/project
   __init__.py53394%50, 86, 145
   bootstrap.py120893%47, 126–127, 149, 176, 207–209
   deploy.py69987%108–111, 120–122, 126, 131
   run.py1321390%83, 88, 97–98, 133–134, 138–139, 143, 147, 277–278, 293
src/algokit/core/tasks
   analyze.py93397%105–112, 187
   ipfs.py63789%58–64, 140, 144, 146, 152
   nfd.py491373%25, 31, 34–41, 70–72, 99–101
   vanity_address.py903462%49–50, 54, 59–75, 92–108, 128–131
   wallet.py71593%37, 129, 155–157
src/algokit/core/tasks/mint
   mint.py74988%123–133
   models.py921782%50, 52, 57, 71–74, 81–90
TOTAL496876985% 

Tests Skipped Failures Errors Time
510 0 💤 0 ❌ 0 🔥 28.959s ⏱️

@aorumbayev aorumbayev force-pushed the chore/refine-pr-pipeline branch from e2fba9c to 6a0d1d6 Compare January 8, 2025 18:48
@aorumbayev aorumbayev force-pushed the chore/refine-pr-pipeline branch from 6a0d1d6 to 3d33a59 Compare January 8, 2025 18:49
@aorumbayev aorumbayev marked this pull request as ready for review January 8, 2025 19:09
@aorumbayev aorumbayev force-pushed the chore/refine-pr-pipeline branch 2 times, most recently from f42e1ea to 880f47b Compare January 8, 2025 22:53
@aorumbayev aorumbayev force-pushed the chore/refine-pr-pipeline branch from 880f47b to d1b4234 Compare January 8, 2025 23:05
@aorumbayev
Copy link
Collaborator Author

@neilcampbell @lempira - instead of forking and running whole e2e i ended up force setting codesigning flag to true to test the codesigning parts, you can see the run passing here https://github.com/algorandfoundation/algokit-cli/actions/runs/12680599041/job/35342740513. The last commit reverts the temporary forced true flag.

@aorumbayev aorumbayev merged commit c3ab979 into main Jan 9, 2025
17 checks passed
@aorumbayev aorumbayev deleted the chore/refine-pr-pipeline branch January 9, 2025 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants