Связать версии кода с версиями используемой библиотеки
Привет Лорчик!
У меня есть некая библиотека на Python, предоставляющяя инструменты для численного решения определенной задачи. Используя эту библиотеку, я провожу вычислительные эксперименты, результаты которых затем проверяются в лаборатории.
Формулировка эксперимента состоит из большого числа параметров и некоторой логики его проведения, поэтому проще всего зафиксировать конкретный эксперимент в виде коммита, который его воспроизводит. Библиотека, используемая в экспериментах, активно развивается и изменения в библиотеке могут также повлиять на результаты экспериментов. Поэтому постановку каждого эксперимента нужно фиксировать вместе с кодом (или версией кода) используемой библиотеки.
На данный момент все эксперименты зафиксированы как «висячие» коммиты в репозитории кода библиотеки. Т.е. от определенного коммита отходит несколько веток, содержащих по одному коммиту. Для удобства фильтрации логов используется определенная система тегов для численных экспериментов (т.е. коммитов, которые не вносят изменений в библиотеку, а просто генерируют некие артефакты с ее использованием).
Вопрос следующий: какие модифицировать данный workflow, чтобы численные эксперименты можно было вынести из репозитория библиотеки и при этом не потярять связь между кодом экспемента и кодом библиотеки? Желательно иметь удобный механизм для перезапуска экспериментов на разных версиях библиотеки.