-
-
Notifications
You must be signed in to change notification settings - Fork 232
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
github action to update benchmarks #106
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
name: Node benchmarks | ||
|
||
on: | ||
schedule: | ||
# * is a special character in YAML so you have to quote this string | ||
- cron: '0 0 1 * *' | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Use Node.js ${{ matrix.node-version }} | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: 12 | ||
- name: run benchmarks | ||
run: | | ||
npm install | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is error prone and hard to manage. Put it in a separate file and let it be part of the linter. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @StarpTech I have removed the inline node code to run the benchmarks, this required a fix to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My idea is to move the entire code in a file and just run e.g |
||
npm start y 100 10 40 | ||
- name: commit benchmarks | ||
run: | | ||
node_version=$(node --version) | ||
benchmark_title=$(cat << EOF | ||
# Benchmarks | ||
* __Machine:__ $(uname -a) | $(node -r os -p "\`\${os.cpus().length} vCPUs | \${Math.ceil(os.totalmem() / (Math.pow(1024, 3)))}GB\`"). | ||
* __Method:__ \`autocannon -c 100 -d 40 -p 10 localhost:3000\` (two rounds; one to warm-up, one to measure). | ||
* __Node:__ \`$node_version\` | ||
* __Run:__ $(date) | ||
EOF) | ||
benchmark_table=$(node benchmark-compare.js -t -c) | ||
strip_readme=$(node -r fs -p 'fs.readFileSync("./README.md", "utf-8").split(/# Benchmarks/)[0]') | ||
git checkout master | ||
echo -e "${strip_readme:?}\n${benchmark_title:?}\n\n${benchmark_table}" > README.md | ||
git add README.md | ||
git config user.name 'Github Actions' | ||
git config user.email '<>' | ||
git commit -m "Add new benchmarks to README.md" | ||
- name: push benchmark changes | ||
uses: ad-m/github-push-action@master | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -56,4 +56,3 @@ yarn.lock | |
package-lock.json | ||
|
||
# benchmark results | ||
results | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I notice this right now: why we removed from gitignore? I don't find an answer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.