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

Dial fully for lando update #61

Merged
merged 3 commits into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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
16 changes: 11 additions & 5 deletions .github/workflows/pr-node-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ jobs:
- examples/10
- examples/12
- examples/14
- examples/16
- examples/18
- examples/18
- examples/19
lando-version:
- 3-dev
- 3-dev-slim
os:
- ubuntu-22.04
node-version:
Expand All @@ -32,9 +32,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-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,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 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-node-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/node/releases/tag/v1.0.0)
* Dialed fully for `lando update`

## v0.10.0 - [Dec 6, 2023](https://github.com/lando/node/releases/tag/v0.10.0)

* Refactored plugin structure and isolated. [#59](https://github.com/lando/node/pull/59)
Expand Down
Empty file.
4 changes: 2 additions & 2 deletions docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,14 @@ services:
command: npm start
```

An example of using a [build step](https://docs.lando.dev/config/services.html#build-steps) to automatically `yarn install` your dependencies before your app invokes `yarn start-app` is shown below:
An example of using a [build step](https://docs.lando.dev/config/services.html#build-steps) to automatically `npm install` your dependencies before your app invokes `yarn start-app` is shown below:

```yaml
services:
myservice:
type: node
build:
- yarn install
- npm install
command: yarn start-app
```

Expand Down
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/node.git && cd node
# 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/node/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/node
npm install @lando/node
# Will pull the most recent GitHub pre-release
yarn add @lando/node@edge
npm install @lando/node@edge
```

## Contribution
Expand Down
28 changes: 17 additions & 11 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,31 +60,37 @@ This plugin is included with Lando by default. That means if you have Lando vers
However if you would like to manually install the plugin, update it to the bleeding edge or install a particular version then use the below. Note that this installation method requires Lando `3.5.0+`.

:::: code-group
::: code-group-item LANDO 3.21+
```bash:no-line-numbers
lando plugin-add @lando/apache
```
:::
::: code-group-item HYPERDRIVE
```bash:no-line-numbers
# @TODO
# @NOTE: This doesn't actaully work yet
hyperdrive install @lando/apache
```
:::
::: code-group-item DOCKER
```bash:no-line-numbers
# Ensure you have a global plugins directory
mkdir -p ~/.lando/plugins

# Install plugin
# NOTE: Modify the "yarn add @lando/node" line to install a particular version eg
# yarn add @lando/[email protected]
# NOTE: Modify the "npm install @lando/node" line to install a particular version eg
# npm install @lando/[email protected]
docker run --rm -it -v ${HOME}/.lando/plugins:/plugins -w /tmp node:14-alpine sh -c \
"yarn init -y \
&& yarn add @lando/node --production --flat --no-default-rc --no-lockfile --link-duplicates \
&& yarn install --production --cwd /tmp/node_modules/@lando/node \
"npm init -y \
&& npm install @lando/node --production --flat --no-default-rc --no-lockfile --link-duplicates \
&& npm install --production --cwd /tmp/node_modules/@lando/node \
&& mkdir -p /plugins/@lando \
&& mv --force /tmp/node_modules/@lando/node /plugins/@lando/node"

# Rebuild the plugin cache
lando --clear
```
:::
::: code-group-item HYPERDRIVE
```bash:no-line-numbers
# @TODO
# @NOTE: This doesn't actaully work yet
hyperdrive install @lando/node
```
::::

You should be able to verify the plugin is installed by running `lando config --path plugins` and checking for `@lando/node`. This command will also show you _where_ the plugin is being loaded from.
2 changes: 1 addition & 1 deletion netlify.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[build]
base = "./"
publish = "docs/.vuepress/dist"
command = "yarn docs:build"
command = "npm run docs:build"

# Sets our asset optimization
[build.processing.css]
Expand Down
Loading
Loading