Skip to content

Commit

Permalink
#25: Lint and unit tests on GitHub Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
pirog committed Aug 12, 2021
1 parent 0b11ca4 commit 5b1dbfb
Show file tree
Hide file tree
Showing 9 changed files with 122 additions and 609 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/pr-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Lint Code

on:
pull_request:

jobs:
tests:
runs-on: ${{ matrix.os }}
env:
TERM: xterm
strategy:
matrix:
os:
- ubuntu-20.04
node-version:
- '14'
# @TODO: Use leia for functional testing
# leia-tests:
# - apache-example
steps:
# Install deps and cache
# Eventually it would be great if these steps could live in a separate YAML file
# that could be included in line to avoid code duplication
- name: Checkout code
uses: actions/checkout@v2
- name: Install node ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: Get Yarn cache directory
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Use Yarn cache
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile

# Lint Code
- name: Lint code
run: yarn test
46 changes: 46 additions & 0 deletions .github/workflows/pr-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Run Unit Tests

on:
pull_request:

jobs:
tests:
runs-on: ${{ matrix.os }}
env:
TERM: xterm
strategy:
matrix:
os:
- macos-10.15
- ubuntu-20.04
- windows-2019
node-version:
- '14'
# @TODO: Use leia for functional testing
# leia-tests:
# - apache-example
steps:
# Install deps and cache
# Eventually it would be great if these steps could live in a separate YAML file
# that could be included in line to avoid code duplication
- name: Checkout code
uses: actions/checkout@v2
- name: Install node ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: Get Yarn cache directory
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Use Yarn cache
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}
- name: Install Yarn dependencies
run: yarn install --prefer-offline --frozen-lockfile

# Run unit tests
- name: Run units tests
run: yarn test
6 changes: 3 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
v0.7.0-alpha.1 [August 6, 2021](https://github.com/lando/hyperdrive/releases/tag/v0.7.0-alpha.1)
---------------------
v0.7.0-alpha.1
--------------

As of this release `hyperdrive` is expanding in scope to be a proper package and dependency management tool for `lando`. Check out the [README](https://github.com/lando/hyperdrive/blob/main/README.md) for details on `hyperdrives` new mission and purpose.

* Expanded scope and clarified purpose of `hyperdrive`
* Rebased in `oclif` framework
* Rebased on `oclif` framework
* Setup basic DevOps flow for future dev

v0.6.2 [May 10, 2021](https://github.com/lando/hyperdrive/releases/tag/v0.6.2)
Expand Down
9 changes: 0 additions & 9 deletions CONTRIBUTING.md

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Hyperdrive

Hyperdrive is the `npm` of Lando. Its purpose is to consolidate dependency and plugin management logic that exists across the Lando ecosystem into a single library that can be invoked directly through `require` or via the `hyperdrive` cli. With Hyperdrive you should be able to:

* Install, remove and correctly configure Lando dependencies like Docker
* Install remove and correctly configure Lando dependencies like Docker
* Install and remove Lando components like the Lando Desktop, Lando CLI and Lando Server
* Install and remove core, contrib and third-part Lando plugins

Expand Down
5 changes: 3 additions & 2 deletions bin/run
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env node

require('@oclif/command').run()
require('@oclif/command')
.run()
.then(require('@oclif/command/flush'))
.catch(require('@oclif/errors/handle'))
.catch(require('@oclif/errors/handle'));
43 changes: 0 additions & 43 deletions build.sh

This file was deleted.

10 changes: 3 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"@oclif/plugin-help": "^3"
},
"devDependencies": {
"@oclif/dev-cli": "^1",
"@oclif/test": "^1",
"chai": "^4",
"eslint": "^5.13",
Expand All @@ -23,16 +22,16 @@
"nyc": "^14"
},
"engines": {
"node": ">=8.0.0"
"node": ">=14.0.0"
},
"files": [
"/bin",
"/npm-shrinkwrap.json",
"/oclif.manifest.json",
"/src"
],
"homepage": "https://github.com/lando/hyperdrive",
"keywords": [
"lando",
"oclif"
],
"license": "GPL-3.0",
Expand All @@ -46,10 +45,7 @@
},
"repository": "lando/hyperdrive",
"scripts": {
"postpack": "rm -f oclif.manifest.json",
"lint": "eslint .",
"prepack": "oclif-dev manifest && oclif-dev readme",
"test": "nyc mocha --forbid-only \"test/**/*.test.js\"",
"version": "oclif-dev readme && git add README.md"
"test": "nyc mocha --forbid-only \"test/**/*.test.js\""
}
}
Loading

0 comments on commit 5b1dbfb

Please sign in to comment.