Skip to content

Commit

Permalink
Dial fully for lando update (#85)
Browse files Browse the repository at this point in the history
* Dial fully for `lando update`

* Update to node 18

* Manual yarn deprecation tasks.

* Bundle deps for building images.
  • Loading branch information
reynoldsalec committed Dec 8, 2023
1 parent c3ec2cd commit be5e5a2
Show file tree
Hide file tree
Showing 21 changed files with 9,193 additions and 4,543 deletions.
14 changes: 10 additions & 4 deletions .github/workflows/build-php-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
fail-fast: false
matrix:
lando-version:
- 3-dev
- 3-dev-slim
include:
- image: php
tag: 8.2-fpm-4
Expand Down Expand Up @@ -90,9 +90,15 @@ jobs:
with:
node-version: '18'
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Bundle Deps
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
with:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/pr-docs-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile

# Run tests
- name: Run linter
run: yarn docs:lint
run: npm run docs:lint
- name: Test build
run: yarn docs:build
run: npm run docs:build
14 changes: 10 additions & 4 deletions .github/workflows/pr-legacy-php5-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- examples/5.5
- examples/5.6
lando-version:
- 3-dev
- 3-dev-slim
os:
- ubuntu-22.04
node-version:
Expand All @@ -31,9 +31,15 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Bundle Deps
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
with:
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/pr-legacy-php7-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- examples/7.1
- examples/7.2
lando-version:
- 3-dev
- 3-dev-slim
os:
- ubuntu-22.04
node-version:
Expand All @@ -30,9 +30,15 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Bundle Deps
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/pr-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile

# Run the linter
- name: Run code linter
run: yarn lint
run: npm run lint
14 changes: 10 additions & 4 deletions .github/workflows/pr-php-extension-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
leia-tests:
- examples/php-extensions
lando-version:
- 3-dev
- 3-dev-slim
os:
- ubuntu-22.04
node-version:
Expand All @@ -27,9 +27,15 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Bundle Deps
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
with:
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/pr-php-other-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- examples/composer
- examples/xdebug
lando-version:
- 3-dev
- 3-dev-slim
os:
- ubuntu-22.04
node-version:
Expand All @@ -30,9 +30,15 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Bundle Deps
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
with:
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/pr-php7-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- '7.3'
- '7.4'
lando-version:
- 3-dev
- 3-dev-slim
os:
- ubuntu-22.04
node-version:
Expand All @@ -29,9 +29,15 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Bundle Deps
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
with:
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/pr-php8-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- '8.1'
- '8.2'
lando-version:
- 3-dev
- 3-dev-slim
os:
- ubuntu-22.04
node-version:
Expand All @@ -30,9 +30,15 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Bundle Deps
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
version: dev
sync: false
- name: Setup lando ${{ matrix.lando-version }}
uses: lando/setup-lando@v2
with:
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/pr-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,16 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Bundle Deps
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
version: dev
sync: false

# Run unit tests
- name: Run unit tests
run: yarn test:unit
run: npm run test:unit
12 changes: 6 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,19 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile
cache: npm
- name: Install NPM dependencies
run: npm clean-install --prefer-offline --frozen-lockfile

# Let's do tests rq just to make sure we dont push something that is fundamentally broken
- name: Lint code
run: yarn lint
run: npm run lint
- name: Run unit tests
run: yarn test:unit
run: npm run test:unit

# Prepare release.
- name: Prepare release
uses: lando/prepare-release-action@v2
uses: lando/prepare-release-action@v3
with:
lando-plugin: true

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,4 @@ _site
docs/.vuepress/.cache
docs/.vuepress/.temp
docs/.vuepress/dist
yarn.lock
6 changes: 3 additions & 3 deletions .lando.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: lando-php-plugin
services:
node:
type: node:14
type: node:18
build:
- yarn install
- npm install
scanner: false
ssl: false
sslExpose: false
tooling:
node:
service: node
yarn:
npm:
service: node
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
## v1.0.0 - [December 7, 2023](https://github.com/lando/php/releases/tag/v1.0.0)
* 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.
Expand Down
Empty file.
30 changes: 14 additions & 16 deletions docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,8 @@ At the very least you will need to have the following installed:
* [Lando 3.5.0+](https://docs.lando.dev/basics/installation.html), preferably installed [from source](https://docs.lando.dev/basics/installation.html#from-source).
* [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)

While not a hard requirement it's also probably a good idea to install both `node` 14 and `yarn`

* [Node 14](https://nodejs.org/dist/latest-v14.x/)
* [Yarn](https://classic.yarnpkg.com/lang/en/docs/install)
While not a hard requirement it's also probably a good idea to install `node` 18
* [Node 18](https://nodejs.org/dist/latest-v18.x/)

## Installation

Expand All @@ -28,8 +26,8 @@ git clone https://github.com/lando/php.git && cd php
# Install dependencies with lando
lando start

# Or install them with yarn
yarn
# Or install them with npm
npm install
```

## Working
Expand Down Expand Up @@ -60,10 +58,10 @@ If you want to help with contributing documentation here are some useful command

```bash
# launch local docs site
yarn docs:dev
npm run docs:dev

# build docs locally
yarn docs:build
npm run docs:build
```

If you are more interested in the internals of the docs they use [VuePress2](https://v2.vuepress.vuejs.org/) and our [Special theme](https://vuepress-theme-default-plus.lando.dev).
Expand All @@ -88,7 +86,7 @@ And then you can run the tests with the below.

```bash
# Run unit tests
yarn test:unit
npm run test:unit
```

### Leia Tests
Expand All @@ -115,21 +113,21 @@ Destroy tests
lando destroy -y
```

Note that the headers here are important and are defined in our `yarn generate:tests` script. The _Start up tests_ header specifies things that should run before the main series of tests. _Verification commands_ is the main body of tests and is required. _Destroy tests_ specifies any needed clean up commands to run.
Note that the headers here are important and are defined in our `npm run generate:tests` script. The _Start up tests_ header specifies things that should run before the main series of tests. _Verification commands_ is the main body of tests and is required. _Destroy tests_ specifies any needed clean up commands to run.

If you check out the various READMEs in our [examples](https://github.com/lando/php/tree/main/examples) you will notice that they are all Leia tests.

Before running all or some of the tests you will need to generate them.

```bash
# Generate tests
yarn generate:tests
npm run generate:tests

# Run ALL the tests, this will likely take a long time
yarn test:leia
npm run test:leia

# Run the tests for a single example
yarn leia examples/mariadb-10.2/README.md -c 'Destroy tests'
npm run leia examples/mariadb-10.2/README.md -c 'Destroy tests'
```

If you've created new testable examples then you will also need to let GitHub Actions know so they can run on pull requests.
Expand All @@ -145,7 +143,7 @@ jobs:
matrix:
leia-tests:
# This should be the filename, without .leia.js extension in the test directory
# NOTE that you will need to run yarn generate:tests to see these
# NOTE that you will need to run npm run generate:tests to see these
- test: platform-sh-maria-db-10-1-example
# This should be the directory that the test was generated from
source: examples/mariadb-10.2
Expand All @@ -165,9 +163,9 @@ Also note that if you create a "pre-release" it will tag the `npm` package with

```bash
# Will pull the most recent GitHub release
yarn add @lando/php
npm install @lando/php
# Will pull the most recent GitHub pre-release
yarn add @lando/php@edge
npm install @lando/php@edge
```

## Contribution
Expand Down
Loading

0 comments on commit be5e5a2

Please sign in to comment.