Skip to content

Commit da586c3

Browse files
authored
chore: Add cron job to run tests (#1005)
* chore: Add cron job to run tests * remove unecessary condition check
1 parent d604ea9 commit da586c3

1 file changed

Lines changed: 107 additions & 0 deletions

File tree

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
name: Build and Test daily (sdk-gen)
2+
on:
3+
schedule:
4+
- cron: "20 2 * * 1-5"
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
max-parallel: 1
10+
matrix:
11+
python-version:
12+
- "3.8"
13+
- "3.11"
14+
- "3.13"
15+
name: Build with Python ${{ matrix.python-version }}
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
with:
20+
ref: sdk-gen
21+
- name: Set up Python ${{ matrix.python-version }}
22+
uses: actions/setup-python@v4
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
- name: Install dependencies
26+
run: |
27+
python -m pip install --upgrade pip
28+
python -m pip install -e .[dev]
29+
python -m pip install tox-gh-actions
30+
- name: All Tests
31+
env:
32+
JWT_CONFIG_BASE_64: ${{ secrets.JWT_CONFIG_BASE_64 }}
33+
ADMIN_USER_ID: ${{ secrets.ADMIN_USER_ID }}
34+
CLIENT_ID: ${{ secrets.CLIENT_ID }}
35+
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
36+
USER_ID: ${{ secrets.USER_ID }}
37+
ENTERPRISE_ID: ${{ secrets.ENTERPRISE_ID }}
38+
BOX_FILE_REQUEST_ID: ${{ secrets.BOX_FILE_REQUEST_ID }}
39+
BOX_EXTERNAL_USER_EMAIL: ${{ secrets.BOX_EXTERNAL_USER_EMAIL }}
40+
BOX_EXTERNAL_USER_ID: ${{ secrets.BOX_EXTERNAL_USER_ID }}
41+
APP_ITEM_ASSOCIATION_FILE_ID: ${{ secrets.APP_ITEM_ASSOCIATION_FILE_ID }}
42+
APP_ITEM_ASSOCIATION_FOLDER_ID: ${{ secrets.APP_ITEM_ASSOCIATION_FOLDER_ID }}
43+
WORKFLOW_FOLDER_ID: ${{ secrets.WORKFLOW_FOLDER_ID }}
44+
APP_ITEM_SHARED_LINK: ${{ secrets.APP_ITEM_SHARED_LINK }}
45+
SLACK_AUTOMATION_USER_ID: ${{ secrets.SLACK_AUTOMATION_USER_ID }}
46+
SLACK_ORG_ID: ${{ secrets.SLACK_ORG_ID }}
47+
SLACK_PARTNER_ITEM_ID: ${{ secrets.SLACK_PARTNER_ITEM_ID }}
48+
run: |
49+
tox
50+
coverage:
51+
name: Coverage report
52+
runs-on: ubuntu-latest
53+
steps:
54+
- name: Checkout
55+
uses: actions/checkout@v4
56+
with:
57+
ref: sdk-gen
58+
- name: Set up Python 3.11
59+
uses: actions/setup-python@v4
60+
with:
61+
python-version: "3.11"
62+
- name: Install dependencies
63+
run: |
64+
python -m pip install --upgrade pip
65+
python -m pip install -e .[dev]
66+
python -m pip install coveralls
67+
- name: Send coverage report to Coveralls
68+
run: |
69+
tox -e coverage
70+
coveralls --service=github
71+
env:
72+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
73+
JWT_CONFIG_BASE_64: ${{ secrets.JWT_CONFIG_BASE_64 }}
74+
ADMIN_USER_ID: ${{ secrets.ADMIN_USER_ID }}
75+
CLIENT_ID: ${{ secrets.CLIENT_ID }}
76+
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
77+
USER_ID: ${{ secrets.USER_ID }}
78+
ENTERPRISE_ID: ${{ secrets.ENTERPRISE_ID }}
79+
BOX_FILE_REQUEST_ID: ${{ secrets.BOX_FILE_REQUEST_ID }}
80+
BOX_EXTERNAL_USER_EMAIL: ${{ secrets.BOX_EXTERNAL_USER_EMAIL }}
81+
WORKFLOW_FOLDER_ID: ${{ secrets.WORKFLOW_FOLDER_ID }}
82+
APP_ITEM_ASSOCIATION_FILE_ID: ${{ secrets.APP_ITEM_ASSOCIATION_FILE_ID }}
83+
APP_ITEM_ASSOCIATION_FOLDER_ID: ${{ secrets.APP_ITEM_ASSOCIATION_FOLDER_ID }}
84+
APP_ITEM_SHARED_LINK: ${{ secrets.APP_ITEM_SHARED_LINK }}
85+
SLACK_AUTOMATION_USER_ID: ${{ secrets.SLACK_AUTOMATION_USER_ID }}
86+
SLACK_ORG_ID: ${{ secrets.SLACK_ORG_ID }}
87+
SLACK_PARTNER_ITEM_ID: ${{ secrets.SLACK_PARTNER_ITEM_ID }}
88+
notify:
89+
name: Send Slack Notification
90+
runs-on: ubuntu-latest
91+
needs: [build, coverage]
92+
if: always()
93+
steps:
94+
- name: Send Slack Notification
95+
env:
96+
SLACK_WEBHOOK_TEST_NOTIFICATION_URL: ${{ secrets.SLACK_WEBHOOK_TEST_NOTIFICATION_URL }}
97+
BUILD_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
98+
run: |
99+
if [ "${{ needs.build.result }}" != "success" ] || [ "${{ needs.coverage.result }}" != "success" ]; then
100+
STATUS="Failure ❌"
101+
else
102+
STATUS="Success ✅"
103+
fi
104+
105+
curl -X POST -H "Content-Type: application/json" \
106+
--data "{\"text\":\"<${BUILD_URL}|Daily Tests Job> in *${GITHUB_REPOSITORY}* finished with status: ${STATUS}\"}" \
107+
"$SLACK_WEBHOOK_TEST_NOTIFICATION_URL

0 commit comments

Comments
 (0)