Introduction to Torch - the “why” and “what” behind the platform

Josip Crnković ·

October 29th 2020

Welcome to Torch! Torch is a Continuous Integration platform designed for modern PHP applications and fine-tuned for Laravel. It offers minimal configuration and simplicity on every step of your CI pipeline.

Torch pipelines are run in containers designed for PHP applications and designed to match the Laravel Forge environment, so all your projects are as similar as possible to your production environments.

The “what”

Let’s start with a typical CI workflow. You make a change to your repository, run tests locally, it’s all green. Great! Now it’s time to test that application on the same environment as production. If all tests and checks pass, it’s time to deploy the master or staging branch. Torch makes running all those steps a breeze. It allows you to configure the exact database engine that you’ve deployed on the exact same PHP and Composer version, compile assets using proper NPM or Yarn versions and even configure the Redis cache. Since Torch is fine-tuned for Laravel, it even sets up the default pipeline for a typical Laravel application and takes care of environment variables. Have a failed build? No problem, customize the notification channels to receive instant feedback when a build fails. Deploying with Forge or Envoyer? Add a build hook and don’t worry about deployment.

The “why”

You’re probably asking yourself — why yet another CI platform? There’s countless number of CI systems that can do the same thing... and you’re right. To be honest, it started as a side-project. I wanted to not spend time configuring Github Actions workflow for my Laravel projects, but to have something that just works seamlessly. Something where I can simply integrate the repository, choose the PHP version and database engine and can be sure my tests are running and apps deploying. That’s why I built Torch, to save time.

Designed for Laravel

Let’s be real. Majority of Laravel applications are running on Laravel Forge. It’s a great way to quickly deploy your apps and painlessly manage the server. It’s been tested on more than 400,000 applications running on Forge. That’s why Torch uses a Docker container designed to match the Forge servers as closely as possible.

Since Torch is fine-tuned for Laravel, we know how to configure the default CI pipeline, and which environment variables to inject so you don’t have to. We know how to generate the APP_KEY variable and all those funky database and cache environment variables.

Configuration

Torch is designed with simplicity and with modern Laravel apps in mind. We allow you to specify a Vapor-like YAML configuration file in the root of your project to bring you even more to Torch’s features. Check out the documentation to properly configure the project. But it’s all optional. Everything you do in a YAML, you can do right from Torch UI.

All the way from integrating your repository to running builds, we try to offer a simplicity to every step of the way.

I’m proud of launching Torch today and hope you’re going to like it. Even though we plan to bring more features to Torch later this year, if you have any feedback or criticism, I’m completely open for discussion.

Josip

Simple Continuous Integration platform for PHP.

Fine-tuned for Laravel.

© 2020 Torch. All rights reserved.