Repository navigation
Test every package against the packages it depends on in this checkout - #41
Merged
Merged
Conversation
The Device Detection cloud tests installed fiftyone_devicedetection_shared from the checkout but its pipeline packages from PyPI, so a change to the cloud request engine in a pull request was never tested by them. #35 moved the resource keys link in the cloud request engine's messages, and two Device Detection cloud tests that still looked for the old link passed in every pull request build and failed only in the publish, which installs what it has just built. The tox.ini of the Device Detection cloud, IP Intelligence cloud, shared and translation, and Location packages now install every package each depends on, directly or through another, from the checkout, as the examples already do. run-unit-tests.ps1 checks that every tox.ini does so before any test runs, so a package left out fails the build.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The publish of release #37 failed in all 15 Test jobs on two Device Detection cloud tests, which #38 fixed. Those tests had passed in every pull request build after #35 changed the link they check, because the pull request builds did not test the code that was about to be released.
The Device Detection cloud package's
tox.iniinstalledfiftyone_devicedetection_sharedfrom the checkout, but nothing else, so pip took its pipeline packages from PyPI. The integration tests of #36's full build (run 41881062372, Ubuntu Python 3.12) ran with these:So #35's change to
fiftyone_pipeline_cloudrequestenginereached those tests only in the publish, which installs every package it has just built.The same gap was in four more packages. Run against
rc, the check this change adds reports 17 missing packages:tox.inidevice-detection/fiftyone_devicedetection_cloudip-intelligence/fiftyone_ipintelligence_cloudip-intelligence/fiftyone_ipintelligence_sharedip-intelligence/fiftyone_ipintelligence_translationlocationChange
tox.inifiles install every package their package depends on, directly or through another, from the checkout, as the examples'tox.inifiles already did.Get-ToxGapsinci/packages.ps1readsci/packages.jsonand lists eachtox.inithat leaves out a package its package depends on.ci/run-unit-tests.ps1runs it before any test, so a package left out fails the build with the list. No workflow runs the Pester tests inci/, so the check is in the unit test step, which every build runs.ci/packages.Tests.ps1checks the real list too.How it was checked
Get-ToxGapswas run against thetox.inifiles andpackages.jsonofrc, where it reports the 17 gaps above, and of this branch, where it reports none.The full build with macOS is linked below once it has run. It is the first in which the cloud, shared, translation and Location tests use the pipeline code in this checkout.