Show startup times #47
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run Benchmarks | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
permissions: | |
contents: write | |
jobs: | |
benchmark: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
- name: Install dependencies | |
run: npm install | |
- name: Build TypeScript | |
run: npm run build | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install matplotlib numpy | |
- name: Run benchmarks | |
run: node dist/main.js | |
- name: Generate plot | |
run: python plot_benchmark.py | |
- name: Configure Git | |
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' | |
run: | | |
git config user.name "GitHub Actions Bot" | |
git config user.email "[email protected]" | |
- name: Create fresh results branch | |
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' | |
run: | | |
git checkout --orphan benchmark-results | |
git rm -rf . | |
mkdir -p benchmark-results | |
- name: Move benchmark files | |
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' | |
run: | | |
mv output/benchmark.json benchmark-results/ | |
mv output/benchmark.png benchmark-results/ | |
mv output/benchmark.md benchmark-results/ | |
- name: Commit benchmark results | |
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
git add benchmark-results/ | |
git commit -m "Update benchmark results from $(date +'%Y-%m-%d %H:%M:%S') [skip ci]" | |
git push -f https://${GITHUB_TOKEN}@github.com/${{ github.repository }} benchmark-results |