Skip to content

Commit

Permalink
update devops (#122)
Browse files Browse the repository at this point in the history
* update devops

* update linx

* standarize usage and fix wayward tests

* update linx
  • Loading branch information
pirog authored Sep 5, 2024
1 parent 34d3f9d commit 42165d2
Show file tree
Hide file tree
Showing 61 changed files with 135 additions and 108 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/build-php-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

jobs:
buildx:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
TERM: xterm
strategy:
Expand Down Expand Up @@ -103,10 +103,10 @@ jobs:
lando-plugin: true
version: dev
sync: false
- name: Setup lando 3-dev-slim
uses: lando/setup-lando@v2
- name: Setup lando 3-edge-slim
uses: lando/setup-lando@v3
with:
lando-version: 3-dev-slim
lando-version: 3-edge-slim
config: |
setup.skipCommonPlugins=true
setup.plugins.@lando/php=/home/runner/work/php/php
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-docs-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr-legacy-php5-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
- examples/5.5
- examples/5.6
lando-version:
- 3-dev-slim
- 3-edge-slim
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand All @@ -41,7 +41,7 @@ jobs:
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
uses: lando/setup-lando@v3
with:
lando-version: ${{ matrix.lando-version }}
config: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr-legacy-php7-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ jobs:
- examples/7.1
- examples/7.2
lando-version:
- 3-dev-slim
- 3-edge-slim
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand All @@ -40,7 +40,7 @@ jobs:
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
uses: lando/setup-lando@v3
with:
lando-version: ${{ matrix.lando-version }}
config: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr-php-extension-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ jobs:
leia-tests:
- examples/php-extensions
lando-version:
- 3-dev-slim
- 3-edge-slim
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand All @@ -37,7 +37,7 @@ jobs:
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
uses: lando/setup-lando@v3
with:
lando-version: ${{ matrix.lando-version }}
config: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr-php-other-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ jobs:
- examples/composer
- examples/xdebug
lando-version:
- 3-dev-slim
- 3-edge-slim
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand All @@ -40,7 +40,7 @@ jobs:
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
uses: lando/setup-lando@v3
with:
lando-version: ${{ matrix.lando-version }}
config: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr-php7-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ jobs:
- '7.3'
- '7.4'
lando-version:
- 3-dev-slim
- 3-edge-slim
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand All @@ -39,7 +39,7 @@ jobs:
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
uses: lando/setup-lando@v3
with:
lando-version: ${{ matrix.lando-version }}
config: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr-php8-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
- '8.2'
- '8.3'
lando-version:
- 3-dev-slim
- 3-edge-slim
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand All @@ -41,7 +41,7 @@ jobs:
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
uses: lando/setup-lando@v3
with:
lando-version: ${{ matrix.lando-version }}
config: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
matrix:
os:
- windows-2022
- ubuntu-22.04
- ubuntu-24.04
- macos-12
node-version:
- '18'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
matrix:
os:
- ubuntu-22.04
- ubuntu-24.04
node-version:
- '18'
steps:
Expand Down
28 changes: 19 additions & 9 deletions .lando.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
name: lando-php-plugin
name: docs.php
proxy:
cli:
- docs.php.lndo.site:5173
services:
node:
type: node:18
build:
- npm install
cli:
api: 4
image: node:18
command: sleep infinity
ports:
- 5173:5173/http
scanner: false
ssl: false
sslExpose: false
user: node
build:
app: |
npm install
tooling:
node:
service: node
service: cli
npm:
service: node
service: cli
vitepress:
service: cli
cmd: npx vitepress
46 changes: 32 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,58 @@
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})

## Internal

* Updated `ubuntu` test runners to `24.04`
* Updated `lando/setup-lando` to `v3`

## v1.3.0 - [March 8, 2024](https://github.com/lando/php/releases/tag/v1.3.0)
* Updated to latest database services.

* Updated to latest database services.

