Skip to content

Introducing Our New End-to-End Testing Suite

October 21, 2025
By Cole Manel

As we continue to bring more transparency to our development, I wanted to highlight some of the work happening at HexOS, even if it’s not something users directly interact with.

A New Way to Test

We’ve been hard at work and are excited to share a significant improvement to our development workflow: a dedicated end-to-end (E2E) testing suite.

Before this, much of our testing was done manually. That meant when we made an update to folders, we had to test every possible scenario: encrypted folders, multiple users with different permissions, quotas enabled, systems with slower hardware, or situations where a folder is being created but no users exist. You could imagine how time consuming this could be.

This new infrastructure provides better coverage across local development environments and gives the team greater, more efficient ways to test our work.

Testing in Action

Here’s an example of tests validating app installation from our curated templates, verifying they run correctly and uninstall cleanly.

This is just one category of tests. We have the ability to test nearly every aspect of the HexOS platform, from storage operations to network configurations.

Automated Testing with GitHub Actions

Beyond running tests locally, we've integrated the E2E suite with GitHub Actions to automatically run tests. The workflow uses dedicated test servers running different TrueNAS versions (Eel, Fangtooth, etc.), each pre-configured with the necessary credentials.

Tests can be triggered manually in GitHub Actions to target a specific platform or all platforms, with specific test suites (auth, reset, apps) or the complete suite. There's also an optional pull preview URL parameter for testing in-progress Command Deck PRs.

Here's an example of the GitHub Actions workflow and what the downloadable results look like.

E2E Workflow FormManual workflow trigger with platform and test suite selection

E2E Action JobTest execution in progress

E2E Action SummaryTest results summary with downloadable video artifacts

E2E Action DownloadDownloaded test results showing the recorded test execution

Real-World Impact

This new testing suite has already proven valuable during our 25.x compatibility work with Eel and Fangtooth. The comprehensive coverage helps catch issues early in the development cycle, before they make it into production.

Better local testing means:

  • Earlier bug detection - Issues are caught before creating PRs
  • Improved confidence - Developers can verify changes across the full app ecosystem
  • Faster iteration - Quick feedback loops during development
  • Better quality - Fewer regressions make it to users

Along with benefitting our devlopers local environments, this opens the possibility of making our E2E repository public so app curators can add their own app-specific tests when building new curations.

Moving Forward

All new tests for future functionality will be added to this suite where feasible. As we continue to expand HexOS, adding features like snapshots, replication, and advanced networking, having robust E2E coverage will be crucial to maintaining quality and development velocity.

We hope that sharing a glimpse of what’s happening behind the scenes is just as exciting for you as it is for us. We'll continue to share interesting details about our development as they come!

Released under the MIT License