Skip to content

Commit 9d95248

Browse files
authored
Merge pull request #6817 from codeigniter4/develop
4.2.10 Ready code
2 parents 75bc4c7 + 5c2d10b commit 9d95248

File tree

206 files changed

+627
-183
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

206 files changed

+627
-183
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
33
Each pull request should address a single issue and have a meaningful title.
44
5+
- Pull requests must be in English.
6+
- If a pull request fixes an issue, reference the issue with a suitable keyword (e.g., Fixes <issue number>).
57
- All bug fixes should be sent to the __"develop"__ branch, this is where the next bug fix version will be developed.
68
- PRs with any enhancement should be sent to the next minor version branch, e.g. __"4.3"__
79
@@ -15,15 +17,3 @@ Explain what you have changed, and why.
1517
- [ ] Unit testing, with >80% coverage
1618
- [ ] User guide updated
1719
- [ ] Conforms to style guide
18-
19-
<!--
20-
21-
**Notes**
22-
- Pull requests must be in English
23-
- If the PR solves an issue, reference it with a suitable verb and the issue number
24-
(e.g. fixes <hash>12345)
25-
- Unsolicited pull requests will be considered, but there is no guarantee of acceptance
26-
- Pull requests should be from a feature branch in the contributor's fork of the repository
27-
to the develop branch of the project repository
28-
29-
-->

.github/scripts/validate-version

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
set -o pipefail
3+
4+
if [[ -z $1 ]]; then
5+
echo "validate-version requires a version identifier"
6+
exit 1
7+
fi
8+
9+
FILES=("system/CodeIgniter.php" "user_guide_src/source/conf.py")
10+
LENGTH="${#FILES[@]}"
11+
12+
for FILE in "${FILES[@]}"; do
13+
COUNT="$((COUNT + $(grep -c "$FILE" -e "$1")))"
14+
done
15+
16+
if [[ $COUNT -ne $LENGTH ]]; then
17+
echo "CodeIgniter version is not updated to v"$1""
18+
exit 1
19+
fi
20+
21+
echo "CodeIgniter version is updated to v"$1""

.github/workflows/deploy-framework.yml renamed to .github/workflows/deploy-distributables.yml

Lines changed: 83 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,40 @@
1-
# When a new Release is created, deploy relevant
1+
# When a new release is created, deploy relevant
22
# files to each of the generated repos.
3-
name: Deploy Framework
3+
name: Deploy Distributable Repos
44

55
on:
66
release:
77
types: [published]
88

