Было бы здорово, если бы архив, который создается автоматически при создании релиза на github, включал бы любые подмодули git, которые может содержать мой репозиторий git. Я считаю, что, например, этот пакет https://github.com/Kentzo/git-archive-all делает это довольно простым.
Спасибо за предложение!
Одна вещь, которую следует учитывать, - будем ли мы иметь право включать весь код подмодулей в архив вместе с кодом пользователя.
Что касается прав: это не будет проблемой для репозиториев, где все подмодули также находятся в zenodo, поэтому это можно было бы включить, по крайней мере, в ограниченных случаях. Включение подмодулей, конечно, необходимо для того, чтобы код действительно воспроизводился.
В качестве обходного пути можно использовать сценарий CI, который генерирует выпуски, которые включают в себя содержимое соответствующих подмодулей в качестве актива. Однако из-за # 1235 это в настоящее время также не работает.
Например, это настройка, которую я использую для Travis CI:
before_deploy:
- zip -r inamo-${TRAVIS_TAG}.zip . -x out\* plots\* .git\* regRefData/.git\*
deploy:
provider: releases
edge: true
api_key:
secure: "***"
file: inamo-${TRAVIS_TAG}.zip
release_notes_file: README.md
tag_name: ${TRAVIS_TAG}
name: InaMo ${TRAVIS_TAG}
on:
tags: true
draft: true
С другой стороны, может ли что-то подобное быть решением проблем с лицензированием? Или это будет означать слишком много усилий по настройке серверной части?
Я думаю, что отказ от включения подмодулей и предупреждения пользователей о том, что важные файлы могут отсутствовать, может стать серьезной проблемой для воспроизводимости. Например, я заметил, что содержимое подмодуля отсутствует для одной из моих загрузок, потому что особенно прилежный рецензент фактически загрузил версию Zenodo и попытался запустить моделирование, описанное в моей статье.
Для Zenodo неразумно знать или пытаться проверить, какие подмодули пользователь намеревается включить или имеет права, поэтому просто позвольте ему быть элементом конфигурации в .zenodo.json
Самый полезный комментарий
С другой стороны, может ли что-то подобное быть решением проблем с лицензированием? Или это будет означать слишком много усилий по настройке серверной части?
Я думаю, что отказ от включения подмодулей и предупреждения пользователей о том, что важные файлы могут отсутствовать, может стать серьезной проблемой для воспроизводимости. Например, я заметил, что содержимое подмодуля отсутствует для одной из моих загрузок, потому что особенно прилежный рецензент фактически загрузил версию Zenodo и попытался запустить моделирование, описанное в моей статье.