diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 66c4349..013bd3a 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -34,6 +34,7 @@ jobs: - name: Configure run: | cd slitherin-benchmark/ + ls mv example.config.py config.py - name: Install node dependencies run: npm ci @@ -44,12 +45,26 @@ jobs: - name: Run Benchmark run: | cd slitherin-benchmark/ - python runner.py -i contracts/mainnet -o mainnet.csv --limit 7000 + python runner.py -i contracts/mainnet -o mainnet.csv -eo mainnet_extra.csv --limit 8000 --skip-duplicates --skip-libs + - name: Upload sheet + run: | + cd slitherin-benchmark/ + echo $GOOGLE_JWT > service_account.json + python save_sheet.py -i mainnet.csv -sa service_account.json -si $GOOGLE_SHEET_ID -ln mainnet -pr $PR_NUMBER + env: + GOOGLE_JWT : ${{secrets.SERVICE_ACCOUNT}} + GOOGLE_SHEET_ID : ${{ secrets.GOOGLE_SHEET_ID }} + PR_NUMBER: ${{ github.event.number }} - name: 'Upload Artifact' uses: actions/upload-artifact@v3 with: name: mainnet path: slitherin-benchmark/mainnet.csv + - name: 'Upload Artifact Extra' + uses: actions/upload-artifact@v3 + with: + name: mainnet + path: slitherin-benchmark/mainnet_extra.csv RunBenchmarkOZ: runs-on: ubuntu-latest steps: @@ -89,6 +104,15 @@ jobs: run: | cd slitherin-benchmark/ python runner.py -i contracts/openzeppelin -o oz.csv -eo oz_extra.csv + - name: Upload sheet + run: | + cd slitherin-benchmark/ + echo $GOOGLE_JWT > service_account.json + python save_sheet.py -i oz.csv -sa service_account.json -si $GOOGLE_SHEET_ID -ln OZ -pr $PR_NUMBER + env: + GOOGLE_JWT : ${{secrets.SERVICE_ACCOUNT}} + GOOGLE_SHEET_ID : ${{ secrets.GOOGLE_SHEET_ID }} + PR_NUMBER: ${{ github.event.number }} - name: 'Upload Artifact' uses: actions/upload-artifact@v3 with: @@ -99,4 +123,3 @@ jobs: with: name: oz_extra path: slitherin-benchmark/oz_extra.csv - diff --git a/.github/workflows/old_version.yml b/.github/workflows/old_version.yml new file mode 100644 index 0000000..758dbc8 --- /dev/null +++ b/.github/workflows/old_version.yml @@ -0,0 +1,118 @@ +name: Run Benchmark + +on: + workflow_dispatch: # Ручной запуск через UI Гитхаба +jobs: + RunBenchmarkOld: + runs-on: ubuntu-latest + env: + slitherin_version: 0.1.0 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: 'true' + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: Set up Node + uses: actions/setup-node@v4 + with: + node-version: '18.x' + - name: Update pip + run: python -m pip install --upgrade pip + - name: Install solc-select + run: python -m pip install solc-select + - name: Install Slither + run: python -m pip install slither-analyzer + - name: Install Setuptools + run: python -m pip install setuptools + - name: Install Slitherin + run: python -m pip install slitherin==$slitherin_version + - name: Configure + run: | + cd slitherin-benchmark/ + mv example.config.py config.py + - name: Install benchmark requirements + run: | + cd slitherin-benchmark/ + python -m pip install -r requirements.txt + - name: Run Benchmark + run: | + cd slitherin-benchmark/ + python runner.py -i contracts/mainnet -o mainnet.csv --limit 8000 --skip-duplicates --skip-libs --use-slither + - name: Upload sheet + run: | + cd slitherin-benchmark/ + echo $GOOGLE_JWT > service_account.json + python save_sheet.py -i mainnet.csv -sa service_account.json -si $GOOGLE_SHEET_ID -ln mainnet -sv "slitherin $slitherin_version" + env: + GOOGLE_JWT : ${{secrets.SERVICE_ACCOUNT}} + GOOGLE_SHEET_ID : ${{ secrets.GOOGLE_SHEET_ID }} + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: mainnet + path: slitherin-benchmark/mainnet.csv + RunBenchmarkOZOld: + runs-on: ubuntu-latest + env: + slitherin_version: 0.1.0 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: 'true' + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: Set up Node + uses: actions/setup-node@v4 + with: + node-version: '18.x' + - name: Update pip + run: python -m pip install --upgrade pip + - name: Install solc-select + run: python -m pip install solc-select + - name: Install Slither + run: python -m pip install slither-analyzer + - name: Install Setuptools + run: python -m pip install setuptools + - name: Install Slitherin + run: python -m pip install slitherin==$slitherin_version + - name: Configure + run: | + cd slitherin-benchmark/ + mv example.config.py config.py + - name: Install node dependencies + run: npm ci + - name: Install benchmark requirements + run: | + cd slitherin-benchmark/ + python -m pip install -r requirements.txt + - name: Run Benchmark + run: | + cd slitherin-benchmark/ + python runner.py -i contracts/openzeppelin -o oz.csv -eo oz_extra.csv --use-slither + - name: Upload sheet + run: | + cd slitherin-benchmark/ + echo $GOOGLE_JWT > service_account.json + ls + python save_sheet.py -i oz.csv -sa service_account.json -si $GOOGLE_SHEET_ID -ln OZ -sv "slitherin $slitherin_version" + env: + GOOGLE_JWT : ${{secrets.SERVICE_ACCOUNT}} + GOOGLE_SHEET_ID : ${{ secrets.GOOGLE_SHEET_ID }} + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: oz + path: slitherin-benchmark/oz.csv + - name: 'Upload Artifact' + uses: actions/upload-artifact@v3 + with: + name: oz_extra + path: slitherin-benchmark/oz_extra.csv + diff --git a/slitherin-benchmark b/slitherin-benchmark index 12792f9..e8a7b64 160000 --- a/slitherin-benchmark +++ b/slitherin-benchmark @@ -1 +1 @@ -Subproject commit 12792f91792dfe5a90ed9a0fc955606082b92305 +Subproject commit e8a7b64b52af91eb257399cdaf16c68c5695d9d7