Skip to content

Commit

Permalink
Merge pull request #39 from WyriHaximus/goodbye-php-7-hello-php-8
Browse files Browse the repository at this point in the history
Goodbye PHP 7! Hello PHP 8!
  • Loading branch information
WyriHaximus authored Jan 8, 2022
2 parents 3038222 + 97b5657 commit 8dfbe69
Show file tree
Hide file tree
Showing 29 changed files with 6,774 additions and 2,841 deletions.
6 changes: 6 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,11 @@ trim_trailing_whitespace = true
[*.json]
indent_size = 2

[*.yml]
indent_size = 2

[*.yaml]
indent_size = 2

[Makefile]
indent_style = tab
15 changes: 10 additions & 5 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# Ignoring files for distribution archieves
examples/ export-ignore
.github/ export-ignore
etc/ export-ignore
tests/ export-ignore
.travis.yml export-ignore
.gitignore export-ignore
var/ export-ignore
.devcontainer.json export-ignore
.editorconfig export-ignore
.gitattributes export-ignore
.scrutinizer.yml export-ignore
phpunit.xml.dist export-ignore
.gitignore export-ignore
CONTRIBUTING.md export-ignore
infection.json.dist export-ignore
Makefile export-ignore
README.md export-ignore
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @WyriHaximus
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: WyriHaximus
60 changes: 60 additions & 0 deletions .github/boring-cyborg.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
labelPRBasedOnFilePath:
"Documentation 📚":
- README.md
- CONTRIBUTING.md
"Dependencies 📦":
- Dockerfile*
- composer.*
- package.json
- package-lock.json
- yarn.lock
"Docker 🐳":
- Dockerfile*
- .docker/**/*
"Image 🖼":
- "**/*.gif"
- "**/*.jpg"
- "**/*.jpeg"
- "**/*.png"
- "**/*.webp"
"CSS 👩‍🎨":
- "**/*.css"
"HTML 👷‍♀️":
- "**/*.htm"
- "**/*.html"
"NEON 🦹‍♂️":
- "**/*.neon"
"MarkDown 📝":
- "**/*.md"
"YAML 🍄":
- "**/*.yml"
- "**/*.yaml"
"JSON 👨‍💼":
- "**/*.json"
"Go 🐹":
- "**/*.go"
"JavaScript 🦏":
- "**/*.js"
- package.json
- package-lock.json
- yarn.lock
"PHP 🐘":
- "**/*.php"
- composer.*
"Configuration ⚙":
- .github/*
"CI 🚧":
- .github/workflows/*
- .scrutinizer.yml
"Templates 🌲":
- "**/*.twig"
- "**/*.tpl"
"Helm ☸":
- .helm/**/*
"Tests 🧪":
- tests/**/*
"Source 🔮":
- src/**/*

labelerFlags:
labelOnPRUpdates: true
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "daily"
labels:
- "Dependencies 📦"
- "PHP 🐘"
versioning-strategy: "widen"
open-pull-requests-limit: 1
115 changes: 115 additions & 0 deletions .github/settings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
repository:
private: false
has_issues: true
has_wiki: false
has_downloads: true
default_branch: master
allow_squash_merge: false
allow_merge_commit: true
allow_rebase_merge: false

# Labels: define labels for Issues and Pull Requests
labels:
- name: "Dependencies 📦"
color: 0025ff
description: "Pull requests that update a dependency file"
- name: "Image 🖼"
color: 00ffff
- name: "HTML 👷‍♀️"
color: ffffff
- name: "CSS 👩‍🎨"
color: b3b3b3
- name: "JavaScript 🦏"
color: ffff00
- name: "Go 🐹"
color: 00ADD8
- name: "JSON 👨‍💼"
color: 00ADD8
- name: "NEON 🦹‍♂️"
color: CE3262
- name: "MarkDown 📝"
color: 000000
- name: "YAML 🍄"
color: ff1aff
- name: "Templates 🌲"
color: 009933
- name: "Helm ☸"
color: 091C84
- name: "Tests 🧪"
color: ffe6e6
- name: "Source 🔮"
color: e6ffe6
- name: "Configuration ⚙"
color: b3b3cc
- name: "PHP 🐘"
color: 8892BF
description: "Hypertext Pre Processor"
- name: "Docker 🐳"
color: 0db7ed
description: "Pull requests that relate to Docker"
- name: "CI 🚧"
color: ffff00
- name: "Feature 🏗"
color: 66ff99
- name: "Documentation 📚"
color: 6666ff
- name: "Security 🕵️‍♀️"
color: ff0000
- name: "Hacktoberfest 🎃"
color: 152347
- name: "Bug 🐞"
color: d73a4a
description: "Something isn't working"
oldname: bug
- name: "Duplicate ♊"
color: cfd3d7
description: "This issue or pull request already exists"
oldname: duplicate
- name: "Enhancement ✨"
color: a2eeef
description: "New feature or request"
oldname: enhancement
- name: "Good First Issue"
color: 7057ff
description: "Good for newcomers"
oldname: "good first issue"
- name: "Help Wanted"
color: 008672
description: "Extra attention is needed"
oldname: "help wanted"
- name: Invalid
color: e4e669
description: "This doesn't seem right"
oldname: invalid
- name: "Question ❓"
color: d876e3
description: "Further information is requested"
oldname: question
- name: "Will not be fixed 🛑"
color: ffffff
description: "This will not be worked on"
oldname: wontfix
- name: "Sponsor Request ❤️"
color: fedbf0
description: "Issue/PR opened by sponsor"

