-
Notifications
You must be signed in to change notification settings - Fork 74
108 lines (91 loc) · 3.47 KB
/
bot-bot.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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
name: bot-bot
on:
workflow_dispatch: null
# schedule:
# - cron: '15 * * * *'
concurrency: bot-v2
jobs:
bot:
name: bot
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@d632683dd7b4114ad314bca15554477dd762a938 # v4
with:
ref: ${{ steps.latest_release.outputs.tag_name }}
path: cf-scripts
- name: get the lockfile
run: |
wget https://raw.githubusercontent.com/regro/cf-graph-countyfair/master/conda-lock.yml
mv conda-lock.yml cf-scripts/conda-lock.yml
- uses: mamba-org/setup-micromamba@f8b8a1e23a26f60a44c853292711bacfd3eac822 # 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: run migrations
if: success() && ! env.CI_SKIP
timeout-minutes: 210
run: |
export TIMEOUT=7200
export RUN_URL="https://github.com/regro/cf-scripts/actions/runs/${RUN_ID}"
pushd cf-graph
conda-forge-tick auto-tick
env:
BOT_TOKEN: ${{ secrets.AUTOTICK_BOT_TOKEN }}
RUN_ID: ${{ github.run_id }}
MEMORY_LIMIT_GB: 7
CF_TICK_GRAPH_DATA_BACKENDS: "${{ vars.CF_TICK_GRAPH_DATA_BACKENDS }}"
MONGODB_CONNECTION_STRING: ${{ secrets.MONGODB_CONNECTION_STRING }}
# emptied at the beginning and end of each run, used by Python tempdir
TMPDIR: ${{ runner.temp }}
- name: status of changes
if: github.ref == 'refs/heads/main' && always() && ! env.CI_SKIP
run: |
pushd cf-graph
git status
- name: deploy
if: github.ref == 'refs/heads/main' && always() && ! 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 }}
- 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-bot
ref: ${{ github.event.ref }}
token: ${{ secrets.AUTOTICK_BOT_TOKEN }}