Real cells, not containers built per run
Long-lived Magento and Mage-OS installations, one per platform and PHP version, with sample data and a Luma and a Hyvä store view. A run resets a cell from its golden snapshot in about ten seconds.
1.0.0-alpha · One command tells you whether an extension works on every Magento, Mage-OS and PHP version you claim to support, and refuses to say yes on evidence it does not have.
This is 1.0.0-alpha
Furnace is in daily use on the Qoliber fleet and every page here describes behaviour that was run, not planned. It is still an alpha: some gates are not available on every cell, a public Packagist release has never been run through it, and the CI certification job has no host yet. The status page lists what is proven and what is open.
From an extension directory:
furnace run --gate=all --parallel=3Furnace installs the extension into every matching cell, a real, pre-installed Magento or Mage-OS instance pinned to one PHP version, and runs a ladder of gates against each: static analysis, unit tests, install, cron, integration tests, production mode, then browser tests. Afterwards it restores the cell to its golden snapshot, so the next extension starts from the same place.
Two more modes answer two more questions. A release harness tests the packages customers actually download, straight from the registry, with no checkout at all. A fresh install proves the extension installs on an empty database, which is not the same as upgrading a running store.
Everything is derived, nothing is configured. A cell's platform comes from its composer.lock, its PHP from .magebox.yaml, its database from env.php, its store views and test URLs from its own database. There is no fleet manifest to drift out of date.
Assert on observable state, never on exit codes. A test runner that exits zero having executed nothing has not passed. A browser suite that answers HTTP 200 from the wrong host has proven nothing. setup:install has exited zero without writing env.php. Every gate checks what actually happened, because each of those cases has occurred and each looked like success.