Skip to content

Latest commit

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VTS Studio β€” Shared CI & Org Config

Reusable GitHub Actions workflows and org-level configuration for all VTS Studio repositories.

Reusable Workflows

Laravel CI

Usage β€” add this to your repo's .github/workflows/ci.yml:

jobs:
laravel:
uses: vts-studio/.github/.github/workflows/laravel.yml@mainwith:
php-version: "8.3"working-directory: "backend"test-runner: "vendor/bin/pest"

Jobs: Pint (code style), Tests (PHPUnit/Pest with MySQL + Redis), PHPStan (static analysis, opt-in)

InputDefaultDescription
php-version8.3PHP version
working-directorybackendPath to Laravel project
test-runnervendor/bin/pestTest command (vendor/bin/pest or vendor/bin/phpunit)
run-pinttrueRun Laravel Pint check
run-teststrueRun test suite
run-phpstanfalseRun PHPStan static analysis
phpstan-level5PHPStan analysis level (0-9)

React CI

Usage:

jobs:
react:
uses: vts-studio/.github/.github/workflows/react.yml@mainwith:
node-version: "20"working-directory: "frontend"

Jobs: ESLint, TypeScript check, Vitest, Production build

InputDefaultDescription
node-version20Node.js version
working-directoryfrontendPath to React project
run-linttrueRun ESLint
run-typechecktrueRun TypeScript check
run-teststrueRun Vitest
run-buildtrueRun production build
package-managernpmPackage manager (npm or yarn)

React Native CI

Usage:

jobs:
mobile:
uses: vts-studio/.github/.github/workflows/react-native.yml@mainwith:
node-version: "20"working-directory: "mobile"

Jobs: ESLint, TypeScript check, Jest tests

InputDefaultDescription
node-version20Node.js version
working-directorymobilePath to React Native project
run-linttrueRun ESLint
run-typechecktrueRun TypeScript check
run-teststrueRun Jest tests
package-managernpmPackage manager (npm or yarn)

Full Example (Monorepo)

name: CIon:
pull_request:
branches: [main]push:
branches: [main]jobs:
laravel:
uses: vts-studio/.github/.github/workflows/laravel.yml@mainwith:
php-version: "8.5"test-runner: "vendor/bin/pest"react:
uses: vts-studio/.github/.github/workflows/react.yml@mainwith:
node-version: "20"mobile:
uses: vts-studio/.github/.github/workflows/react-native.yml@main

Private Packages

If your project uses private Composer packages (e.g. Laravel Nova), add a COMPOSER_AUTH secret to your repo with your credentials.

About

πŸ”§ Shared CI workflows & org config for VTS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors