Skip to content

Commit

Permalink
Merge back into a single lerna monorepo (#2892)
Browse files Browse the repository at this point in the history
* chore: use a single lerna monorepo

* chore: release API dependencies

* chore: fix selenium exporter

* chore: support old API versions

* chore: update changelog

* chore: remove peer api check

* chore: changelog

* chore: fix cache keys and paths

* chore: fix lint cache

* ci: install when cache misses

* chore: apply cache fix to webworker and web

* chore: apply cache fix to lint

* chore: revert peer api check removal

* chore: match peer and dev dependency versions for API

* chore: send full string to lerna exec

* chore: use npm script for peer api check

* chore: use MetricAttributes in metrics

* chore: use MetricAttributes when appropriate

Co-authored-by: Valentin Marchaud <[email protected]>
  • Loading branch information
dyladan and vmarchaud authored Apr 18, 2022
1 parent 7086d5a commit ed2f033
Show file tree
Hide file tree
Showing 106 changed files with 523 additions and 477 deletions.
20 changes: 6 additions & 14 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ on:

jobs:
build:
strategy:
fail-fast: false
matrix:
package-group: [".", "experimental"]
runs-on: ubuntu-latest

steps:
Expand All @@ -22,7 +18,6 @@ jobs:
- uses: actions/checkout@v2

- name: Lint changelog file
if: ${{ matrix.package-group == '.' }}
uses: avto-dev/markdown-lint@v1
with:
# Commenting due to
Expand All @@ -33,7 +28,6 @@ jobs:
args: "./CHANGELOG.md"

- name: Lint markdown files
if: ${{ matrix.package-group == '.' }}
uses: avto-dev/markdown-lint@v1
with:
args: "./**/*.md"
Expand All @@ -45,27 +39,25 @@ jobs:
with:
path: |
node_modules
experimental/node_modules
*/*/node_modules
experimental/*/*/node_modules
key: lint-${{ matrix.package-group }}-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('**/package.json') }}-20211216.2
package-lock.json
packages/*/node_modules
packages/*/package-lock.json
experimental/packages/*/node_modules
experimental/packages/*/package-lock.json
key: lint-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04142022

# On a cache miss, install dependencies
- name: Bootstrap
if: steps.cache.outputs.cache-hit != 'true'
working-directory: ${{ matrix.package-group }}
run: |
npm install --ignore-scripts
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js'
- name: Lint
working-directory: ${{ matrix.package-group }}
run: |
npm run lint
npm run lint:examples
- name: Lint doc files
if: ${{ matrix.package-group == '.' }}
run: |
npm run compile
NODE_OPTIONS=--max-old-space-size=4096 npm run docs
Expand Down
30 changes: 0 additions & 30 deletions .github/workflows/peer-api.yaml

This file was deleted.

26 changes: 26 additions & 0 deletions .github/workflows/peer-api.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Ensure API Peer Dependency

on:
push:
branches:
- main
pull_request:

jobs:
peer-api-check:
runs-on: ubuntu-latest
container:
image: node:14
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Install lerna
run: npm install -g lerna

- name: Install semver
run: npm install semver

- name: Check API dependency semantics
working-directory: packages
run: lerna run peer-api-check
163 changes: 23 additions & 140 deletions .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
pull_request:

jobs:
node-tests-stable:
node-tests:
strategy:
fail-fast: false
matrix:
Expand All @@ -28,11 +28,14 @@ jobs:
with:
path: |
node_modules
*/*/node_modules
key: node-tests-stable-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('**/package.json') }}
package-lock.json
packages/*/node_modules
packages/*/package-lock.json
experimental/packages/*/node_modules
experimental/packages/*/package-lock.json
key: node-tests-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04142022

- name: Bootstrap
if: steps.cache.outputs.cache-hit != 'true'
run: |
npm install --ignore-scripts
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests
Expand All @@ -46,7 +49,7 @@ jobs:
- name: Report Coverage
run: npm run codecov
if: ${{ matrix.node_version == '14' }}
browser-tests-stable:
browser-tests:
runs-on: ubuntu-latest
container:
image: circleci/node:16-browsers
Expand All @@ -59,16 +62,19 @@ jobs:
uses: actions/checkout@v2

- name: restore lerna
uses: actions/cache@v3
id: cache
uses: actions/cache@v3
with:
path: |
node_modules
*/*/node_modules
key: browser-tests-stable-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('**/package.json') }}
package-lock.json
packages/*/node_modules
packages/*/package-lock.json
experimental/packages/*/node_modules
experimental/packages/*/package-lock.json
key: browser-tests-${{ runner.os }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04142022

- name: Bootstrap
if: steps.cache.outputs.cache-hit != 'true'
run: |
npm install --ignore-scripts
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests
Expand All @@ -83,7 +89,7 @@ jobs:
run: npm run test:browser
- name: Report Coverage
run: npm run codecov:browser
webworker-tests-stable:
webworker-tests:
runs-on: ubuntu-latest
container:
image: circleci/node:14-browsers
Expand All @@ -95,154 +101,31 @@ jobs:
- name: Permission Setup
run: sudo chmod -R 777 /github /__w

- name: restore lerna
uses: actions/cache@v3
id: cache
with:
path: |
node_modules
*/*/node_modules
key: browser-tests-stable-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('**/package.json') }}

- name: Bootstrap
if: steps.cache.outputs.cache-hit != 'true'
run: |
npm install --ignore-scripts
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js'
- name: Build 🔧
run: |
npm run compile
# run additional compilation variants
npx lerna run compile
- name: Unit tests
run: npm run test:webworker
- name: Report Coverage
run: npm run codecov:webworker
node-tests-experimental:
strategy:
fail-fast: false
matrix:
node_version: ["8", "10", "12", "14", "16"]
runs-on: ubuntu-latest
env:
NPM_CONFIG_UNSAFE_PERM: true
steps:
- name: Checkout
uses: actions/checkout@v2

- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node_version }}

- name: restore lerna
id: cache
uses: actions/cache@v3
with:
path: |
experimental/node_modules
experimental/*/*/node_modules
key: node-tests-experimental-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('experimental/**/package.json') }}

- name: Bootstrap
if: steps.cache.outputs.cache-hit != 'true'
working-directory: experimental
run: |
npm install --ignore-scripts
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js'
- name: Build 🔧
working-directory: experimental
run: |
npm run compile
- name: Unit tests
working-directory: experimental
run: npm run test
- name: Report Coverage
working-directory: experimental
run: npm run codecov
if: ${{ matrix.node_version == '14' }}
browser-tests-experimental:
runs-on: ubuntu-latest
container:
image: circleci/node:16-browsers
env:
NPM_CONFIG_UNSAFE_PERM: true
steps:
- name: Permission Setup
run: sudo chmod -R 777 /github /__w
- name: Checkout
uses: actions/checkout@v2

- name: restore lerna
uses: actions/cache@v3
id: cache
with:
path: |
experimental/node_modules
experimental/*/*/node_modules
key: browser-tests-experimental-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('**/package.json') }}

- name: Bootstrap
if: steps.cache.outputs.cache-hit != 'true'
working-directory: experimental
run: |
npm install --ignore-scripts
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js'
- name: Build 🔧
working-directory: experimental
run: |
npm run compile
# run additional compilation variants
npx lerna run compile
- name: Unit tests
working-directory: experimental
run: npm run test:browser
- name: Report Coverage
working-directory: experimental
run: npm run codecov:browser
webworker-tests-experimental:
runs-on: ubuntu-latest
container:
image: circleci/node:14-browsers
env:
NPM_CONFIG_UNSAFE_PERM: true
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Permission Setup
run: sudo chmod -R 777 /github /__w

- name: restore lerna
uses: actions/cache@v3
id: cache
with:
path: |
experimental/node_modules
experimental/*/*/node_modules
key: browser-tests-experimental-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('**/package.json') }}
node_modules
package-lock.json
packages/*/node_modules
packages/*/package-lock.json
experimental/packages/*/node_modules
experimental/packages/*/package-lock.json
key: webworker-tests-${{ runner.os }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04142022

- name: Bootstrap
if: steps.cache.outputs.cache-hit != 'true'
working-directory: experimental
run: |
npm install --ignore-scripts
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js'
- name: Build 🔧
working-directory: experimental
run: |
npm run compile
# run additional compilation variants
npx lerna run compile
- name: Unit tests
working-directory: experimental
run: npm run test:webworker
- name: Report Coverage
working-directory: experimental
run: npm run codecov:webworker
9 changes: 6 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,18 @@ All notable changes to this project will be documented in this file.

### :bug: (Bug Fix)

* fix: sanitize attributes inputs #2881 @legendecas
* fix: sanitize attributes inputs [#2881](https:/open-telemetry/opentelemetry-js/pull/2881) @legendecas
* fix: support earlier API versions [#2892](https:/open-telemetry/opentelemetry-js/pull/2892) @dyladan

### :books: (Refine Doc)

* docs(sdk): update earliest support node version #2860 @svetlanabrennan
* docs(sdk): update earliest support node version [#2860](https:/open-telemetry/opentelemetry-js/pull/2860) @svetlanabrennan

### :house: (Internal)

* chore: require changelog entry to merge PR #2847 @dyladan
* chore: require changelog entry to merge PR [#2847](https:/open-telemetry/opentelemetry-js/pull/2847) @dyladan
* chore: remove peer API check [#2892](https:/open-telemetry/opentelemetry-js/pull/2892) @dyladan
* chore: merge lerna subdirectories into a single monorepo [#2892](https:/open-telemetry/opentelemetry-js/pull/2892) @dyladan

## 1.1.1

Expand Down
3 changes: 2 additions & 1 deletion experimental/backwards-compatability/node10/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "Backwards compatability app for node8 types and the OpenTelemetry Node.js SDK",
"main": "index.js",
"scripts": {
"test:backcompat": "tsc --noEmit index.ts && tsc --noEmit --esModuleInterop index.ts"
"test:backcompat": "tsc --noEmit index.ts && tsc --noEmit --esModuleInterop index.ts",
"peer-api-check": "node ../../../scripts/peer-api-check.js"
},
"dependencies": {
"@opentelemetry/sdk-node": "0.27.0",
Expand Down
3 changes: 3 additions & 0 deletions experimental/backwards-compatability/node10/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"index.ts"
],
"references": [
{
"path": "../../../packages/opentelemetry-sdk-trace-base"
},
{
"path": "../../packages/opentelemetry-sdk-node"
}
Expand Down
Loading

0 comments on commit ed2f033

Please sign in to comment.