Refinebio workers should be running Bioconductor 3.6 on R version 3.4.2. The current version on production and staging has packages installed with version 3.11. This was done in an effort to get the images to build so that we could deploy.
At the time of updating to 3.11/12 the tool that we had for pinning R dependencies was cranlock and now that we have a solution in place using renv we should be able to pin nested dependencies.
After going through the history we started with 3.6 then switched to the latest release, then to 3.12, then rolled back to 3.11. Over that time many of the dependencies have switched versions and will most likely need to be rolled back as well.
Here are the more important commits that capture the changes we want to "revert".
For more context, this is a more holistic view of what has changed, but this includes changes we want to keep. This is more for reference as you roll back specific images I believe this will be useful.
Also here is the commit history of affymetrix_dependencies.R which is the starting point I used to go commit by commit until I reached a point in time where we were installing version 3.6.
The obvious problem here is that we want to go back to using bioconductor 3.6. As we currently have a PR for switching to renv for managing R dependencies we should incorporate the rollback and pinning into that PR. The strategy will remain the same and we just want to make sure that we rebuild the lockfile before merging.
Also, we expect this rollback to cause issues with builds and tests. I think it makes sense for us to first solve for the building after rolling back and then create separate issues for the tests.
Solution or next step
Essentially we want the builds to be successful after the rollback and we will tackle any breaking tests in future PRs.
Context
Refinebio workers should be running Bioconductor 3.6 on R version 3.4.2. The current version on production and staging has packages installed with version 3.11. This was done in an effort to get the images to build so that we could deploy.
At the time of updating to 3.11/12 the tool that we had for pinning R dependencies was cranlock and now that we have a solution in place using renv we should be able to pin nested dependencies.
After going through the history we started with 3.6 then switched to the latest release, then to 3.12, then rolled back to 3.11. Over that time many of the dependencies have switched versions and will most likely need to be rolled back as well.
Here are the more important commits that capture the changes we want to "revert".
For more context, this is a more holistic view of what has changed, but this includes changes we want to keep. This is more for reference as you roll back specific images I believe this will be useful.
Also here is the commit history of
affymetrix_dependencies.R
which is the starting point I used to go commit by commit until I reached a point in time where we were installing version 3.6.Problem or idea
The obvious problem here is that we want to go back to using bioconductor 3.6. As we currently have a PR for switching to renv for managing R dependencies we should incorporate the rollback and pinning into that PR. The strategy will remain the same and we just want to make sure that we rebuild the lockfile before merging.
Also, we expect this rollback to cause issues with builds and tests. I think it makes sense for us to first solve for the building after rolling back and then create separate issues for the tests.
Solution or next step
Essentially we want the builds to be successful after the rollback and we will tackle any breaking tests in future PRs.
All changes below to happen in https://github.com/AlexsLemonade/refinebio/pull/3184
Rollback to bioc 3.6
Update to solve for dependencies
Create a new lockfile
Create new issues for the new breaking tests.
We should also create a test to prevent this type of problem from coming up again.