Skip to content

Commit

Permalink
Convert repo to monorepo using npm workspaces and introduce web3-uti…
Browse files Browse the repository at this point in the history
…ls project (#481)

* Convert repo to monorepo using npm workspaces and introduce web3-utils project
  • Loading branch information
Ben-Rey authored Oct 16, 2023
1 parent 42ead6c commit c013b5a
Show file tree
Hide file tree
Showing 155 changed files with 14,931 additions and 14,692 deletions.
10 changes: 5 additions & 5 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
module.exports = {
extends: ['@massalabs'],
extends: ["@massalabs"],
rules: {
'tsdoc/syntax': 'warn',
'max-len': ['error', 200],
camelcase: 'off',
'@typescript-eslint/no-unused-vars': 'error',
"tsdoc/syntax": "warn",
"max-len": ["error", 200],
camelcase: "off",
"@typescript-eslint/no-unused-vars": "error",
},
};
28 changes: 0 additions & 28 deletions .github/workflows/gen-deploy-docs.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,14 @@ on:
push:
branches: [ main ]



jobs:
generate-code-snippets:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/massa-web3/

permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the changed files back to the repository.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
name: Smart contract example Deploy
name: (massa-web3) Smart contract example Deploy

on:
push:
branches:
- main

branches: [main]

jobs:
deploy-SC-example:
defaults:
run:
working-directory: ./examples/smartContracts/
working-directory: ./packages/massa-web3/examples/smartContracts/

runs-on: ubuntu-latest

Expand All @@ -23,13 +21,17 @@ jobs:
with:
node-version: "18"
cache: "npm"
cache-dependency-path: ./examples/smartContracts/contracts/package-lock.json
cache-dependency-path: ./packages/massa-web3/examples/smartContracts/contracts/package-lock.json

- name: Install dependencies
run: npm install
run: |
npm ci
working-directory: ./

- name: Build
run: npm run build
- name: Build workspace
run: |
npm run build
working-directory: ./

- name: Deploy
run: |
Expand All @@ -41,9 +43,9 @@ jobs:
exit 1
fi
env:
JSON_RPC_URL_PUBLIC: https://test.massa.net/api/v2
JSON_RPC_URL_PUBLIC: https://buildnet.massa.net/api/v2

JSON_RPC_URL_PRIVATE: https://test.massa.net/api/v2
JSON_RPC_URL_PRIVATE: https://buildnet.massa.net/api/v2

DEPLOYER_PRIVATE_KEY: S12srNEAvZrTb9pktYeuePpuM4taW5dfmWAZYtdqyETWTBspkoT1
RECEIVER_PRIVATE_KEY: S1ykLaxXyMnJoaWLYds8UntqKTamZ4vcxrZ1fdToR8WpWEpk3FC
24 changes: 0 additions & 24 deletions .github/workflows/node.js.yml

This file was deleted.

48 changes: 0 additions & 48 deletions .github/workflows/powered-by.yml

This file was deleted.

69 changes: 0 additions & 69 deletions .github/workflows/unit-test.yml

This file was deleted.

21 changes: 21 additions & 0 deletions .github/workflows/workspace-check-formatting-and-run-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: (workspace) Check Formatting and Run Tests

on:
push:
workflow_call:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: 18
cache: "npm"
- run: npm ci
- run: npm run build
- run: npm run fmt:check
- run: npm test
76 changes: 76 additions & 0 deletions .github/workflows/workspace-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: (workspace) Coverage

on:
push:
branches: [main, buildnet]

jobs:
build:
strategy:
matrix:
project: [massa-web3, web3-utils]

runs-on: ubuntu-latest

permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the changed files back to the repository.
contents: write

steps:
- name: Checkout code
uses: actions/checkout@v3
with:
# https://github.com/actions/checkout/issues/298#issuecomment-664976337
ref: ${{ github.head_ref }}
# Checkout code using massabot account
token: ${{ secrets.MASSABOTCLASSIC || github.token }}

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: "npm"

- name: Install Protoc
uses: arduino/setup-protoc@v1

- name: Install dependencies
run: |
npm ci
working-directory: ./

- name: Build workspace
run: |
npm run build
working-directory: ./

- name: allow access to coverage.sh
run: chmod +x ./scripts/coverage.sh
shell: bash

- name: Extract coverage
id: coverage
run: |
value=$(npm run test:cov -w @massalabs/${{ matrix.project }} | awk '/All files/ {print $10}' | tr -d '%')
echo "coverage=$value" >> $GITHUB_OUTPUT
- name: Add test coverage to README
run: ./scripts/coverage.sh
shell: bash
env:
COVERAGE: ${{ steps.coverage.outputs.coverage }}
PROJECT: ${{ matrix.project }}

- name: Check if coverage changed
id: check_coverage_changed
run: |
echo "::set-output name=coverage_changed::$(git diff --name-only README.md | grep -E '^README.md$')"
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
if: ${{ steps.check_coverage_changed.outputs.coverage_changed != '' }}
with:
commit_message: "Generate coverage badge"
file_pattern: "README.md"
# Commit code using massabot account that can bypass push and MR restriction
commit_author: massabot <[email protected]>
28 changes: 28 additions & 0 deletions .github/workflows/workspace-gen-deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: (workspace) Deploy documentation

on:
push:
tags:
- v*

jobs:
deploy-typedoc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Generate doc
run: |
npm ci
npm run doc
mv docs/documentation/html massa-web3
- name: Deploy files
uses: appleboy/scp-action@master
with:
host: ${{ secrets.MASSANET_HOST }}
username: ${{ secrets.MASSANET_USERNAME }}
key: ${{ secrets.MASSANET_SSHKEY }}
source: "./massa-web3"
target: "/var/www/type-doc"
Loading

0 comments on commit c013b5a

Please sign in to comment.