Pipes is dev-friendly, testable pipelines library for local & CI/CD platforms, written in Typescript.
⚠️ Disclaimer⚠️ : This software is currently in development and is not considered production-ready. It more than likely contains bugs, incomplete features, or other discrepancies. Use at your own risk.It is strongly advised to NOT USE this software in a production environment or for critical applications until it has been thoroughly tested and deemed stable.
Pipes consist of:
-
@island.is/pipes-core - Core of Pipes. Runs tasks with dagger.io
-
@island.is/create-pipes - Utility to bootstrap a new CI project.
Before getting started with Pipes, ensure you have the following setup:
-
Docker or Podman: These are essential for creating isolated environments, ensuring that software runs uniformly across different platforms.
-
Node.js 20.5.0: We're specifically targeting version 20.5.0 to ensure compatibility and smooth operations.
- Install Node.js.
- We recommend using nvm to easily switch between Node.js versions. Here's a guide on how to set it up.
- Check installation and version:
node --version
-
Yarn When using Node.js 20 you only need to enable corepack:
corepack enable
while in a directory of a Pipe project.
After setting up the above prerequisites, you're ready to dive into Pipes!
Create personal token with write:packages
permission. Copy the token generated.
Insert into your your home directory (most likely /home/ on Unix and C:\Users on windows) .npmrc
//npm.pkg.github.com/:_authToken={YOUR_TOKEN}
@island.is:registry=https://npm.pkg.github.com/
Note: This is only while pipes is in heavy testing.
npx @island.is/create-pipes example-app
This should create a new folder called example-app
.
Pipes can be further extend with the usage of modules. Current modules are:
-
@island.is/pipes-module-github - Working with GitHub.
-
@island.is/pipes-module-node - Working with NodeJS apps.
-
@island.is/pipes-module-terraform - Working with Terraform
License is licensed under the MIT License - see the LICENSE file for details.
Thanks goes to these wonderful people (emoji key):
lommi 🚧 💻 |
Jón Levy 📆 🚧 |
This project follows the all-contributors specification. Contributions of any kind welcome!