Deploying OpenTap patches

I’m currently in a scenario that I expect I’ll find myself in fairly often: A recent OpenTap commit (in GitLab) contains an important fix that I need to quickly deploy to numerous PCs in my test lab.

So my question is, what’s the best way to deploy that fix?

In this particular case, the changes are all contained in OpenTap.dll. I thought about making a .TapPackage, however the official OpenTAP package contains several dozen files, way more than the single OpenTap.dll which I need to deploy. Any suggestions?

2 Likes

@david-wsd even though you only need the OpenTap.dll I still think it would be best to to install the full OpenTap.TapPackage, otherwise you will risk things getting out of sync since without that the Package Manager will show a different version, and it won’t be obvious what is on the system.

The beta, rc and release builds will always be published on packages.opentap.io, but if you want an alpha build you can get it from the gitlab pipeline and downloading the build Artifacts. For instance, this is the OpenTAP.TapPackage from the laste build:
https://gitlab.com/OpenTAP/opentap/-/jobs/860650484

If you know the exact issue you can navigate to the relevant build through issue > Merge Request > Pipeline

1 Like

Thanks @brennen_direnzo , I’ll try to stick to full OpenTap.TapPackage.

I’m not sure what constitutes an alpha vs a beta build, and am not familiar with the terms pipeline or build artifacts, so I’ve got some learning to do. In my current case, the merge request I need has not been merged yet (!716). Does this mean there would not be a package available yet?

2 Likes

The alpha vs beta is really a distinction we make and it is based on the branch the build happens on:
https://gitlab.com/OpenTAP/opentap/-/blob/release9x/.gitversion
For Pipelines and Artifacts, those are terms used by Gitlab. Every commit has a build though, so from that Merge Request if you click “Pipelines” and then the download icon on the right, you can download all the artifacts from the build:

2 Likes

@brennen_direnzo That’s very cool, thanks for the info!

I’m looking at the pipeline for merge request 716. In the download pull-down menu I see an option for “Download Package-Linux”, but I don’t see the same option for Windows. Should there be a separate TapPackage download for Windows?

2 Likes

The stage right before that should have the Windows packages

1 Like

@brennen_direnzo Thanks again, your instructions are great. However, I’m solidifying my noob status over here. I unwittingly clicked Retry, and the job failed, seemingly due to my user permissions. Do I need an authorized Keysight employee to re-run the job?

1 Like

Ya, you won’t be able to retrigger the build. Does it show that the artifacts are expired? @navjodh_dhillon can you help get this package?

1 Like

@rolf_madsen reran the job that I’d caused to fail, and now I’m able to successfully download the Windows package. Thanks @brennen_direnzo and all! This is great to know for future reference.

2 Likes

Hi @david-wsd, some of our build can sometimes be a bit unstable, which is probably why it failed. I hope I can get it merged soon so we can get an official 9.12.0-beta package/nuget version.

2 Likes