@@ -97,3 +97,81 @@ steps:
9797 arch : " aarch64"
9898 if : build.message !~ /\[skip tests\]/ && !build.pull_request.draft
9999 timeout_in_minutes : 60
100+
101+ # we want to benchmark every commit on the master branch, even if it failed CI
102+ - wait : ~
103+ # continue_on_failure: true
104+
105+ - group : " :racehorse: Benchmarks"
106+ steps :
107+ # benchmarks outside of the master branch don't submit their results,
108+ # so they can run on any system in the juliagpu queue.
109+ - label : " Benchmarks (dry run)"
110+ plugins :
111+ - JuliaCI/julia#v1:
112+ version : " 1.10"
113+ command : |
114+ julia --project -e '
115+ using Pkg
116+
117+ println("--- :julia: Instantiating project")
118+ Pkg.resolve()
119+ Pkg.instantiate()
120+ Pkg.activate("perf")
121+ Pkg.resolve()
122+ Pkg.instantiate()
123+ push!(LOAD_PATH, @__DIR__)
124+
125+ println("+++ :julia: Benchmarking")
126+ include("perf/runbenchmarks.jl")'
127+ agents :
128+ queue : " juliaecosystem"
129+ os : " macos"
130+ arch : " aarch64"
131+ if : |
132+ build.message =~ /\[only benchmarks\]/ ||
133+ build.message !~ /\[only/ && !build.pull_request.draft &&
134+ build.message !~ /\[skip benchmarks\]/
135+ timeout_in_minutes : 30
136+
137+ # if we will submit results, use the benchmark queue so that we will
138+ # be running on the same system each time
139+ # - label: "Benchmarks on Julia {{matrix.julia}}"
140+ # plugins:
141+ # - JuliaCI/julia#v1:
142+ # version: "{{matrix.julia}}"
143+ # env:
144+ # BENCHMARKS: "true"
145+ # CODESPEED_PROJECT: "$BUILDKITE_PIPELINE_NAME"
146+ # CODESPEED_BRANCH: "$BUILDKITE_BRANCH"
147+ # CODESPEED_COMMIT: "$BUILDKITE_COMMIT"
148+ # CODESPEED_EXECUTABLE: "Julia {{matrix.julia}}"
149+ # command: |
150+ # julia --project -e '
151+ # using Pkg
152+ # ENV["CODESPEED_ENVIRONMENT"] = ENV["BUILDKITE_AGENT_NAME"]
153+
154+ # println("--- :julia: Instantiating project")
155+ # Pkg.resolve()
156+ # Pkg.instantiate()
157+ # Pkg.activate("perf")
158+ # Pkg.resolve()
159+ # Pkg.instantiate()
160+ # push!(LOAD_PATH, @__DIR__)
161+
162+ # println("+++ :julia: Benchmarking")
163+ # include("perf/runbenchmarks.jl")'
164+ # agents:
165+ # queue: "benchmark"
166+ # gpu: "rtx2070"
167+ # cuda: "*"
168+ # if: |
169+ # build.branch =~ /^master$$/ && build.message =~ /\[only benchmarks\]/ ||
170+ # build.branch =~ /^master$$/ && build.message !~ /\[only/ &&
171+ # build.message !~ /\[skip benchmarks\]/
172+ # matrix:
173+ # setup:
174+ # julia:
175+ # - "1.10"
176+ # - "1.11"
177+ # timeout_in_minutes: 30
0 commit comments