Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
f70e912
feat(dev): make plugin development self-contained
KilianTrunk Aug 6, 2025
ff91bb0
chore(workbench): fix permissions and setup
KilianTrunk Aug 6, 2025
a45ed91
chore(dev): improve dev setup
KilianTrunk Aug 6, 2025
193d2ff
chore(policies): fix namespaces
KilianTrunk Aug 6, 2025
5bf034f
chore(workbench): format
KilianTrunk Aug 6, 2025
43c2654
fix(setup): fix writable folders on fresh clone
KilianTrunk Aug 6, 2025
31640af
fix(dev-setup): fix folders
KilianTrunk Aug 6, 2025
73dcc17
fix(setup): ensure root storage/logs exists for Horizon
KilianTrunk Aug 6, 2025
13cd2aa
fix(setup): add missing files
KilianTrunk Aug 6, 2025
b57c117
chore(setup): improve dev experience
KilianTrunk Aug 7, 2025
356152c
Merge branch 'feat/workbench' of github.com:KilianTrunk/eclipsephp-wo…
KilianTrunk Aug 7, 2025
0464ec6
chore(setup): ignore files
KilianTrunk Aug 7, 2025
2b9e7e6
chore(setup): copy env pre workbench composer install
KilianTrunk Aug 7, 2025
f23bff7
chore(setup): fix dev setup
KilianTrunk Aug 7, 2025
769c825
chore(setup): add simple workbench readme
KilianTrunk Aug 7, 2025
f7ffaa6
chore(setup): fix namespace issues
KilianTrunk Aug 7, 2025
c9d02fa
chore(setup): more fixes
KilianTrunk Aug 7, 2025
4d77dd7
chore(setup): update gitignore
KilianTrunk Aug 7, 2025
b0403fa
Revert "chore(setup): update gitignore"
KilianTrunk Aug 7, 2025
2c06265
chore(workbench): remove old comments
KilianTrunk Aug 7, 2025
1432b1d
fix(workflows): fix github workflows
KilianTrunk Aug 7, 2025
667db4e
fix(setup): add remaining folder
KilianTrunk Aug 7, 2025
97db226
chore(setup): add more gitkeeps
KilianTrunk Aug 7, 2025
7b09f00
chore(setup): fix cache
KilianTrunk Aug 7, 2025
66a0f9d
Merge branch 'feat/workbench' of github.com:KilianTrunk/eclipsephp-wo…
KilianTrunk Aug 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}

- name: Run Laravel Pint
uses: aglipanci/laravel-pint-action@latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}

