Skip to content

chore: add gas compare back #60

chore: add gas compare back

chore: add gas compare back #60

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize]
jobs:
install_dependencies:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install dependencies
run: |
npm install
npm run cp-ci-env
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: persist
test:
runs-on: ubuntu-latest
needs: install_dependencies
steps:
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: retrieve
- name: Run tests
run: |
CI=true npm run test
- name: Store artifacts
uses: actions/upload-artifact@v2
with:
name: test
path: test
scenarios:
runs-on: ubuntu-latest
needs: install_dependencies
steps:
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: retrieve
- name: Run scenarios
run: |
CI=true npm run scenarios
- name: Store artifacts
uses: actions/upload-artifact@v2
with:
name: scenarios
path: scenarios
lint:
runs-on: ubuntu-latest
needs: install_dependencies
steps:
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: retrieve
- name: Run Lint
run: npm run lint
- name: Store artifacts
uses: actions/upload-artifact@v2
with:
name: lint
path: lint
coverage:
runs-on: ubuntu-latest
needs: install_dependencies
steps:
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: retrieve
- name: Run Coverage
run: npm run coverage
- name: Upload coverage to Coveralls
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Store artifacts
uses: actions/upload-artifact@v2
with:
name: coverage
path: coverage
slither:
runs-on: ubuntu-latest
needs: install_dependencies
steps:
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: retrieve
- name: Run Slither
uses: crytic/slither-action@v0.3.0
id: slither
with:
node-version: 16
sarif: results.sarif
fail-on: high
# WIP can safely be ignored
gasCompare:
runs-on: ubuntu-latest
needs: install_dependencies
steps:
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: retrieve
- name: Run GasCompare
run: |
if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then
BRANCH_NAME=$GITHUB_HEAD_REF
else
BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')
fi
echo "Current branch is $BRANCH_NAME"
if [ "$BRANCH_NAME" == "main" ]; then
echo "This is the main branch. Exiting..."
exit 0
fi
CI=true npm run test
mv ./gasReporterOutput.json /tmp/gasReporterOutput_Current.json
git checkout main
npm install
CI=true npm run test
mv ./gasReporterOutput.json /tmp/gasReporterOutput_Main.json
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: persist
- name: Checkout
uses: actions/checkout@v3
- uses: bissolli/gh-action-persist-workspace@v1
with:
action: retrieve
- name: Run GasCompare
run: |
npm run gasCompare /tmp/gasReporterOutput_Current.json /tmp/gasReporterOutput_Main.json
- name: Comment on the Pull Request
uses: actions/github-script@v5
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const fs = require('fs');
if (!fs.existsSync('gasCompareOutput.md')) {
console.log('No gasCompareOutput.md file found.');
return;
}
const markdown = fs.readFileSync('gasCompareOutput.md', 'utf8');
// Check if markdown content is not empty
if (markdown.trim().length) {
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: markdown
});
} else {
console.log("No markdown content to comment.");
}