branches:
- name: master
protection:
required_pull_request_reviews:
required_approving_review_count: 1
dismiss_stale_reviews: true
require_code_owner_reviews: true
# Required. Require status checks to pass before merging. Set to null to disable
required_status_checks:
# Required. Require branches to be up to date before merging.
strict: true
# Required. The list of status checks to require in order to merge into this branch
contexts: []
# Required. Enforce all configured restrictions for administrators. Set to true to enforce required status checks for repository administrators. Set to null to disable.
enforce_admins: true
# Required. Restrict who can push to this branch. Team and user restrictions are only available for organization-owned repositories. Set to null to disable.
restrictions:
apps: []
users: []
teams: []
84 changes: 84 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Continuous Integration
on:
push:
pull_request:
jobs:
generate-checks-strategy:
name: Generate Checks
runs-on: ubuntu-latest
outputs:
check: ${{ steps.generate-checks-strategy.outputs.check }}
steps:
- uses: actions/checkout@v1
- id: generate-checks-strategy
name: Generate check
run: |
printf "Checks found: %s\r\n" $(make task-list-ci)
printf "::set-output name=check::%s" $(make task-list-ci)
lint:
runs-on: ubuntu-latest
steps:
- name: Lint Code Base
uses: docker://github/super-linter:v2.2.0
composer-install:
strategy:
fail-fast: false
matrix:
php: ["8.0", 8.1]
composer: [lowest, current, highest]
needs: lint
runs-on: ubuntu-latest
container:
image: ghcr.io/wyrihaximusnet/php:${{ matrix.php }}-nts-alpine-dev-root
steps:
- uses: actions/checkout@v1
- name: Cache composer packages
uses: actions/cache@v1
with:
path: ./vendor/
key: ${{ matrix.composer }}-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }}
- name: Install Dependencies
run: composer update --prefer-lowest --no-progress --ansi --no-interaction --prefer-dist -o
if: matrix.composer == 'lowest'
- name: Install Dependencies
run: composer install --ansi --no-progress --no-interaction --prefer-dist -o
if: matrix.composer == 'current'
- name: Install Dependencies
run: composer update --ansi --no-progress --no-interaction --prefer-dist -o
if: matrix.composer == 'highest'
qa:
strategy:
fail-fast: false
matrix:
php: ["8.0", 8.1]
composer: [lowest, current, highest]
check: ${{ fromJson(needs.generate-checks-strategy.outputs.check) }}
needs:
- composer-install
- generate-checks-strategy
runs-on: ubuntu-latest
container:
image: ghcr.io/wyrihaximusnet/php:${{ matrix.php }}-nts-alpine-dev-root
steps:
- uses: actions/checkout@v1
- name: Cache composer packages
uses: actions/cache@v1
with:
path: ./vendor/
key: ${{ matrix.composer }}-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }}
- name: Install Dependencies
run: (test -f vendor && true ) || composer update --prefer-lowest --no-progress --ansi --no-interaction --prefer-dist -o
if: matrix.composer == 'lowest'
- name: Install Dependencies
run: (test -f vendor && true ) || composer install --ansi --no-progress --no-interaction --prefer-dist -o
if: matrix.composer == 'current'
- name: Install Dependencies
run: (test -f vendor && true ) || composer update --ansi --no-progress --no-interaction --prefer-dist -o
if: matrix.composer == 'highest'
- name: Fetch Tags
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* || true
if: matrix.check == 'backward-compatibility-check'
- run: make ${{ matrix.check }}
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
COVERALLS_RUN_LOCALLY: ${{ secrets.COVERALLS_RUN_LOCALLY }}
76 changes: 76 additions & 0 deletions .github/workflows/craft-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Create Release
env:
MILESTONE: ${{ github.event.milestone.title }}
on:
milestone:
types:
- closed
jobs:
wait-for-status-checks:
name: Wait for status checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: sleep 13
- name: 'Wait for status checks'
id: waitforstatuschecks
uses: "WyriHaximus/github-action-wait-for-status@master"
with:
ignoreActions: "Wait for status checks"
checkInterval: 5
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- id: generate-version-strategy
if: steps.waitforstatuschecks.outputs.status != 'success'
name: Fail
run: exit 1
generate-changelog:
name: Generate Changelog
needs:
- wait-for-status-checks
runs-on: ubuntu-latest
outputs:
changelog: ${{ steps.changelog.outputs.changelog }}
steps:
- name: Generate changelog
uses: WyriHaximus/github-action-jwage-changelog-generator@v1
id: changelog
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
milestone: ${{ env.MILESTONE }}
- name: Show changelog
run: echo "${CHANGELOG}"
env:
CHANGELOG: ${{ steps.changelog.outputs.changelog }}
create-release:
name: Create Release
needs:
- generate-changelog
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
env:
CHANGELOG: ${{ needs.generate-changelog.outputs.changelog }}
- run: |
echo -e "${MILESTONE_DESCRIPTION}\r\n\r\n${CHANGELOG}" > release-${{ env.MILESTONE }}-release-message.md
cat release-${{ env.MILESTONE }}-release-message.md
release_message=$(cat release-${{ env.MILESTONE }}-release-message.md)
release_message="${release_message//'%'/'%25'}"
release_message="${release_message//$'\n'/'%0A'}"
release_message="${release_message//$'\r'/'%0D'}"
echo "::set-output name=release_message::$release_message"
id: releasemessage
env:
MILESTONE_DESCRIPTION: ${{ github.event.milestone.description }}
CHANGELOG: ${{ needs.generate-changelog.outputs.changelog }}
- name: Create Reference Release with Changelog
uses: fleskesvor/create-release@feature/support-target-commitish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.MILESTONE }}
release_name: ${{ env.MILESTONE }}
body: ${{ steps.releasemessage.outputs.release_message }}
draft: false
prerelease: false
Loading

0 comments on commit 8dfbe69

Please sign in to comment.