99
jobs:
10+
check-version:
11+
name: Check for updated version
12+
runs-on: ubuntu-22.04
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v3
17+
with:
18+
fetch-depth: 0 # fetch all tags
19+
20+
- name: Get latest version
21+
run: |
22+
echo 'LATEST_VERSION<<EOF' >> $GITHUB_ENV
23+
echo $(git describe --tags --abbrev=0) | sed "s/v//" >> $GITHUB_ENV
24+
echo 'EOF' >> $GITHUB_ENV
25+
26+
- name: Search for updated version
27+
if: ${{ env.LATEST_VERSION }}
28+
run: |
29+
chmod +x ${GITHUB_WORKSPACE}/.github/scripts/validate-version
30+
${GITHUB_WORKSPACE}/.github/scripts/validate-version ${{ env.LATEST_VERSION }}
31+
1032
framework:
1133
name: Deploy to framework
1234
if: github.repository == 'codeigniter4/CodeIgniter4'
13-
runs-on: ubuntu-latest
35+
runs-on: ubuntu-22.04
36+
needs: check-version
37+
1438
steps:
1539
- name: Identify
1640
run: |
@@ -55,7 +79,9 @@ jobs:
5579
appstarter:
5680
name: Deploy to appstarter
5781
if: github.repository == 'codeigniter4/CodeIgniter4'
58-
runs-on: ubuntu-latest
82+
runs-on: ubuntu-22.04
83+
needs: check-version
84+
5985
steps:
6086
- name: Identify
6187
run: |
@@ -96,3 +122,56 @@ jobs:
96122
name: release.data.name,
97123
body: release.data.body
98124
})
125+
126+
userguide:
127+
name: Deploy to userguide
128+
if: github.repository == 'codeigniter4/CodeIgniter4'
129+
runs-on: ubuntu-22.04
130+
needs: check-version
131+
132+
steps:
133+
- name: Identify
134+
run: |
135+
git config --global user.email "[email protected]"
136+
git config --global user.name "${GITHUB_ACTOR}"
137+
138+
- name: Checkout source
139+
uses: actions/checkout@v3
140+
with:
141+
path: source
142+
143+
- name: Checkout target
144+
uses: actions/checkout@v3
145+
with:
146+
repository: codeigniter4/userguide
147+
token: ${{ secrets.ACCESS_TOKEN }}
148+
path: userguide
149+
150+
- name: Install Sphinx
151+
run: |
152+
sudo apt install python3-sphinx
153+
sudo pip3 install sphinxcontrib-phpdomain
154+
sudo pip3 install sphinx_rtd_theme
155+
156+
- name: Chmod
157+
run: chmod +x ./source/.github/scripts/deploy-userguide
158+
159+
- name: Deploy
160+
run: ./source/.github/scripts/deploy-userguide ${GITHUB_WORKSPACE}/source ${GITHUB_WORKSPACE}/userguide ${GITHUB_REF##*/}
161+
162+
- name: Release
163+
uses: actions/github-script@v6
164+
with:
165+
github-token: ${{secrets.ACCESS_TOKEN}}
166+
script: |
167+
const release = await github.rest.repos.getLatestRelease({
168+
owner: context.repo.owner,
169+
repo: context.repo.repo
170+
})
171+
github.rest.repos.createRelease({
172+
owner: context.repo.owner,
173+
repo: 'userguide',
174+
tag_name: release.data.tag_name,
175+
name: release.data.name,
176+
body: release.data.body
177+
})

.github/workflows/deploy-userguide.yml

Lines changed: 0 additions & 59 deletions
This file was deleted.

.github/workflows/test-deptrac.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
- name: Setup PHP
4040
uses: shivammathur/setup-php@v2
4141
with:
42-
php-version: '8.0'
42+
php-version: '8.1'
4343
tools: composer, phive
4444
extensions: intl, json, mbstring, gd, mysqlnd, xdebug, xml, sqlite3
4545

.github/workflows/test-phpunit.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,15 @@ jobs:
4747
strategy:
4848
fail-fast: false
4949
matrix:
50-
php-versions: ['7.4', '8.0', '8.1']
50+
php-versions: ['7.4', '8.0', '8.1', '8.2']
5151
db-platforms: ['MySQLi', 'Postgre', 'SQLite3', 'SQLSRV', 'OCI8']
5252
mysql-versions: ['5.7']
5353
include:
5454
- php-versions: '7.4'
5555
db-platforms: MySQLi
5656
mysql-versions: '8.0'
57+
- php-versions: '8.2'
58+
composer-option: '--ignore-platform-req=php'
5759

5860
services:
5961
mysql:
@@ -148,8 +150,8 @@ jobs:
148150

149151
- name: Install dependencies
150152
run: |
151-
composer update --ansi --no-interaction
152-
composer remove --ansi --dev --unused -W -- rector/rector phpstan/phpstan friendsofphp/php-cs-fixer nexusphp/cs-config codeigniter/coding-standard
153+
composer update --ansi --no-interaction ${{ matrix.composer-option }}
154+
composer remove --ansi --dev --unused ${{ matrix.composer-option }} -W -- rector/rector phpstan/phpstan friendsofphp/php-cs-fixer nexusphp/cs-config codeigniter/coding-standard
153155
154156
- name: Profile slow tests in PHP ${{ env.COVERAGE_PHP_VERSION }}
155157
if: matrix.php-versions == env.COVERAGE_PHP_VERSION

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Changelog
22

3+
## [v4.2.10](https://github.com/codeigniter4/CodeIgniter4/tree/v4.2.10) (2022-11-05)
4+
[Full Changelog](https://github.com/codeigniter4/CodeIgniter4/compare/v4.2.9...v4.2.10)
5+
6+
### Fixed Bugs
7+
* docs: fix PHPDoc types in Session by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/6796
8+
* fix: output "0" at the end of toolbar js when Kint::$enabled_mode is false by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/6809
9+
10+
### Refactoring
11+
* Refactor assertHeaderEmitted and assertHeaderNotEmitted by @paulbalandan in https://github.com/codeigniter4/CodeIgniter4/pull/6806
12+
* fix: variable types for PHPStan 1.9.0 by @kenjis in https://github.com/codeigniter4/CodeIgniter4/pull/6810
13+
14+
## [v4.2.9](https://github.com/codeigniter4/CodeIgniter4/tree/v4.2.9) (2022-10-30)
15+
[Full Changelog](https://github.com/codeigniter4/CodeIgniter4/compare/v4.2.8...v4.2.9)
16+
17+
**Hotfix release to fix PHPUnit errors (see https://github.com/codeigniter4/CodeIgniter4/pull/6794)**
18+
319
## [v4.2.8](https://github.com/codeigniter4/CodeIgniter4/tree/v4.2.8) (2022-10-30)
420
[Full Changelog](https://github.com/codeigniter4/CodeIgniter4/compare/v4.2.7...v4.2.8)
521

admin/RELEASE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,15 @@ CodeIgniter 4.x.x release.
6060
6161
See the changelog: https://github.com/codeigniter4/CodeIgniter4/blob/develop/CHANGELOG.md
6262
```
63-
* Watch for the "Deploy Framework" Action to make sure **framework** and **appstarter** get updated
64-
* Run the following commands to install and test AppStarter and verify the new version:
63+
* Watch for the "Deploy Distributable Repos" action to make sure **framework**, **appstarter**, and **userguide** get updated
64+
* Run the following commands to install and test `appstarter` and verify the new version:
6565
```console
6666
composer create-project codeigniter4/appstarter release-test
6767
cd release-test
6868
composer test && composer info codeigniter4/framework
6969
```
70-
* Verify that the User Guide Actions succeeded:
71-
* "Deploy User Guide", framework repo
70+
* Verify that the user guide actions succeeded:
71+
* "Deploy Distributable Repos", framework repo
7272
* "Deploy Production", UG repo
7373
* "pages-build-deployment", both repos
7474
* Fast-forward `develop` branch to catch the merge commit from `master`

admin/framework/composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"require-dev": {
1818
"codeigniter/coding-standard": "^1.5",
1919
"fakerphp/faker": "^1.9",
20-
"friendsofphp/php-cs-fixer": "~3.12.0",
20+
"friendsofphp/php-cs-fixer": "~3.13.0",
2121
"mikey179/vfsstream": "^1.6",
2222
"nexusphp/cs-config": "^3.6",
2323
"phpunit/phpunit": "^9.1",
@@ -38,6 +38,7 @@
3838
"ext-redis": "If you use Cache class RedisHandler",
3939
"ext-dom": "If you use TestResponse",
4040
"ext-libxml": "If you use TestResponse",
41+
"ext-xdebug": "If you use CIUnitTestCase::assertHeaderEmitted()",
4142
"ext-fileinfo": "Improves mime type detection for files",
4243
"ext-readline": "Improves CLI::input() usability"
4344
},

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"require-dev": {
1818
"codeigniter/coding-standard": "^1.5",
1919
"fakerphp/faker": "^1.9",
20-
"friendsofphp/php-cs-fixer": "~3.12.0",
20+
"friendsofphp/php-cs-fixer": "~3.13.0",
2121
"mikey179/vfsstream": "^1.6",
2222
"nexusphp/cs-config": "^3.6",
2323
"nexusphp/tachycardia": "^1.0",
@@ -43,6 +43,7 @@
4343
"ext-redis": "If you use Cache class RedisHandler",
4444
"ext-dom": "If you use TestResponse",
4545
"ext-libxml": "If you use TestResponse",
46+
"ext-xdebug": "If you use CIUnitTestCase::assertHeaderEmitted()",
4647
"ext-fileinfo": "Improves mime type detection for files",
4748
"ext-readline": "Improves CLI::input() usability"
4849
},

system/CodeIgniter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class CodeIgniter
4747
/**
4848
* The current version of CodeIgniter Framework
4949
*/
50-
public const CI_VERSION = '4.2.8';
50+
public const CI_VERSION = '4.2.10';
5151

5252
/**
5353
* App startup time.

0 commit comments

Comments
 (0)