Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
eliashaeussler committed Oct 29, 2024
0 parents commit e47e217
Show file tree
Hide file tree
Showing 35 changed files with 7,826 additions and 0 deletions.
34 changes: 34 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

# TS/JS-Files
[*.{ts,js}]
indent_size = 2

# JSON-Files
[*.json]
indent_style = tab

# YAML-Files
[*.{yaml,yml}]
indent_size = 2

# NEON-Files
[*.neon]
indent_size = 2
indent_style = tab

# package.json
[package.json]
indent_size = 2
15 changes: 15 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* text=auto
/.build export-ignore
/.github export-ignore
/tests export-ignore
/.editorconfig export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/.php-cs-fixer.php export-ignore
/CODEOWNERS export-ignore
/composer.lock export-ignore
/CONTRIBUTING.md export-ignore
/phpstan.php export-ignore
/phpunit.xml export-ignore
/rector.php export-ignore
/renovate.json export-ignore
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Bug report
description: Create a report to help improve this package.
title: "[BUG]"
labels:
- bug
assignees:
- eliashaeussler
body:
- type: input
id: php-version
attributes:
label: PHP version
description: What PHP version are you using?
placeholder: 'e.g. 8.1.18'
validations:
required: true
- type: input
id: package-version
attributes:
label: Package version
description: What version of this package are you using?
placeholder: 'e.g. 6.3.1'
validations:
required: true
- type: input
id: operating-system
attributes:
label: Operating system
description: What operating system are you using?
placeholder: 'e.g. macOS 13.4'
validations:
required: true
- type: textarea
attributes:
label: Current behavior
description: A clear and concise description of what the bug is.
- type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
- type: textarea
attributes:
label: Steps to reproduce
description: If possible, describe steps to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
- type: textarea
attributes:
label: Additional context
description: Add any other context about the problem here.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Feature request
description: Suggest an idea for this package.
title: "[FEATURE]"
labels:
- enhancement
assignees:
- eliashaeussler
body:
- type: textarea
attributes:
label: Is your feature request related to a problem?
description: A clear and concise description of what the problem is.
placeholder: I'm always frustrated when [...]
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
description: >
A clear and concise description of any alternative solutions or features
you've considered.
- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
34 changes: 34 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
changelog:
exclude:
labels:
- duplicate
- 'good first issue'
- 'help wanted'
- invalid
- question
- wontfix
categories:
- title: ⚡ Breaking
labels:
- breaking
- title: 🚨 Security fixes
labels:
- security
- title: 🚀 Improved
labels:
- enhancement
- title: 🚑 Fixed
labels:
- bug
- title: 👷 Changed
labels:
- maintenance
- title: 📖 Documentation
labels:
- documentation
- title: ⚙️ Dependencies
labels:
- dependencies
- title: Other changes
labels:
- "*"
117 changes: 117 additions & 0 deletions .github/settings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
repository:
name: 'gitattributes'
description: '🍄 PHP library for object-oriented .gitattributes file handling'
topics: 'gitattributes,composer-package'
private: false
has_issues: true
has_projects: false
has_wiki: false
has_downloads: true
default_branch: 'main'
allow_squash_merge: true
allow_merge_commit: true
allow_rebase_merge: true
delete_branch_on_merge: true
allow_update_branch: true
# This will be handled by Renovate
enable_automated_security_fixes: false
enable_vulnerability_alerts: false

# Labels for issues and pull requests
labels:
- name: 'breaking'
color: '#36454f'
description: 'This introduces a breaking change'

- name: 'bug'
color: '#d73a4a'
description: Something isn't working

- name: 'dependencies'
color: '#93cb4a'
description: 'Updates project dependencies'

- name: 'documentation'
color: '#0075ca'
description: 'Improvements or additions to documentation'

- name: 'duplicate'
color: '#cfd3d7'
description: 'This issue or pull request already exists'

- name: 'enhancement'
color: '#a2eeef'
description: 'New feature or request'

- name: 'good first issue'
color: '#7057ff'
description: 'Good for newcomers'

- name: 'help wanted'
color: '#008672'
description: 'Extra attention is needed'

- name: 'invalid'
color: '#e4e669'
description: This doesn't seem right

- name: 'maintenance'
color: '#c0e596'
description: 'Code base is being maintained'

- name: 'question'
color: '#d876e3'
description: 'Further information is requested'

- name: 'security'
color: '#ef7da3'
description: 'Contains security fixes'

- name: 'wontfix'
color: '#ffffff'
description: 'This will not be worked on'

# Rulesets
rulesets:
- name: CI
target: branch
enforcement: active
conditions:
ref_name:
include:
- '~DEFAULT_BRANCH'
exclude: []
rules:
- type: deletion
- type: non_fast_forward
- type: required_status_checks
parameters:
strict_required_status_checks_policy: true
do_not_enforce_on_create: false
required_status_checks:
- context: 'cgl'
integration_id: 15368
- context: 'Tests (PHP 8.1 & locked dependencies)'
integration_id: 15368
- context: 'Tests (PHP 8.1 & highest dependencies)'
integration_id: 15368
- context: 'Tests (PHP 8.1 & lowest dependencies)'
integration_id: 15368
- context: 'Tests (PHP 8.2 & locked dependencies)'
integration_id: 15368
- context: 'Tests (PHP 8.2 & highest dependencies)'
integration_id: 15368
- context: 'Tests (PHP 8.2 & lowest dependencies)'
integration_id: 15368
- context: 'Tests (PHP 8.3 & locked dependencies)'
integration_id: 15368
- context: 'Tests (PHP 8.3 & highest dependencies)'
integration_id: 15368
- context: 'Tests (PHP 8.3 & lowest dependencies)'
integration_id: 15368
- context: 'Test coverage'
integration_id: 15368
bypass_actors:
- actor_id: 5
actor_type: RepositoryRole
bypass_mode: always
56 changes: 56 additions & 0 deletions .github/workflows/cgl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: CGL
on:
push:
branches:
- main
- 'renovate/**'
pull_request:
branches:
- main

jobs:
cgl:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

# Prepare environment
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
tools: composer:v2, composer-require-checker, composer-unused, cs2pr
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# Validation
- name: Validate composer.json
run: composer validate

# Install dependencies
- name: Install Composer dependencies
uses: ramsey/composer-install@v3

# Check Composer dependencies
- name: Check dependencies
run: composer-require-checker check
- name: Check for unused dependencies
run: composer-unused

# Linting
- name: Lint composer.json
run: composer lint:composer
- name: Lint Editorconfig
run: composer lint:editorconfig
- name: Lint PHP
run: composer lint:php -- --format checkstyle | cs2pr

# SCA
- name: SCA PHP
run: composer sca:php -- --error-format github

# Migration
- name: Run Rector migration
run: composer migration:rector -- --dry-run
28 changes: 28 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Release
on:
push:
tags:
- '*'

jobs:
# Job: Create release
release:
name: Create release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

# Check if tag is valid
- name: Check tag
run: |
if ! [[ ${{ github.ref }} =~ ^refs/tags/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]]; then
exit 1
fi
# Create release
- name: Create release
uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
Loading

0 comments on commit e47e217

Please sign in to comment.