Skip to content

GitHub CI action for Haskell projects that does Nixpkgs integration test

Checks the compatibility between project release and Nixpkg repository. Allows the team that makes a project release to know ahead of the time is the project compatible with Nixpkgs as is, or the project's derivation requires overrides in the NixOS/nixpkgs: pkgs/development/haskell-modules/configuration-common.nix.

GitHub action

Repository


Details on Nixpkgs Haskell integration (as I know them): * Nixpkgs Haskell infrastructure has semi-automatic integration of Hackage Packages. * Packages which compatibility is covered by Stackage LTS - version updates happen every midnight automatically. * Hackage package updates, particular crucial/fragile package updates and all merge requests target and happen in haskell-updates branch. They get managed by the team, updates get consolidated together with crucial updates, and tested on Fridays during live streams which end in merge into the main branch. * Nixpkgs design declares default package versions and uses them for pure builds by default. As expected those defaults sometimes not compatible with project Hackage dependencies, and so - the derivation requires adjustments, - and this is what this action automatically tests and reports on preemptively.

GitHub CI action для проектов Haskell, которое выполняет интеграционный тест Nixpkgs

Автоматически проверяет совместимость между проектом и репозиторием Nixpkgs. Позволяет команде, которая создает выпуск проекта, заблаговременно узнать, совместим ли проект с Nixpkgs как есть, или для создания проекта требуется переопределение в файле NixOS / nixpkgs: pkgs / development / haskell-modules / configuration-common.nix .

URL https://github.com/marketplace/actions/automatic-haskell-project-integration-test-to-nixpkgs

Подробности интеграции Nixpkgs Haskell (насколько я их знаю): * Инфраструктура Nixpkgs Haskell имеет полуавтоматическую интеграцию пакетов Hackage. * Пакеты, совместимость которых покрывается Stackage LTS - обновления версий происходят автоматически каждую полночь. * Обновления пакетов Hackage, особенно важные / хрупкие обновления пакетов и все запросы на мерж происходят в ветке haskell-updates. Процесс управляется командой, обновления объединяются вместе с важными обновлениями и тестируются по пятницам во время прямых трансляций, которые заканчиваются мержем в основную ветку. * Дизайн Nixpkgs декларирует 1 версию пакетов которая используется для сборок по умолчанию. Как ожидается от такой системы, эти версии по умолчанию иногда несовместимы с зависимостями проекта, который имеет диапазоны, и поэтому - деривация требует корректировок, - и это то, что это действие автоматически проверяет и результат сообщает заранее.

Comments