Laravel
Running the pre-built Laravel pipeline directly
Run the following command to run the pre-built Laravel pipeline without having to initialize a project:
fluentci run laravel_pipeline
Add Laravel Pipeline to your project
Run the following command to add a Laravel pipeline to your project:
- Dagger
- Wasm
fluentci init -t laravel
fluentci init --wasm -t laravel
This will create a .fluentci directory in your project, feel free to customize the pipeline for your needs.
You can then run the following command to start the pipeline:
fluentci run .
Environment variables
| Variable | Description | Default Value | 
|---|---|---|
| MARIADB_USER | The username for the MariaDB database | user | 
| MARIADB_PASSWORD | The password for the MariaDB database | password | 
| MARIADB_ROOT_PASSWORD | The root password for the MariaDB database | root | 
Jobs
| Job | Description | 
|---|---|
| test | Run tests | 
Programmatic usage
You can also use this pipeline programmatically:
import { test } from "jsr:@fluentci/laravel";
await test();
CI/CD pipeline integrations
The following examples show how to integrate FluentCI with popular CI providers to test Laravel applications:
- Github Actions
- GitLab CI
- Circle CI
- Azure Pipelines
- AWS CodePipeline
ci.yml
name: ci
on:
  push:
    branches:
      - main
jobs:
  tasks:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Shutdown Ubuntu MySQL (SUDO)
        run: |
          sudo service mysql stop
          sudo apt-get remove --purge mysql-server mysql-client mysql-common -y
          sudo apt-get autoremove -y
          sudo apt-get autoclean
          sudo rm -rf /etc/mysql
          sudo rm -rf /var/lib/mysql
      - name: Setup Fluent CI CLI
        uses: fluentci-io/setup-fluentci@v5
        with:
          wasm: true
          plugin: mariadb
          args: |
            start
      - name: test
        run: fluentci run --wasm laravel test
    
.gitlab-ci.yml
.docker:
  image: denoland/deno:debian-1.42.4
  services:
    - docker:${DOCKER_VERSION}-dind
  variables:
    DOCKER_HOST: tcp://docker:2376
    DOCKER_TLS_VERIFY: "1"
    DOCKER_TLS_CERTDIR: /certs
    DOCKER_CERT_PATH: /certs/client
    DOCKER_DRIVER: overlay2
    DOCKER_VERSION: 20.10.16
    GITLAB_ACCESS_TOKEN: $GITLAB_ACCESS_TOKEN
.fluentci:
  extends: .docker
  before_script:
    - apt-get update
    - apt-get install -y curl tar gzip ca-certificates openssl git unzip libncursesw6
    - deno install -A -r https://cli.fluentci.io -n fluentci
    - fluentci --version
    - curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.12.3 sh
    - mv bin/dagger /usr/local/bin
    - dagger version
test:
  extends: .fluentci
  script:
    - fluentci run --wasm mariadb start 
    - fluentci run --wasm laravel test
.circleci/config.yml
version: 2.1
jobs:
  job:
    steps:
      - checkout
      - run: |
          sudo apt-get update && sudo apt-get install -y curl unzip
          curl -fsSL https://cli.fluentci.io | bash
          fluentci --version
        name: Setup FluentCI
      - run: |
          fluentci run --wasm mariadb start
          fluentci run --wasm laravel test
        name: test
    machine:
      image: ubuntu-2004:2023.07.1
workflows:
  fluentci:
    jobs:
      - job
      
azure-pipelines.yml
trigger:
  - main
pool:
  vmImage: ubuntu-latest
steps:
  - script: |
      curl -fsSL https://cli.fluentci.io | bash
      fluentci --version
      echo "##vso[task.prependpath]${HOME}/.deno/bin
    displayName: Setup FluentCI
  - script: |
      fluentci run --wasm mariadb start
      fluentci run --wasm laravel test
    displayName: test
    
buildspec.yml
version: 0.2
phases:
  install:
    commands:
      - curl -fsSL https://cli.fluentci.io | bash
      - fluentci --version
  build:
    commands:
      - fluentci run --wasm mariadb start
      - fluentci run --wasm laravel test
  post_build:
    commands:
      - echo Build completed on `date`