-
Notifications
You must be signed in to change notification settings - Fork 91
94 lines (93 loc) · 3.04 KB
/
runbenchandupload.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
name: RunUploadBenchmarks
env:
JULIA_NUM_THREADS: 2
on:
pull_request:
# types: [labeled]
branches:
- master
- benchx
push:
branches:
- master
- benchx
tags: '*'
jobs:
benchmark:
# if: ${{ github.event.label.name == 'to-benchmark' }}
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.allow_failure }}
permissions: write-all
strategy:
fail-fast: false
matrix:
version:
- '1'
os:
- ubuntu-latest
arch:
- x64
include:
- version: '1'
allow_failure: false
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v3
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@latest
- name: install dependencies
run: julia -e 'using Pkg; pkg"add PkgBenchmark [email protected]"'
- name: Run benchmark judge if pull request
if: github.event_name == 'pull_request'
run: julia -e "
using BenchmarkCI, PkgBenchmark;
jd=BenchmarkCI.judge(baseline=\"origin/${GITHUB_BASE_REF}\");
"
# - name: Post results if pull request
# if: github.event_name == 'pull_request'
# run: julia -e 'using BenchmarkCI; BenchmarkCI.postjudge()'
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Add comment
# if: github.event_name == 'pull_request'
# run: gh pr comment "$NUMBER" --body "$BODY"
# env:
# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# GH_REPO: ${{ github.repository }}
# NUMBER: ${{ github.event.pull_request.number }}
# BODY: >
# This pr comment is testing.
# **This should be bold**
- name: Run benchmark if push/merge
if: github.event_name == 'push'
run: julia --project=benchmark -e "
import Pkg;
Pkg.develop(path=pwd());
Pkg.instantiate();
using PkgBenchmark, BenchmarkTools;
br=benchmarkpkg(pwd());
br_median = BenchmarkResults(br.name, br.commit, median(br.benchmarkgroup), br.date, br.julia_commit, br.vinfo, br.benchmarkconfig);
writeresults(\"medianbenchout.json\", br_median);
"
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > .benchmarkci/pr_number
- uses: actions/upload-artifact@v3
with:
name: BenchmarkResults
path: .benchmarkci/