- name: Validate composer.json and composer.lock
run: composer validate --strict
Expand Down
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,12 @@
/node_modules
/phpunit.xml
/vendor
/storage/*
!/storage/.gitkeep
!/storage/framework/cache/.gitkeep
!/storage/framework/cache/data/.gitkeep
!/storage/framework/sessions/.gitkeep
!/storage/framework/views/.gitkeep
!/storage/logs/
!/storage/logs/.gitkeep
/storage/logs/horizon.log
86 changes: 80 additions & 6 deletions .lando.dist.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,82 @@
#file: noinspection ComposeUnknownKeys
name: eclipse-world
recipe: laravel
config:
webroot: workbench/public
php: '8.3'
via: nginx
database: mariadb:10.11
cache: redis

services:
appserver:
type: php:custom
config:
php: .lando/php.ini
environment:
TZ: "Europe/Ljubljana"
DB_HOST: "database"
DB_PORT: "3306"
DB_DATABASE: "eclipse_world"
DB_USERNAME: "developer"
DB_PASSWORD: "developer"
REDIS_HOST: "cache"
REDIS_PORT: "6379"
xdebug: "debug,develop,coverage"
via: cli
overrides:
image: slimdeluxe/php:8.2-v1.1
image: slimdeluxe/php:8.3-v1.2
platform: linux/amd64
build_as_root:
- cp -f /app/.lando/horizon.conf /etc/supervisor/conf.d/horizon.conf
run:
- cd workbench && [ ! -f .env ] && cp .env.example .env || true
- cd workbench && php artisan key:generate --force
- cd workbench && php artisan migrate:fresh --seed
- cd workbench && npm install
- cd workbench && npm run build
- crontab /app/.lando/cron
ports:
- "3009:3009"
- "8080:8080"

database:
creds:
database: eclipse_world
user: developer
password: developer

pma:
type: phpmyadmin
hosts:
- database
database:
type: mariadb:10.11
overrides:
image: phpmyadmin

typesense:
type: compose
services:
image: typesense/typesense:0.25.1
ports:
- "8108:8108"
environment:
TYPESENSE_API_KEY: abc
TYPESENSE_DATA_DIR: /data
volumes:
- typesense-data:/data

proxy:
pma:
- pma.eclipse-world.lndo.site
appserver:
- ws.eclipse-world.lndo.site:8080
events:
post-start:
- sudo service supervisor start
- sudo service cron start

tooling:
php:
service: appserver
composer:
service: appserver
test:
service: appserver
description: Run tests
Expand All @@ -20,7 +85,16 @@ tooling:
service: appserver
description: Fix code style issues
cmd: "composer format"
npm:
service: appserver
reverb:
service: appserver
description: Start Reverb WebSocket server
cmd: "cd workbench && php artisan reverb:start --host=0.0.0.0 --port=8080"
testbench:
service: appserver
description: Run testbench CLI
cmd: "vendor/bin/testbench"

volumes:
typesense-data:
1 change: 1 addition & 0 deletions .lando/cron
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* * * * * /usr/local/bin/php -d memory_limit=-1 /app/artisan schedule:run
12 changes: 12 additions & 0 deletions .lando/horizon.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[program:horizon]
process_name=%(program_name)s_%(process_num)02d
command=php /app/artisan horizon
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/app/storage/logs/horizon.log
stopwaitsecs=3600
2 changes: 2 additions & 0 deletions .lando/php.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[PHP]
memory_limit = 128M
7 changes: 4 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,16 @@
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/",
"Workbench\\App\\": "workbench/app/",
"Workbench\\Database\\Factories\\": "workbench/database/factories/",
"Workbench\\Database\\Seeders\\": "workbench/database/seeders/"
"App\\World\\Workbench\\": "workbench/app/",
"App\\World\\Workbench\\Database\\Factories\\": "workbench/database/factories/",
"App\\World\\Workbench\\Database\\Seeders\\": "workbench/database/seeders/"
}
},
"require": {
"php": "^8.2",
"bezhansalleh/filament-shield": "^3.3",
"datalinx/php-utils": "^2.5",
"eclipsephp/common": "dev-main",
"filament/filament": "^3.3",
"laravel/framework": "^11.0",
"spatie/laravel-package-tools": "^1.19"
Expand Down
Empty file added storage/.gitkeep
Empty file.
Empty file added storage/logs/.gitkeep
Empty file.
7 changes: 5 additions & 2 deletions testbench.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
laravel: '@testbench'

providers:
- Workbench\App\Providers\WorkbenchServiceProvider
- App\World\Workbench\Providers\WorkbenchServiceProvider

migrations:
- workbench/database/migrations

seeders:
- Workbench\Database\Seeders\DatabaseSeeder
- DatabaseSeeder

workbench:
start: '/'
Expand All @@ -30,3 +30,6 @@ workbench:
- from: storage
to: workbench/storage
reverse: true
exclude:
- workbench/app/Models/User.php
- workbench/database/seeders/DatabaseSeeder.php
2 changes: 1 addition & 1 deletion tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Orchestra\Testbench\Concerns\WithWorkbench;
use Orchestra\Testbench\TestCase as BaseTestCase;
use Workbench\App\Models\User;
use App\World\Workbench\Models\User;

abstract class TestCase extends BaseTestCase
{
Expand Down
38 changes: 14 additions & 24 deletions workbench/.env.example
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=AckfSECXIvnK5r28GVIWUAxmbBSjTsmF
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

Expand All @@ -9,48 +9,38 @@ APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US

APP_MAINTENANCE_DRIVER=file
# APP_MAINTENANCE_STORE=database

# PHP_CLI_SERVER_WORKERS=4

BCRYPT_ROUNDS=12

LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
DB_CONNECTION=mysql
DB_HOST=database
DB_PORT=3306
DB_DATABASE=eclipse_world
DB_USERNAME=developer
DB_PASSWORD=developer

SESSION_DRIVER=cookie
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null

BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
QUEUE_CONNECTION=sync

CACHE_STORE=database
# CACHE_PREFIX=
CACHE_STORE=file

MEMCACHED_HOST=127.0.0.1

REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_HOST=cache
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=log
MAIL_SCHEME=null
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_FROM_ADDRESS="hello@example.com"
Expand All @@ -62,4 +52,4 @@ AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

VITE_APP_NAME="${APP_NAME}"
VITE_APP_NAME="${APP_NAME}"
48 changes: 45 additions & 3 deletions workbench/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
.env
.env.dusk
storage
# 1. Keep lines sorted alphabetically in this file
# 2. Do not add OS or IDE specific lines here — do it in the global .gitignore:
# https://gist.github.com/subfuzion/db7f57fff2fb6998a16c

/.phpactor.json
/.phpunit.cache
/.phpunit.result.cache
/.lando.local.yml
/.env
/.env.backup
/.env.production
/.npm-debug.log
/.auth.json
/composer.lock
/node_modules/
/packages/*/
/vendor/

/bootstrap/cache/*
!/bootstrap/cache/.gitkeep

/storage/framework/sessions/*
!/storage/framework/sessions/.gitkeep

/storage/logs/*
!/storage/logs/.gitkeep

/storage/framework/cache/*
!/storage/framework/cache/.gitkeep
!/storage/framework/cache/data/.gitkeep
/storage/framework/views/*
!/storage/framework/views/.gitkeep
/storage/framework/testing/*
!/storage/framework/testing/.gitkeep

/app/Policies/

/storage/*.key
/storage/pail

/build

/phpunit.xml

npm-debug.log
Loading
Loading