bot-prs #127592
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: bot-prs | |
on: | |
workflow_dispatch: null | |
schedule: | |
- cron: '*/15 * * * *' | |
concurrency: prs | |
jobs: | |
prs: | |
name: prs | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
job_num: [ 1, 2, 3, 4 ] | |
defaults: | |
run: | |
shell: bash -leo pipefail {0} | |
steps: | |
- name: get latest release | |
id: latest_release | |
run: | | |
tag_name=$(gh api repos/regro/cf-scripts/releases/latest --jq '.tag_name') | |
echo "latest release: ${tag_name}" | |
echo "tag_name=${tag_name}" >> "$GITHUB_OUTPUT" | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
ref: ${{ steps.latest_release.outputs.tag_name }} | |
path: cf-scripts | |
- uses: mamba-org/setup-micromamba@617811f69075e3fd3ae68ca64220ad065877f246 # v1 | |
with: | |
environment-file: cf-scripts/conda-lock.yml | |
environment-name: cf-scripts | |
condarc-file: cf-scripts/autotick-bot/condarc | |
- name: do local setup and stop me if needed | |
run: | | |
cd cf-scripts | |
python autotick-bot/stop_me_if_needed.py | |
- name: install bot code | |
if: success() && ! env.CI_SKIP | |
run: | | |
source cf-scripts/autotick-bot/install_bot_code.sh | |
env: | |
BOT_TOKEN: ${{ secrets.AUTOTICK_BOT_TOKEN }} | |
- name: update prs | |
if: success() && ! env.CI_SKIP | |
run: | | |
pushd cf-graph | |
export RUN_URL="https://github.com/regro/cf-scripts/actions/runs/${RUN_ID}" | |
conda-forge-tick update-prs --job=${BOT_JOB} --n-jobs=4 | |
env: | |
BOT_TOKEN: ${{ secrets.AUTOTICK_BOT_TOKEN }} | |
RUN_ID: ${{ github.run_id }} | |
BOT_JOB: ${{ matrix.job_num }} | |
CF_TICK_GRAPH_DATA_BACKENDS: "${{ vars.CF_TICK_GRAPH_DATA_BACKENDS }}" | |
MONGODB_CONNECTION_STRING: ${{ secrets.MONGODB_CONNECTION_STRING }} | |
- name: deploy | |
if: github.ref == 'refs/heads/main' && ! cancelled() && ! env.CI_SKIP | |
run: | | |
pushd cf-graph | |
export RUN_URL="https://github.com/regro/cf-scripts/actions/runs/${RUN_ID}" | |
conda-forge-tick deploy-to-github | |
env: | |
BOT_TOKEN: ${{ secrets.AUTOTICK_BOT_TOKEN }} | |
RUN_ID: ${{ github.run_id }} | |
- name: bump on fail | |
if: github.ref == 'refs/heads/main' && failure() && ! env.CI_SKIP | |
run: | | |
export ACTION_URL="https://github.com/regro/cf-scripts/actions/runs/${RUN_ID}" | |
python cf-scripts/autotick-bot/bump_bot_team.py | |
env: | |
BOT_TOKEN: ${{ secrets.AUTOTICK_BOT_TOKEN }} | |
RUN_ID: ${{ github.run_id }} | |
ACTION_NAME: ${{ github.workflow }} | |
prs-trigger: | |
needs: prs | |
name: prs-trigger | |
runs-on: "ubuntu-latest" | |
defaults: | |
run: | |
shell: bash -leo pipefail {0} | |
steps: | |
- name: get latest release | |
id: latest_release | |
run: | | |
tag_name=$(gh api repos/regro/cf-scripts/releases/latest --jq '.tag_name') | |
echo "latest release: ${tag_name}" | |
echo "tag_name=${tag_name}" >> "$GITHUB_OUTPUT" | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
ref: ${{ steps.latest_release.outputs.tag_name }} | |
path: cf-scripts | |
- uses: mamba-org/setup-micromamba@617811f69075e3fd3ae68ca64220ad065877f246 # v1 | |
with: | |
environment-file: cf-scripts/conda-lock.yml | |
environment-name: cf-scripts | |
condarc-file: cf-scripts/autotick-bot/condarc | |
- name: do local setup and stop me if needed | |
run: | | |
cd cf-scripts | |
python autotick-bot/stop_me_if_needed.py | |
- name: trigger next job | |
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4 | |
if: github.ref == 'refs/heads/main' && ! cancelled() && ! failure() && ! env.CI_SKIP | |
with: | |
workflow: bot-prs | |
ref: ${{ github.event.ref }} | |
token: ${{ secrets.AUTOTICK_BOT_TOKEN }} | |
- name: trigger status page | |
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4 | |
if: github.ref == 'refs/heads/main' && ! cancelled() && ! failure() && ! env.CI_SKIP | |
with: | |
workflow: bot-update-status-page | |
ref: ${{ github.event.ref }} | |
token: ${{ secrets.AUTOTICK_BOT_TOKEN }} | |
- name: bump on fail | |
if: github.ref == 'refs/heads/main' && failure() && ! env.CI_SKIP | |
run: | | |
export ACTION_URL="https://github.com/regro/cf-scripts/actions/runs/${RUN_ID}" | |
python cf-scripts/autotick-bot/bump_bot_team.py | |
env: | |
BOT_TOKEN: ${{ secrets.AUTOTICK_BOT_TOKEN }} | |
RUN_ID: ${{ github.run_id }} | |
ACTION_NAME: ${{ github.workflow }} |