## v1.2.0 - [February 16, 2024](https://github.com/lando/php/releases/tag/v1.2.0)
* Get PHP image builds working to make PHP 8.3 images available. **Note Imagick is [temporarily unavailable](https://github.com/Imagick/imagick/pull/641)!**
* Stable version of xdebug for PHP 8.3. [#91](https://github.com/lando/php/pull/91)

* Get PHP image builds working to make PHP 8.3 images available. **Note Imagick is [temporarily unavailable](https://github.com/Imagick/imagick/pull/641)!**
* Stable version of xdebug for PHP 8.3. [#91](https://github.com/lando/php/pull/91)

## v1.1.0 - [January 29, 2024](https://github.com/lando/php/releases/tag/v1.1.0)
* Add support for PHP 8.3. [#77](https://github.com/lando/php/issues/77)

* Add support for PHP 8.3. [#77](https://github.com/lando/php/issues/77)

## v1.0.0 - [December 7, 2023](https://github.com/lando/php/releases/tag/v1.0.0)
* Dialed fully for `lando update`

* Dialed fully for `lando update`

## v0.10.2 - [November 28, 2023](https://github.com/lando/php/releases/tag/v0.10.2)
* Added option to override the image powering the service.
* Removed apparmor step from image building.

* Added option to override the image powering the service.
* Removed apparmor step from image building.

## v0.10.1 - [November 27, 2023](https://github.com/lando/php/releases/tag/v0.10.1)
* Removed relative references to dependencies.
* Added nginxServiceType option so other services can override the default `php-nginx` service with their own.

* Removed relative references to dependencies.
* Added nginxServiceType option so other services can override the default `php-nginx` service with their own.

## v0.10.0 - [November 21, 2023](https://github.com/lando/php/releases/tag/v0.10.0)
* Removed MultiViews from Apache config. [#66](https://github.com/lando/php/issues/66)
* Isolated PHP to work as a standalone service. [#78](https://github.com/lando/php/pull/78)

* Removed MultiViews from Apache config. [#66](https://github.com/lando/php/issues/66)
* Isolated PHP to work as a standalone service. [#78](https://github.com/lando/php/pull/78)

## v0.9.0 - [July 3, 2023](https://github.com/lando/php/releases/tag/v0.9.0)
* Removed bundle-dependencies and version-bump-prompt from plugin.
* Updated package to use prepare-release-action.
* Updated documentation to reflect new release process.

* Removed bundle-dependencies and version-bump-prompt from plugin.
* Updated package to use prepare-release-action.
* Updated documentation to reflect new release process.

## v0.8.0 - [April 17th, 2023](https://github.com/lando/php/releases/tag/v0.8.0)

* Bumped Redis plugin to redis-5.3.7. [#57](https://github.com/lando/php/pull/57)

## v0.7.1 - [January 6th, 2023](https://github.com/lando/php/releases/tag/v0.7.1)

* Added support for PHP 8.2 [#51](https://github.com/lando/php/pull/51)

## v0.7.0 - [December 12, 2022](https://github.com/lando/php/releases/tag/v0.7.0)

* Added bundle-dependencies to release process.
* Fixed bug in plugin dogfooding test.

Expand Down
8 changes: 4 additions & 4 deletions docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ description: Learn how to configure the Lando PHP service.

# Configuration

Here are the configuration options, set to the default values, for this service. If you are unsure about where this goes or what this means, we *highly recommend* scanning the [services documentation](https://docs.lando.dev/core/v3/lando-service.html) to get a good handle on how the magicks work.
Here are the configuration options, set to the default values, for this service. If you are unsure about where this goes or what this means, we *highly recommend* scanning the [services documentation](https://docs.lando.dev/core/v3/services/lando.html) to get a good handle on how the magicks work.

Also note that options, in addition to the [build steps](https://docs.lando.dev/core/v3/lando-service.html#build-steps) and [overrides](https://docs.lando.dev/core/v3/lando-service.html#overrides) that are available to every service, are shown below:
Also note that options, in addition to the [build steps](https://docs.lando.dev/core/v3/services/lando.html#build-steps) and [overrides](https://docs.lando.dev/core/v3/services/lando.html#overrides) that are available to every service, are shown below:

```yaml
services:
Expand Down Expand Up @@ -193,7 +193,7 @@ composer_version: snapshot
You can also use the `composer` key if you need to require any [global composer dependenices](https://getcomposer.org/doc/03-cli.md#require). This follows the same syntax as your normal [`composer.json`](https://getcomposer.org/doc/01-basic-usage.md#composer-json-project-setup) except written as YAML instead of JSON.

::: tip Use composer.json if you can
While there are some legitimate use cases to globally install a composer dependency, it is almost always preferred to install using your applications normal `composer.json` and then running either `lando composer install` or alternatively setting up a [build step](https://docs.lando.dev/core/v3/lando-service.html#build-steps) that will automatically run before your app starts up.
While there are some legitimate use cases to globally install a composer dependency, it is almost always preferred to install using your applications normal `composer.json` and then running either `lando composer install` or alternatively setting up a [build step](https://docs.lando.dev/core/v3/services/lando.html#build-steps) that will automatically run before your app starts up.

Note that `lando composer` is not provided out of the box by the `php` service and needs to be manually added by configuring your app's [tooling](https://docs.lando.dev/core/v3/tooling.html).
:::
Expand All @@ -208,7 +208,7 @@ services:
phpunit/phpunit: ^6.5
```

An example of using a [build step](https://docs.lando.dev/core/v3/lando-service.html#build-steps) to automatically `composer install` your dependencies before your app starts is shown below:
An example of using a [build step](https://docs.lando.dev/core/v3/services/lando.html#build-steps) to automatically `composer install` your dependencies before your app starts is shown below:

```yaml
services:
Expand Down
10 changes: 5 additions & 5 deletions docs/extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,19 +68,19 @@ description: Learn what extensions are installed in the Lando PHP plugin
Note that `xdebug` is off by default but you can enable it by setting your `php` services config to `xdebug: true`. Read more about this in "Configuration" above.

::: warning
Note that imagick is temporarily unavailable on PHP 8.3, due to a pending issue waiting to get released on the imagick project: https://github.com/Imagick/imagick/pull/641
Note that imagick is temporarily unavailable on PHP 8.3, due to a pending issue waiting to get released on the imagick project: https://github.com/Imagick/imagick/pull/641
:::


## Adding or removing extensions

There are a few ways you can extend or modify our php images below:

* Using [build steps](https://docs.lando.dev/core/v3/lando-service.html#build-steps).
* Using your own image with [service overrides](https://docs.lando.dev/core/v3/lando-service.html#overrides).
* Building from your own local Dockerfile [service overrides](https://docs.lando.dev/core/v3/lando-service.html#using-dockerfiles).
* Using [build steps](https://docs.lando.dev/core/v3/services/lando.html#build-steps).
* Using your own image with [service overrides](https://docs.lando.dev/core/v3/services/lando.html#overrides).
* Building from your own local Dockerfile [service overrides](https://docs.lando.dev/core/v3/services/lando.html#using-dockerfiles).

Consider the example that uses [build steps](https://docs.lando.dev/core/v3/lando-service.html#build-steps) to install the `memcached` php extension as follows:
Consider the example that uses [build steps](https://docs.lando.dev/core/v3/services/lando.html#build-steps) to install the `memcached` php extension as follows:

```yaml
services:
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/installing-extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Also note that you may need to adapt these slightly depending on the PHP version

## 1. Using build steps

If installing your PHP extension is fairly trivial and not a long-running operation you may wish to simply use Lando [build-steps](https://docs.lando.dev/core/v3/lando-service.html#build-steps)
If installing your PHP extension is fairly trivial and not a long-running operation you may wish to simply use Lando [build-steps](https://docs.lando.dev/core/v3/services/lando.html#build-steps)

Here is an example that uses build-steps to install the `xsl` and `stats` extensions.

Expand Down
4 changes: 2 additions & 2 deletions docs/guides/installing-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ We've found installing `node` inside a Lando PHP service to generally be the pat

## 1. Using build steps

Below is an example that installs `node12` using [build-steps](https://docs.lando.dev/core/v3/lando-service.html#build-steps).
Below is an example that installs `node12` using [build-steps](https://docs.lando.dev/core/v3/services/lando.html#build-steps).

```yaml
services:
Expand All @@ -52,7 +52,7 @@ lando npm -v

## 2. Extending a Dockerfile

If you are planning to extend your service with _additional_ build steps or would like to cache the build steps for a faster `lando rebuild` you should instead consider [extending with a Dockerfile](https://docs.lando.dev/core/v3/lando-service.html#using-dockerfiles) as in the example below:
If you are planning to extend your service with _additional_ build steps or would like to cache the build steps for a faster `lando rebuild` you should instead consider [extending with a Dockerfile](https://docs.lando.dev/core/v3/services/lando.html#using-dockerfiles) as in the example below:

**.lando.yml**

Expand Down
6 changes: 3 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ next: ./config.html

[PHP](https://www.php.net/) is a popular scripting language that is especially suited for web development. It is often served by either [apache](https://docs.lando.dev/plugins/apache/) or [nginx](https://docs.lando.dev/plugins/nginx/).

You can easily add it to your Lando app by adding an entry to the [services](https://docs.lando.dev/core/v3/lando-service.html) top-level config in your [Landofile](https://docs.lando.dev/core/v3).
You can easily add it to your Lando app by adding an entry to the [services](https://docs.lando.dev/core/v3/services/lando.html) top-level config in your [Landofile](https://docs.lando.dev/core/v3).

```yaml
services:
Expand All @@ -26,7 +26,7 @@ services:
* [8.0](https://hub.docker.com/r/devwithlando/php)
* **[7.4](https://hub.docker.com/r/devwithlando/php)** **(default)**
* [7.3](https://hub.docker.com/r/devwithlando/php)
* [custom](https://docs.lando.dev/core/v3/lando-service.html#overrides)
* [custom](https://docs.lando.dev/core/v3/services/lando.html#overrides)
## Legacy versions
Expand All @@ -48,5 +48,5 @@ You can still run these versions with Lando but for all intents and purposes the
Because we use our own custom images for `php`, specifying a patch version is not currently supported.

If you **really** need to lock down to a patch version, you could consider using either a [custom compose service](https://docs.lando.dev/plugins/compose) or a service [overrides](https://docs.lando.dev/core/v3/lando-service.html#overrides).
If you **really** need to lock down to a patch version, you could consider using either a [custom compose service](https://docs.lando.dev/plugins/compose) or a service [overrides](https://docs.lando.dev/core/v3/services/lando.html#overrides).

Loading

0 comments on commit 42165d2

Please sign in to comment.