Skip to content

Commit

Permalink
Merge pull request codeigniter4#8062 from codeigniter4/develop
Browse files Browse the repository at this point in the history
4.4.2 Ready code
  • Loading branch information
kenjis authored Oct 19, 2023
2 parents c668faf + 47b3460 commit cf43310
Show file tree
Hide file tree
Showing 239 changed files with 4,920 additions and 1,123 deletions.
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
admin/ export-ignore
contributing/ export-ignore
.editorconfig export-ignore
.nojekyll export-ignore export-ignore
.nojekyll export-ignore
CODE_OF_CONDUCT.md export-ignore
CONTRIBUTING.md export-ignore

Expand Down
51 changes: 51 additions & 0 deletions .github/workflows/label-add-conflict-all-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Auto Label "stale" for All PRs

on:
push:
branches:
- develop
- '4.*'

jobs:
build:
name: Check Conflicts

permissions:
contents: read
pull-requests: write

runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Get PR List
id: PR-list
run: echo "pr_list=$(gh pr list -L 100 --json mergeable,url,labels,author)" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: 'Add label "stale" and comment'
env:
PR_LIST: ${{ steps.PR-list.outputs.pr_list }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
IFS=$'\n' # Set Internal Field Separator to newline to handle array elements
# Iterate through the PRs in PR_LIST
for pr in $(echo "$PR_LIST" | jq -c '.[]'); do
mergeable=$(echo "$pr" | jq -r '.mergeable')
author=$(echo "$pr" | jq -r '.author.login')
labels=$(echo "$pr" | jq -c '.labels[].name' | tr -d '[]"')
url=$(echo "$pr" | jq -r '.url')
# CONFLICTING and no 'stale' label
if [ "$mergeable" == "CONFLICTING" ] && [[ ! "$labels" == *"stale"* ]]; then
# Add "stale" label
gh pr edit $url --add-label "stale"
# Add a comment
gh pr comment $url --body ":wave: Hi, @$author!<br><br>We detected conflicts in your PR against the base branch :speak_no_evil:<br>You may want to sync :arrows_counterclockwise: your branch with upstream!<br><br>Ref: [Syncing Your Branch](https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/workflow.md#pushing-your-branch)"
fi
done
32 changes: 32 additions & 0 deletions .github/workflows/label-signing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Check Signed PR
on:
pull_request:
branches:
- 'develop'
- '4.*'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

permissions:
contents: read
pull-requests: write

jobs:
build:
name: Check Signed Commit
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Check signed commits in PR
uses: 1Password/check-signed-commits-action@v1
with:
comment: |
You must GPG-sign your work, certifying that you either wrote the work or otherwise have the right to pass it on to an open-source project. See Developer's Certificate of Origin. See [signing][1].
**Note that all your commits must be signed.** If you have an unsigned commit, you can sign the previous commits by referring to [gpg-signing-old-commits][2].
[1]: https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md#signing
[2]: https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/workflow.md#gpg-signing-old-commits
5 changes: 4 additions & 1 deletion .github/workflows/reusable-coveralls.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@ jobs:
run: composer update --ansi

- name: Merge coverage files
run: vendor/bin/phpcov merge --clover build/logs/clover.xml build/cov
run: |
jq '.autoload."psr-4" += {"Config\\": "app/Config/"}' composer.json > temp.json && mv temp.json composer.json
composer dump-autoload
vendor/bin/phpcov merge --clover build/logs/clover.xml build/cov
- name: Upload coverage to Coveralls
run: vendor/bin/php-coveralls --verbose --exclude-no-stmt --ansi
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/test-phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ jobs:
- '8.0'
- '8.1'
- '8.2'
- '8.3'
include:
- php-version: '8.3'
composer-option: '--ignore-platform-req=php'

uses: ./.github/workflows/reusable-phpunit-test.yml # @TODO Extract to codeigniter4/.github repo
with:
Expand All @@ -70,6 +74,7 @@ jobs:
enable-coverage: ${{ matrix.php-version == needs.coverage-php-version.outputs.version }}
enable-profiling: ${{ matrix.php-version == needs.coverage-php-version.outputs.version }}
extra-extensions: imagick, redis, memcached
extra-composer-options: ${{ matrix.composer-option }}

database-live-tests:
needs:
Expand All @@ -84,6 +89,7 @@ jobs:
- '8.0'
- '8.1'
- '8.2'
- '8.3'
db-platform:
- MySQLi
- OCI8
Expand All @@ -96,6 +102,8 @@ jobs:
- php-version: '7.4'
db-platform: MySQLi
mysql-version: '8.0'
- php-version: '8.3'
composer-option: '--ignore-platform-req=php'

uses: ./.github/workflows/reusable-phpunit-test.yml # @TODO Extract to codeigniter4/.github repo
with:
Expand All @@ -109,6 +117,7 @@ jobs:
enable-coverage: ${{ matrix.php-version == needs.coverage-php-version.outputs.version }}
enable-profiling: ${{ matrix.php-version == needs.coverage-php-version.outputs.version }}
extra-extensions: mysqli, oci8, pgsql, sqlsrv-5.10.1, sqlite3
extra-composer-options: ${{ matrix.composer-option }}

separate-process-tests:
needs:
Expand All @@ -122,6 +131,10 @@ jobs:
- '8.0'
- '8.1'
- '8.2'
- '8.3'
include:
- php-version: '8.3'
composer-option: '--ignore-platform-req=php'

uses: ./.github/workflows/reusable-phpunit-test.yml # @TODO Extract to codeigniter4/.github repo
with:
Expand All @@ -133,6 +146,7 @@ jobs:
enable-coverage: true # needs xdebug for assertHeaderEmitted() tests
enable-profiling: ${{ matrix.php-version == needs.coverage-php-version.outputs.version }}
extra-extensions: mysqli, oci8, pgsql, sqlsrv-5.10.1, sqlite3
extra-composer-options: ${{ matrix.composer-option }}

cache-live-tests:
needs:
Expand All @@ -146,6 +160,10 @@ jobs:
- '8.0'
- '8.1'
- '8.2'
- '8.3'
include:
- php-version: '8.3'
composer-option: '--ignore-platform-req=php'

uses: ./.github/workflows/reusable-phpunit-test.yml # @TODO Extract to codeigniter4/.github repo
with:
Expand All @@ -157,6 +175,7 @@ jobs:
enable-coverage: ${{ matrix.php-version == needs.coverage-php-version.outputs.version }}
enable-profiling: ${{ matrix.php-version == needs.coverage-php-version.outputs.version }}
extra-extensions: redis, memcached
extra-composer-options: ${{ matrix.composer-option }}

coveralls:
name: Upload coverage results to Coveralls
Expand Down
Loading

0 comments on commit cf43310

Please sign in to comment.