@@ -9,15 +9,6 @@ permissions:
99 pull-requests : write
1010
1111jobs :
12- issue_assign :
13- runs-on : ubuntu-24.04
14- if : (!github.event.issue.pull_request) && github.event.comment.body == 'take'
15- concurrency :
16- group : ${{ github.actor }}-issue-assign
17- steps :
18- - run : |
19- echo "Assigning issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}"
20- curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"assignees": ["${{ github.event.comment.user.login }}"]}' https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees
2112 preview_docs :
2213 runs-on : ubuntu-24.04
2314 if : github.event.issue.pull_request && github.event.comment.body == '/preview'
2819 with :
2920 previewer-server : " https://pandas.pydata.org/preview"
3021 artifact-job : " Doc Build and Upload"
31- asv_run :
32- runs-on : ubuntu-24.04
33- # TODO: Support more benchmarking options later, against different branches, against self, etc
34- if : github.event.issue.pull_request && startsWith(github.event.comment.body, '@github-actions benchmark')
35- defaults :
36- run :
37- shell : bash -el {0}
38- env :
39- ENV_FILE : environment.yml
40- COMMENT : ${{github.event.comment.body}}
41-
42- concurrency :
43- # Set concurrency to prevent abuse(full runs are ~5.5 hours !!!)
44- # each user can only run one concurrent benchmark bot at a time
45- # We don't cancel in progress jobs, but if you want to benchmark multiple PRs, you're gonna have
46- # to wait
47- group : ${{ github.actor }}-asv
48- cancel-in-progress : false
49-
50- steps :
51- - name : Checkout
52- uses : actions/checkout@v5
53- with :
54- fetch-depth : 0
55-
56- # Although asv sets up its own env, deps are still needed
57- # during discovery process
58- - name : Set up Conda
59- uses : ./.github/actions/setup-conda
60-
61- - name : Run benchmarks
62- id : bench
63- continue-on-error : true # asv will exit code 1 for regressions
64- run : |
65- # extracting the regex, see https://stackoverflow.com/a/36798723
66- REGEX=$(echo "$COMMENT" | sed -n "s/^.*-b\s*\(\S*\).*$/\1/p")
67- cd asv_bench
68- asv check -E existing
69- git remote add upstream https://github.com/pandas-dev/pandas.git
70- git fetch upstream
71- asv machine --yes
72- asv continuous -f 1.1 -b $REGEX upstream/main HEAD
73- echo 'BENCH_OUTPUT<<EOF' >> $GITHUB_ENV
74- asv compare -f 1.1 upstream/main HEAD >> $GITHUB_ENV
75- echo 'EOF' >> $GITHUB_ENV
76- echo "REGEX=$REGEX" >> $GITHUB_ENV
77-
78- - uses : actions/github-script@v8
79- env :
80- BENCH_OUTPUT : ${{env.BENCH_OUTPUT}}
81- REGEX : ${{env.REGEX}}
82- with :
83- script : |
84- const ENV_VARS = process.env
85- const run_url = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`
86- github.rest.issues.createComment({
87- issue_number: context.issue.number,
88- owner: context.repo.owner,
89- repo: context.repo.repo,
90- body: '\nBenchmarks completed. View runner logs here.' + run_url + '\nRegex used: '+ 'regex ' + ENV_VARS["REGEX"] + '\n' + ENV_VARS["BENCH_OUTPUT"]
91- })
0 commit comments