Skip to content

[build] Archive Selenium Manager Binaries - #13314

Merged
titusfortner merged 3 commits into
SeleniumHQ:trunkfrom
titusfortner:sm_release
Dec 26, 2023
Merged

[build] Archive Selenium Manager Binaries#13314
titusfortner merged 3 commits into
SeleniumHQ:trunkfrom
titusfortner:sm_release

Conversation

@titusfortner

@titusfortner titusfortner commented Dec 15, 2023

Copy link
Copy Markdown
Member

Status

This is in Draft because it is using my fork to demo the proof of concept.
This Git Hub Actions Run — https://github.com/titusfortner/selenium/actions/runs/7219076550
Made this commit — titusfortner/selenium_manager_debug@fab2d26
And did this release — https://github.com/titusfortner/selenium_manager_debug/releases/tag/selenium-manager-fab2d26

Description

  • On every commit to trunk in the rust directory (too much? daily seemed too little and also too much?)
    • Builds all Selenium Manager binaries (including debug)
    • Creates a commit in a separate repo with the hash values of the files
    • Creates a tag from that commit and does a release, and uploads all selenium manager binaries
  • Toggle Selenium Manager behavior in build based on pinned_browsers instead of stamp (the way I'm skipping downloading is definitely hacky, there is probably a better way)
  • Deletes Selenium Manager binaries from repo
  • selenium_manager.py file very similar to pinned_browsers.py to update the url and hash for the latest version of binaries

Motivation and Context

Future Considerations

  • Remove all Bazel Rust things as Lost Cause
  • Make build-selenium-manager.yml part of ci-rust.yml
  • Would probably be better to store all the files in the releases zipped, but I got http_file working before I could figure out how to get http_archive working

@titusfortner titusfortner added the B-build Includes scripting, bazel and CI integrations label Dec 15, 2023
@codecov-commenter

codecov-commenter commented Dec 15, 2023

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (0f1489d) 58.05% compared to head (f2256b6) 58.05%.
Report is 9 commits behind head on trunk.

❗ Current head f2256b6 differs from pull request most recent head 5ed6430. Consider uploading reports for the commit 5ed6430 to get more accurate results

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##            trunk   #13314   +/-   ##
=======================================
  Coverage   58.05%   58.05%           
=======================================
  Files          88       88           
  Lines        5338     5338           
  Branches      224      224           
=======================================
  Hits         3099     3099           
  Misses       2015     2015           
  Partials      224      224           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@diemol diemol left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is pretty good, thank you @titusfortner!

I think building on every commit is fine, given that it does not change a lot.

@titusfortner

Copy link
Copy Markdown
Member Author

Ok, I've updated the repo names to point to https://github.com/SeleniumHQ/selenium_manager_snapshots/ (the releases there were automatically generated by Selenium's CI).

I've moved the CI code from build-selenium-manager.yml to ci-rust.yml. Binaries are only built/released when rust directory has a commit and all tests are passing (or triggered manually).

@titusfortner
titusfortner marked this pull request as ready for review December 20, 2023 15:53
@titusfortner
titusfortner force-pushed the sm_release branch 4 times, most recently from 061d851 to 11bdec9 Compare December 22, 2023 04:25
@titusfortner

Copy link
Copy Markdown
Member Author

I had this working, then I tweaked something and now it isn't deploying. At least it is passing RBE now. Once I figure out why it isn't releasing the binaries any more, I'll merge this.

@titusfortner

Copy link
Copy Markdown
Member Author

Ok, this makes sense. It wasn't working as a PR because of tokens, but when I run this code as a Selenium branch, it works — https://github.com/SeleniumHQ/selenium/actions/runs/7331186361
So I'm merging it.

@titusfortner
titusfortner merged commit 64755fa into SeleniumHQ:trunk Dec 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-build Includes scripting, bazel and CI integrations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[🚀 Feature]: Stop storing Selenium Manager binaries in Repo

3 participants