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

feat: integrate matchstick into the graph CLI #1549

Open
wants to merge 122 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
8c543eb
run matchstick as napi bindings instead of downloading binary
YassinEldeeb Jul 15, 2024
464c9b8
chore: lint
YassinEldeeb Jul 15, 2024
e42019a
chore: ignore eslint
YassinEldeeb Jul 15, 2024
ddf4266
ignore
YassinEldeeb Jul 15, 2024
fac921f
chore: ignore eslint
YassinEldeeb Jul 15, 2024
ff9f02c
release CI
YassinEldeeb Jul 15, 2024
e31718b
setup pnpm
YassinEldeeb Jul 15, 2024
b108604
fix prettier
YassinEldeeb Jul 15, 2024
03c3de7
workdir
YassinEldeeb Jul 15, 2024
cd3a09a
change workdir
YassinEldeeb Jul 15, 2024
a3fd49b
needs
YassinEldeeb Jul 15, 2024
0d75b7c
install protoc
YassinEldeeb Jul 15, 2024
2f6d26b
fix release
YassinEldeeb Jul 15, 2024
58acf02
fix CI
YassinEldeeb Jul 15, 2024
4c9bb2f
chore: fix format and clippy
YassinEldeeb Jul 15, 2024
7f21404
fix
YassinEldeeb Jul 15, 2024
9be99ff
install openssl
YassinEldeeb Jul 15, 2024
4eb433d
fix
YassinEldeeb Jul 15, 2024
7e9f73f
install pq on macos
YassinEldeeb Jul 15, 2024
34c7b87
fix
YassinEldeeb Jul 15, 2024
976b8da
fixes
YassinEldeeb Jul 15, 2024
0582de5
fix
YassinEldeeb Jul 15, 2024
98072aa
fix
YassinEldeeb Jul 15, 2024
c0a73b8
fix
YassinEldeeb Jul 15, 2024
13b302f
debug
YassinEldeeb Jul 15, 2024
54747d8
debug
YassinEldeeb Jul 15, 2024
24db6ba
debug
YassinEldeeb Jul 15, 2024
1fe3ccc
try
YassinEldeeb Jul 15, 2024
6c18bdf
fix
YassinEldeeb Jul 15, 2024
0cee050
debug
YassinEldeeb Jul 15, 2024
f9d67b7
try this
YassinEldeeb Jul 15, 2024
e7f4fb9
fix
YassinEldeeb Jul 15, 2024
503272c
debug
YassinEldeeb Jul 15, 2024
0ec9fc8
debug
YassinEldeeb Jul 15, 2024
3d69604
upload correctly
YassinEldeeb Jul 15, 2024
44a368f
fix
YassinEldeeb Jul 15, 2024
877b6cc
fix
YassinEldeeb Jul 15, 2024
5c9eb92
fix
YassinEldeeb Jul 15, 2024
406767b
fix
YassinEldeeb Jul 15, 2024
ccf9e3e
debug
YassinEldeeb Jul 15, 2024
f0da6ff
remove windows temp
YassinEldeeb Jul 15, 2024
b1d7967
cache custom openssl
YassinEldeeb Jul 15, 2024
19c7c47
cache build
YassinEldeeb Jul 15, 2024
91a7f72
fix
YassinEldeeb Jul 15, 2024
d00937c
add url
YassinEldeeb Jul 15, 2024
22eca7e
fix cache
YassinEldeeb Jul 15, 2024
b4860c1
fix urls
YassinEldeeb Jul 15, 2024
6cf8cef
fix urls
YassinEldeeb Jul 15, 2024
08653a1
finalize
YassinEldeeb Jul 16, 2024
87b2fb9
update lock
YassinEldeeb Jul 16, 2024
7f36943
change pnpm version to 9.5.0
YassinEldeeb Jul 16, 2024
cb9c33e
cleanup
YassinEldeeb Jul 16, 2024
5c7b10c
fix
YassinEldeeb Jul 16, 2024
6013c84
fix
YassinEldeeb Jul 16, 2024
6f555f0
fix
YassinEldeeb Jul 16, 2024
2d8f548
fix
YassinEldeeb Jul 16, 2024
d4ceb36
upgrade version
YassinEldeeb Jul 16, 2024
beb4f80
fixes
YassinEldeeb Jul 16, 2024
f32a8a1
fix needs
YassinEldeeb Jul 16, 2024
3b68c2a
apply suggessions
YassinEldeeb Jul 16, 2024
f787d6b
bump rustc version
YassinEldeeb Jul 16, 2024
7a20790
fix checkout
YassinEldeeb Jul 16, 2024
eaf09be
checkout v4
YassinEldeeb Jul 16, 2024
dbb49fb
fix
YassinEldeeb Jul 16, 2024
cec7c97
fix path
YassinEldeeb Jul 16, 2024
2f487a4
scoped exports
YassinEldeeb Jul 16, 2024
509f651
run scope exports after build
YassinEldeeb Jul 16, 2024
4444ea6
fixes
YassinEldeeb Jul 16, 2024
9960ad3
release
YassinEldeeb Jul 16, 2024
5d85eb5
chore: lint
YassinEldeeb Jul 16, 2024
2db41b6
fix lint
YassinEldeeb Jul 16, 2024
c7fb38a
trigger alpha release
YassinEldeeb Jul 16, 2024
79e3408
fix
YassinEldeeb Jul 16, 2024
d878dfa
fix
YassinEldeeb Jul 16, 2024
f0535ed
Update .github/workflows/rust.yml
YassinEldeeb Jul 16, 2024
1ae948b
rename matchstick folder to napi-utils
YassinEldeeb Jul 18, 2024
6478536
chore(dependencies): updated changesets for modified dependencies
github-actions[bot] Jul 18, 2024
d53d18c
release
YassinEldeeb Jul 18, 2024
28e9e6c
fix
YassinEldeeb Jul 18, 2024
9a317bb
fix
YassinEldeeb Jul 18, 2024
891dbd9
fix
YassinEldeeb Jul 18, 2024
fc16281
fix ci
YassinEldeeb Jul 18, 2024
3e64354
alpha cli version
YassinEldeeb Jul 18, 2024
bfab548
fix
YassinEldeeb Jul 18, 2024
7bcaf7c
fix
YassinEldeeb Jul 18, 2024
c6d03be
release
YassinEldeeb Jul 18, 2024
017c69c
chore(dependencies): updated changesets for modified dependencies
github-actions[bot] Jul 18, 2024
311798c
fix
YassinEldeeb Jul 18, 2024
5bc1fa6
change os
YassinEldeeb Jul 18, 2024
e69ea46
fix
YassinEldeeb Jul 18, 2024
3172cd8
fix
YassinEldeeb Jul 18, 2024
da8ef3a
fix
YassinEldeeb Jul 18, 2024
983b648
debug
YassinEldeeb Jul 19, 2024
065d3ea
debug: log file permmissions
YassinEldeeb Jul 19, 2024
2d64e57
revert + debug
YassinEldeeb Jul 19, 2024
5b3ae4d
push wasm files
YassinEldeeb Jul 19, 2024
d7c1730
release universal
YassinEldeeb Jul 19, 2024
32f4632
fix
YassinEldeeb Jul 19, 2024
53028a2
setup node
YassinEldeeb Jul 19, 2024
83c4539
fix
YassinEldeeb Jul 19, 2024
3f20cb8
fix
YassinEldeeb Jul 19, 2024
98a7136
update pnpm lock file
YassinEldeeb Jul 19, 2024
79f5d23
fix
YassinEldeeb Jul 19, 2024
1392a18
fix
YassinEldeeb Jul 22, 2024
bdbb475
fix
YassinEldeeb Jul 22, 2024
bdec2fc
fix
YassinEldeeb Jul 22, 2024
bc02c40
fix
YassinEldeeb Jul 22, 2024
3cd907a
fix
YassinEldeeb Jul 22, 2024
c8bc3f7
fix
YassinEldeeb Jul 22, 2024
58a8fb2
fix
YassinEldeeb Jul 22, 2024
f82e95f
fix
YassinEldeeb Jul 22, 2024
58fb13d
fix
YassinEldeeb Jul 22, 2024
178b136
fix versions
YassinEldeeb Jul 22, 2024
04cd0d3
fix
YassinEldeeb Jul 22, 2024
f5b52ca
finalize
YassinEldeeb Jul 22, 2024
2b3aafa
chore: lint
YassinEldeeb Jul 22, 2024
12bf15a
fix
YassinEldeeb Jul 22, 2024
b89fbf8
Update packages/napi-utils/Cargo.toml
YassinEldeeb Jul 23, 2024
449b10d
final fixes
YassinEldeeb Jul 29, 2024
44de51b
chore(dependencies): updated changesets for modified dependencies
github-actions[bot] Jul 29, 2024
d8eb044
fix names
YassinEldeeb Jul 29, 2024
cf29a94
update lock
YassinEldeeb Jul 29, 2024
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
6 changes: 6 additions & 0 deletions .changeset/@graphprotocol_graph-cli-1549-dependencies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@graphprotocol/graph-cli": patch
---
dependencies updates:
- Added dependency [`@graphprotocol/[email protected]` ↗︎](https://www.npmjs.com/package/@graphprotocol/graph-tooling-napi-utils/v/0.1.0) (to `dependencies`)
- Removed dependency [`[email protected]` ↗︎](https://www.npmjs.com/package/binary-install-raw/v/0.0.13) (from `dependencies`)
3 changes: 2 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ dist
build
generated
packages/cli/tests/cli/init
packages/cli/tests/cli/validation
packages/cli/tests/cli/validation/
packages/napi-utils/mocks/**/*

# TODO: cleanup examples and lint
examples
Expand Down
79 changes: 68 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Tests
env:
NODE_NO_WARNINGS: true
SKIP_PREBUILD: true
on:
push:
branches:
Expand All @@ -13,36 +14,80 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- uses: the-guild-org/shared-config/setup@main
name: Setup Env
with:
nodeVersion: 20
packageManager: pnpm
packageManagerVersion: 9.1.0
packageManagerVersion: 9.5.0

- name: Lint
run: pnpm lint

build-napi-utils:
name: Build Napi Utils
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.77.0

- uses: the-guild-org/shared-config/setup@main
name: Setup Env
with:
nodeVersion: 20
packageManager: pnpm
packageManagerVersion: 9.5.0

- name: Install Dependencies
run: pnpm install

- name: Install testing util system dependencies
working-directory: packages/napi-utils
run: |
sudo apt-get update
sudo apt-get -y install libpq-dev protobuf-compiler

- name: Build Napi Utils Package
run: pnpm --filter=@graphprotocol/graph-tooling-napi-utils build

- name: Upload Napi Utils Build Artifacts
uses: actions/upload-artifact@v3
with:
name: napi-utils-build
path: |
packages/napi-utils/graph-napi-utils.*.node
packages/napi-utils/index.js

cli:
name: CLI / nodejs v${{ matrix.node-version }}
runs-on: ubuntu-latest
needs: [lint]
needs: [lint, build-napi-utils]
strategy:
fail-fast: false
matrix:
node-version: [18, 20, 22]
steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Download Napi Utils Build Artifacts
uses: actions/download-artifact@v3
with:
name: napi-utils-build
path: packages/napi-utils/

- uses: the-guild-org/shared-config/setup@main
name: Setup Env
with:
nodeVersion: ${{ matrix.node-version }}
packageManager: pnpm
packageManagerVersion: 9.1.0
packageManagerVersion: 9.5.0

- name: Setup git user information
run: |
Expand All @@ -61,18 +106,24 @@ jobs:

event-handler:
name: Ethereum Basic Event Handlers
needs: [lint]
needs: [lint, build-napi-utils]
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Download Napi Utils Build Artifacts
uses: actions/download-artifact@v3
with:
name: napi-utils-build
path: packages/napi-utils/

- uses: the-guild-org/shared-config/setup@main
name: Setup Env
with:
nodeVersion: 20
packageManager: pnpm
packageManagerVersion: 9.1.0
packageManagerVersion: 9.5.0

- name: Build Packages
run: pnpm build
Expand All @@ -89,18 +140,24 @@ jobs:

ts:
name: Graph TS
needs: [lint]
needs: [lint, build-napi-utils]
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Download Napi Utils Build Artifacts
uses: actions/download-artifact@v3
with:
name: napi-utils-build
path: packages/napi-utils/

- uses: the-guild-org/shared-config/setup@main
name: Setup Env
with:
nodeVersion: 20
packageManager: pnpm
packageManagerVersion: 9.1.0
packageManagerVersion: 9.5.0

- name: Build Packages
run: pnpm build # will also check types
Expand Down
97 changes: 76 additions & 21 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,83 @@ jobs:
githubToken: ${{ secrets.GITHUB_TOKEN }}

alpha:
uses: the-guild-org/shared-config/.github/workflows/release-snapshot.yml@main
runs-on: ubuntu-22.04
if: ${{ github.event.pull_request.title != 'Upcoming Release Changes' }}
with:
npmTag: alpha
buildScript: build
nodeVersion: 20
packageManager: pnpm
packageManagerVersion: 9.1.0
secrets:
githubToken: ${{ secrets.GITHUB_TOKEN }}
npmToken: ${{ secrets.NPM_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}

- uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.77.0

- name: Install dependencies
working-directory: packages/napi-utils
run: |
sudo apt-get update
sudo apt-get -y install libpq-dev protobuf-compiler

- name: Setup Environment
uses: the-guild-org/shared-config/setup@main
with:
nodeVersion: 20
packageManager: pnpm
packageManagerVersion: 9.5.0

- name: Alpha release
id: changesets
uses: the-guild-org/[email protected]
with:
tag: alpha
prepareScript: 'pnpm run build'
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

release-candidate:
uses: the-guild-org/shared-config/.github/workflows/release-snapshot.yml@main
runs-on: ubuntu-22.04
if: ${{ github.event.pull_request.title == 'Upcoming Release Changes' }}
with:
npmTag: rc
buildScript: build
nodeVersion: 20
packageManager: pnpm
packageManagerVersion: 9.1.0
restoreDeletedChangesets: true
secrets:
githubToken: ${{ secrets.GITHUB_TOKEN }}
npmToken: ${{ secrets.NPM_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}

- uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.77.0

- name: Install dependencies
working-directory: packages/napi-utils
run: |
sudo apt-get update
sudo apt-get -y install libpq-dev protobuf-compiler

- name: Setup Environment
uses: the-guild-org/shared-config/setup@main
with:
nodeVersion: 20
packageManager: pnpm
packageManagerVersion: 9.5.0

- name: Exit Prerelease Mode
if: ${{ inputs.exitPre }}
run: pnpm run changeset pre exit

- name: Restore Deleted Changesets
if: ${{ inputs.restoreDeletedChangesets }}
run: git checkout HEAD~1 -- .

- name: RC release
id: changesets
uses: the-guild-org/[email protected]
with:
tag: rc
prepareScript: 'pnpm run build'
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading
Loading