Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Admin/scripts #1553

Merged
merged 12 commits into from
Nov 30, 2018
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
CodeIgniter is a PHP full-stack web framework that is light, fast, flexible, and secure.
More information can be found at the [official site](http://codeigniter.com).

This repository holds the pre-alpha code for CodeIgniter 4 only.
This repository holds the alpha code for CodeIgniter 4 only.
Version 4 is a complete rewrite to bring the quality and the code into a more modern version,
while still keeping as many of the things intact that has made people love the framework over the years.

Expand Down
40 changes: 27 additions & 13 deletions admin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This folder contains tools or docs useful for project maintainers.

##Repositories Organization, inside https://github.com/codeigniter4
##Repositories inside https://github.com/codeigniter4

- **CodeIgniter4** is the main development repository.
It supports issues and pull requests, and has a rule to enforce GPG-signed commits.
Expand All @@ -23,7 +23,7 @@ This folder contains tools or docs useful for project maintainers.
- **userguide** is released documentation publishing repository.
It contains built versions of the user guide, corresponding to the
framework releases.
It could be downloaded, forked or composer-installed.
It could be downloaded, forked or potentially composer-installed.
This is a read-only repository.

- **coding-standard** is the coding style standards repository.
Expand All @@ -45,6 +45,7 @@ This folder contains tools or docs useful for project maintainers.

##Maintainer Scripts

- **release-config** holds variables used for the maintainer & release building
- **docbot** re-builds the user guide from the RST source for it,
and optionally deploys it to the `gh-pages` branch of the main
repository (if the user running it has maintainer rights on that repo).
Expand All @@ -55,22 +56,35 @@ This folder contains tools or docs useful for project maintainers.
The release workflow is detailed in its own writeup; these are the main
scripts used by the release manager:

- **pre-release** builds a new release branch in the main repo, for vetting.
- **release** builds a new release branch in the main repo, for vetting.
This includes updating version dependencies or constants,
generating version(s) of the user guide; and possibly
moving or ignoring stuff, distinguishing release from development.
If successful, it will leave a `releasing` file, with the version number
in it.
- **release** builds release branches for the derived repositories
(framework, appstarter and userguide).
These are pushed to the respective repositories (if the user has maintainer
rights), but the actual associated releases are created on github.com manually, so
that additional binaries can be added to the release if appropriate.
- **post-release** cleans up after a release, eg. setting up the changelog for
the next release.
If successful, it will update the `config` file, with the version number
in it, and it will run the related scripts following, to revise
the release distributions.
Usage: `admin/release version qualifier`
- **release-framework** builds the distributable framework repo.
It could be used on its own, but is normally part of `release`.
- **release-appstarter** builds the distributable appstarter repo.
It could be used on its own, but is normally part of `release`.
- **release-userguide** builds the distributable userguide repo.
It could be used on its own, but is normally part of `release`.
- **release-deploy** pushes the release changes to the appropriate github
repositories. Tag & create releases on github. This is not easily reversible!
Usage: `admin/release-deploy version qualifier`
- **release-revert** can be used to restore your repositories to the state they
were in before you started a release. **IF** you haven't deployed.
This is in case you decide not to proceed with the release, for any reason.
Remember to be polite when running it.


##Other Stuff

- **release-notes.bb** is a boilerplate for forum announcements of a new release.
It is marked up using [BBcode](https://en.wikipedia.org/wiki/BBCode).
It is marked up using [BBcode](https://en.wikipedia.org/wiki/BBCode).
- The **framework** and **starter** subfolders contain files that will over-ride
those from the development repository, when the distribution repositories
are built.
- The subfolders inside `admin` contain "next release" files in the case of
`codeigniter4` and over-written distribution files in the other cases.
2 changes: 1 addition & 1 deletion admin/docbot
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Rebuild and deploy CodeIgniter4 user guide

UPSTREAM=https://github.com/codeigniter4/CodeIgniter4.git
. config

# Prepare the nested repo clone folder
cd user_guide_src
Expand Down
69 changes: 69 additions & 0 deletions admin/framework/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# CodeIgniter 4 Framework

## What is CodeIgniter?
CodeIgniter is a PHP full-stack web framework that is light, fast, flexible, and secure.
More information can be found at the [official site](http://codeigniter.com).

This repository holds the distributable version of the framework,
including the user guide. It has been built from the
[development repository](https://github.com/codeigniter4/CodeIgniter4).

**This is pre-release code and should not be used in production sites.**

More information about the plans for version 4 can be found in [the announcement](http://forum.codeigniter.com/thread-62615.html) on the forums.

The user guide corresponding to this version of the framework can be found
[here](https://codeigniter4.github.io/userguide/).


## Important Change with index.php

`index.php` is no longer in the root of the project! It has been moved inside the *public* folder,
for better security and separation of components.

This means that you should configure your web server to "point" to your project's *public* folder, and
not to the project root. A better practice would be to configure a virtual host to point there. A poor practice would be to point your web server to the project root and expect to enter *public/...*, as the rest of your logic and the
framework are exposed.

**Please** read the user guide for a better explanation of how CI4 works!
The user guide updating and deployment is a bit awkward at the moment, but we are working on it!

## Repository Management
We use Github issues to track **BUGS** and to track approved **DEVELOPMENT** work packages.
We use our [forum](http://forum.codeigniter.com) to provide SUPPORT and to discuss
FEATURE REQUESTS.

If you raise an issue here that pertains to support or a feature request, it will
be closed! If you are not sure if you have found a bug, raise a thread on the forum first -
someone else may have encountered the same thing.

Before raising a new Github issue, please check that your bug hasn't already
been reported or fixed.

We use pull requests (PRs) for CONTRIBUTIONS to the repository.
We are looking for contributions that address one of the reported bugs or
approved work packages.

Do not use a PR as a form of feature request.
Unsolicited contributions will only be considered if they fit nicely
into the framework roadmap.
Remember that some components that were part of CodeIgniter 3 are being moved
to optional packages, with their own repository.

## Contributing
We welcome contributions from the community.

Please read the [*Contributing to CodeIgniter*](https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing.md) section in the development repository.

## Server Requirements
PHP version 7.1 or higher is required, with the following extensions installed:

- [intl](http://php.net/manual/en/intl.requirements.php)
- [libcurl](http://php.net/manual/en/curl.requirements.php) if you plan to use the HTTP\CURLRequest library

Additionally, make sure that the following extensions are enabled in your PHP:

- json (enabled by default - don't turn it off)
- [mbstring](http://php.net/manual/en/mbstring.installation.php)
- [mysqlnd](http://php.net/manual/en/mysqlnd.install.php)
- xml (enabled by default - don't turn it off)
38 changes: 38 additions & 0 deletions admin/framework/composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"name": "codeigniter4/framework",
"type": "project",
"description": "The CodeIgniter framework v4",
"homepage": "https://codeigniter.com",
"license": "MIT",
"require": {
"php": ">=7.1",
"ext-curl": "*",
"ext-intl": "*",
"kint-php/kint": "^2.1",
"zendframework/zend-escaper": "^2.5"
},
"require-dev": {
"codeigniter4/codeigniter4-standard": "^1.0",
"mikey179/vfsStream": "1.6.*",
"phpunit/phpunit": "^7.0",
"squizlabs/php_codesniffer": "^3.3"
},
"autoload": {
"psr-4": {
"CodeIgniter\\": "system/",
"Psr\\Log\\": "system/ThirdParty/PSR/Log/"
}
},
"scripts": {
"post-update-cmd": [
"composer dump-autoload",
"CodeIgniter\\ComposerScripts::postUpdate",
"bash admin/setup.sh"
]
},
"support": {
"forum": "http://forum.codeigniter.com/",
"source": "https://github.com/codeigniter4/CodeIgniter4",
"slack": "https://codeigniterchat.slack.com"
}
}
28 changes: 28 additions & 0 deletions admin/framework/phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="tests/_support/_bootstrap.php"
backupGlobals="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
stopOnSkipped="false">
<testsuites>
<testsuite name="app">
<directory>./tests</directory>
<exclude>./tests/system</exclude>
</testsuite>
</testsuites>

<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./system</directory>
<exclude>
<directory>./system</directory>
</exclude>
</whitelist>
</filter>

</phpunit>
92 changes: 0 additions & 92 deletions admin/post_release

This file was deleted.

Loading