Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
maks-oleksyuk committed Sep 17, 2024
0 parents commit 0cbd345
Show file tree
Hide file tree
Showing 45 changed files with 8,011 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .ddev/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: laravel
type: laravel
docroot: public
database:
type: mariadb
version: '10.11'
php_version: '8.3'
host_db_port: '14674'
nodejs_version: '20'
webserver_type: nginx-fpm
xdebug_enabled: false
hooks:
pre-start:
# Add pnpm and task to ddev if not already installed.
- exec-host: |
ddev get --installed | grep -q 'envsa/ddev-pnpm' || ddev get envsa/ddev-pnpm &>/dev/null
ddev get --installed | grep -q 'gebruederheitz/ddev-taskfile' || ddev get gebruederheitz/ddev-taskfile &>/dev/null
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2
55 changes: 55 additions & 0 deletions .github/actions/setup-validation/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: 'Setup environment'
description: 'Setups environment for validation tasks.'

inputs:
php:
description: 'PHP version to install'
required: true
default: '8.3'

node:
description: 'Node.js version to install'
required: true
default: '20.x'

runs:
using: 'composite'
steps:
- name: 📋 Install Task
shell: bash
run: sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin

- name: 🐘 Setup PHP ${{ inputs.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ inputs.php }}
coverage: none

- name: 🗃 Get composer cache directory
id: composer-cache
shell: bash
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: 💽 Cache composer dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: "${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}"
restore-keys: ${{ runner.os }}-composer-

- name: 📦 Install composer dependencies
shell: bash
run: composer i --quiet --no-progress --no-scripts --ansi;

- name: 🟧 Setup pnpm
uses: pnpm/action-setup@v4

- name: ❇️ Setup Node.js ${{ inputs.node }}
uses: actions/setup-node@v4
with:
cache: pnpm
node-version: ${{ inputs.node }}

- name: 📦 Install pnpm dependencies
shell: bash
run: pnpm i -sD --frozen-lockfile --color=always
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
commit-message:
prefix: '⬆️ '
groups:
actions-dependencies:
patterns:
- '*'
54 changes: 54 additions & 0 deletions .github/workflows/ci-laravel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: 🔄 CI | ♦️ Laravel

on:
push:
branches:
- laravel
paths-ignore:
- README.md
- LICENSE.md
pull_request:
branches:
- laravel
paths-ignore:
- README.md
- LICENSE.md

# Allows to run this workflow manually from the Actions tab.
workflow_dispatch:

jobs:
cleanup:
name: 🧹 Clean up GitHub repo
runs-on: ubuntu-latest
permissions: write-all
if: github.event_name != 'pull_request'

steps:
- name: 🗑 Delete workflow runs
uses: Mattraks/delete-workflow-runs@v2
with:
retain_days: 7
keep_minimum_runs: 1
delete_workflow_pattern: ci-laravel.yml

# lint:
# name: 🪄 Lint | ${{ matrix.command.name }}
# runs-on: ubuntu-latest
#
# strategy:
# matrix:
# command:
# - { name: '📦 Composer', command: 'lint:composer' }
# - { name: '🅿️ Prettier', command: 'lint:prettier' }
# - { name: '🏠 Rector', command: 'lint:rector' }
#
# steps:
# - name: 🛎 Checkout
# uses: actions/checkout@v4
#
# - name: ⚙️ Prepare environment
# uses: ./.github/actions/setup-validation
#
# - name: ${{ matrix.command.name }} validate
# run: 'task ${{ matrix.command.command }}'
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Ignore directories generated by package managers.
web
vendor
node_modules

# Ignore temporary/cache files and folders.
var
.pnpm-store
.php-cs-fixer.cache

# Ignore .env files as they are personal.
.env

# Ignore files generated by IDE.
.ddev
.idea
.vscode

# Ignore dump folder, archives.
dump
*.gz

# Ignore OS files.
.DS_Store
50 changes: 50 additions & 0 deletions .gitpod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
image: ddev/ddev-gitpod-base:20240702

# ddev and composer are running as part of the prebuild
# when starting a workspace all docker images are ready
tasks:
- init: |
ddev start -y
ddev composer install
command: |
ddev start -y
gp ports await 8080 && gp preview $(gp url 8080)
# VScode xdebug extension
vscode:
extensions:
# PHP extensions.
- felixfbecker.php-debug
- wongjn.php-sniffer
- neilbrayfield.php-docblocker
- bmewburn.vscode-intelephense-client

# Bash extensions.
- timonwong.shellcheck
- rogalmic.bash-debug

ports:
# Used by ddev - local db clients
- port: 3306
onOpen: ignore
# Used by projector
- port: 6942
onOpen: ignore
# Used by MailHog
- port: 8027
onOpen: ignore
# Used by phpMyAdmin
- port: 8036
onOpen: ignore
# Direct-connect ddev-webserver port that is the main port
- port: 8080
onOpen: ignore
# Ignore host https port
- port: 8443
onOpen: ignore
# xdebug port
- port: 9003
onOpen: ignore
# projector port
- port: 9999
onOpen: open-browser
Loading

0 comments on commit 0cbd345

Please sign in to comment.