Skip to content

Commit af89654

Browse files
committed
[ GITHUB ACTION UPDATE (GMT +0) ]: Mon Oct 13 19:22:22 UTC 2025
1 parent dec67fa commit af89654

11 files changed

+1220
-1
lines changed
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
name: Automated Training [Workflow - 10]
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- '*'
9+
10+
jobs:
11+
training_workloads:
12+
name: Training Workloads
13+
runs-on: ubuntu-latest
14+
15+
environment: Training Workloads
16+
17+
18+
strategy:
19+
matrix:
20+
python-version: [3.11]
21+
22+
env:
23+
HF_TOKEN: ${{ secrets.HF_TOKEN }}
24+
DATASET_NAME: indonesia_stocks
25+
MODEL_REGISTRY_NAME: stock_models_10
26+
HF_USERNAME: qywok
27+
28+
steps:
29+
- name: Set Global Directory
30+
run: git config --global --add safe.directory /github/workspace
31+
32+
- uses: actions/checkout@v3
33+
with:
34+
lfs: true
35+
persist-credentials: false
36+
fetch-depth: 1
37+
38+
- name: Setup Python
39+
uses: actions/setup-python@v5
40+
with:
41+
python-version: ${{ matrix.python-version }}
42+
43+
- name: Check Disk System
44+
id: check_disk_system
45+
run: df -h
46+
47+
- name: Get Current Date
48+
id: get_current_date
49+
run: |
50+
full_date=$(date)
51+
echo "FULL_DATE=${full_date}" >> $GITHUB_ENV
52+
53+
current_date=$(date +%d)
54+
current_date=$((10#$current_date + 1))
55+
echo "CURRENT_DATE=${current_date}" >> $GITHUB_ENV
56+
57+
full_current_date=$(date +'%Y-%m-%d')
58+
echo "FULL_CURRENT_DATE=${full_current_date}" >> $GITHUB_ENV
59+
60+
- name: Read Date and Training Schedule
61+
id: read_date_training_schedule
62+
run: |
63+
echo "DATE_SCHEDULE=$(cat schedules/date.schedule)" \
64+
>> $GITHUB_ENV
65+
echo "TRAINING_SCHEDULE=$(cat schedules/training.schedule)" \
66+
>> $GITHUB_ENV
67+
68+
- name: Cloning Model from Hugging Face
69+
id: cloning_model
70+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
71+
run: |
72+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
73+
git clone https://huggingface.co/qywok/stock_models_10
74+
75+
- name: Cloning Datasets From Hugging Face
76+
id: cloning_dataset
77+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
78+
run: |
79+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
80+
git clone https://huggingface.co/datasets/$HF_USERNAME/$DATASET_NAME
81+
82+
- name: Cache pip
83+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
84+
uses: actions/cache@v4
85+
with:
86+
path: ~/.cache/pip
87+
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/linux/workload/ubuntu.production.txt') }}
88+
restore-keys: |
89+
${{ runner.os }}-pip-
90+
91+
- name: Requirements Install
92+
id: requirements_install
93+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
94+
run: |
95+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
96+
pip install -r requirements/linux/workload/ubuntu.production.txt
97+
pip install torch==2.7.0 --index-url https://download.pytorch.org/whl/cpu
98+
99+
- name: Training Workloads
100+
id: training_workloads
101+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
102+
run: |
103+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
104+
python autotraining.py \
105+
--workloads_json=workloads_10.json \
106+
--model_registry=stock_models_10
107+
108+
- name: Ingest to Hugging Face Models
109+
id: ingest_hf_model
110+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
111+
run: |
112+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
113+
cd stock_models_10
114+
git config --local user.email "alfariqyraihan@gmail.com"
115+
git config --local user.name "qywok"
116+
git add -A
117+
git diff-index --quiet HEAD || git commit -m "[ Ingest Date (GMT +0) ]: $FULL_DATE"
118+
git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/$HF_USERNAME/$MODEL_REGISTRY_NAME main --force
119+
cd .. && ls -al
120+
121+
- name: Remove Temporarary Files and Directories
122+
id: remove_temporary
123+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
124+
run: |
125+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
126+
rm -rf stock_models_10
127+
rm -rf $DATASET_NAME
128+
ls -al
129+
rm .github/workflows/workflow_*_pipeline.yaml
130+
ls -al .github/workflows
131+
132+
- name: Change Training Schedule
133+
id: change_training_schedule
134+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
135+
run: |
136+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
137+
echo "TRAIN_OFF" > schedules/training.schedule
138+
cat schedules/training.schedule
139+
140+
- name: Commit Changes
141+
id: commit_changes
142+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
143+
run: |
144+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
145+
git config --local user.email "belajarqywok@gmail.com"
146+
git config --local user.name "belajarqywok"
147+
git add -A
148+
git commit -m "[ GITHUB ACTION UPDATE (GMT +0) ]: $FULL_DATE"
149+
150+
- name: Push Changes
151+
id: push_changes
152+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
153+
uses: ad-m/github-push-action@master
154+
with:
155+
github_token: ${{ secrets.GH_TOKEN }}
156+
branch: main
157+
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
name: Automated Training [Workflow - 1]
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- '*'
9+
10+
jobs:
11+
training_workloads:
12+
name: Training Workloads
13+
runs-on: ubuntu-latest
14+
15+
16+
strategy:
17+
matrix:
18+
python-version: [3.11]
19+
20+
env:
21+
HF_TOKEN: ${{ secrets.HF_TOKEN }}
22+
DATASET_NAME: indonesia_stocks
23+
MODEL_REGISTRY_NAME: stock_models_1
24+
HF_USERNAME: qywok
25+
26+
steps:
27+
- name: Set Global Directory
28+
run: git config --global --add safe.directory /github/workspace
29+
30+
- uses: actions/checkout@v3
31+
with:
32+
lfs: true
33+
persist-credentials: false
34+
fetch-depth: 1
35+
36+
- name: Setup Python
37+
uses: actions/setup-python@v5
38+
with:
39+
python-version: ${{ matrix.python-version }}
40+
41+
- name: Check Disk System
42+
id: check_disk_system
43+
run: df -h
44+
45+
- name: Get Current Date
46+
id: get_current_date
47+
run: |
48+
full_date=$(date)
49+
echo "FULL_DATE=${full_date}" >> $GITHUB_ENV
50+
51+
current_date=$(date +%d)
52+
current_date=$((10#$current_date + 1))
53+
echo "CURRENT_DATE=${current_date}" >> $GITHUB_ENV
54+
55+
full_current_date=$(date +'%Y-%m-%d')
56+
echo "FULL_CURRENT_DATE=${full_current_date}" >> $GITHUB_ENV
57+
58+
- name: Read Date and Training Schedule
59+
id: read_date_training_schedule
60+
run: |
61+
echo "DATE_SCHEDULE=$(cat schedules/date.schedule)" \
62+
>> $GITHUB_ENV
63+
echo "TRAINING_SCHEDULE=$(cat schedules/training.schedule)" \
64+
>> $GITHUB_ENV
65+
66+
- name: Cloning Model from Hugging Face
67+
id: cloning_model
68+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
69+
run: |
70+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
71+
git clone https://huggingface.co/qywok/stock_models_1
72+
73+
- name: Cloning Datasets From Hugging Face
74+
id: cloning_dataset
75+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
76+
run: |
77+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
78+
git clone https://huggingface.co/datasets/$HF_USERNAME/$DATASET_NAME
79+
80+
- name: Cache pip
81+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
82+
uses: actions/cache@v4
83+
with:
84+
path: ~/.cache/pip
85+
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/linux/workload/ubuntu.production.txt') }}
86+
restore-keys: |
87+
${{ runner.os }}-pip-
88+
89+
- name: Requirements Install
90+
id: requirements_install
91+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
92+
run: |
93+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
94+
pip install -r requirements/linux/workload/ubuntu.production.txt
95+
pip install torch==2.7.0 --index-url https://download.pytorch.org/whl/cpu
96+
97+
- name: Training Workloads
98+
id: training_workloads
99+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
100+
run: |
101+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
102+
python autotraining.py \
103+
--workloads_json=workloads_1.json \
104+
--model_registry=stock_models_1
105+
106+
- name: Ingest to Hugging Face Models
107+
id: ingest_hf_model
108+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
109+
run: |
110+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
111+
cd stock_models_1
112+
git config --local user.email "alfariqyraihan@gmail.com"
113+
git config --local user.name "qywok"
114+
git add -A
115+
git diff-index --quiet HEAD || git commit -m "[ Ingest Date (GMT +0) ]: $FULL_DATE"
116+
git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/$HF_USERNAME/$MODEL_REGISTRY_NAME main --force
117+
cd .. && ls -al
118+
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
name: Automated Training [Workflow - 2]
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- '*'
9+
10+
jobs:
11+
training_workloads:
12+
name: Training Workloads
13+
runs-on: ubuntu-latest
14+
15+
16+
strategy:
17+
matrix:
18+
python-version: [3.11]
19+
20+
env:
21+
HF_TOKEN: ${{ secrets.HF_TOKEN }}
22+
DATASET_NAME: indonesia_stocks
23+
MODEL_REGISTRY_NAME: stock_models_2
24+
HF_USERNAME: qywok
25+
26+
steps:
27+
- name: Set Global Directory
28+
run: git config --global --add safe.directory /github/workspace
29+
30+
- uses: actions/checkout@v3
31+
with:
32+
lfs: true
33+
persist-credentials: false
34+
fetch-depth: 1
35+
36+
- name: Setup Python
37+
uses: actions/setup-python@v5
38+
with:
39+
python-version: ${{ matrix.python-version }}
40+
41+
- name: Check Disk System
42+
id: check_disk_system
43+
run: df -h
44+
45+
- name: Get Current Date
46+
id: get_current_date
47+
run: |
48+
full_date=$(date)
49+
echo "FULL_DATE=${full_date}" >> $GITHUB_ENV
50+
51+
current_date=$(date +%d)
52+
current_date=$((10#$current_date + 1))
53+
echo "CURRENT_DATE=${current_date}" >> $GITHUB_ENV
54+
55+
full_current_date=$(date +'%Y-%m-%d')
56+
echo "FULL_CURRENT_DATE=${full_current_date}" >> $GITHUB_ENV
57+
58+
- name: Read Date and Training Schedule
59+
id: read_date_training_schedule
60+
run: |
61+
echo "DATE_SCHEDULE=$(cat schedules/date.schedule)" \
62+
>> $GITHUB_ENV
63+
echo "TRAINING_SCHEDULE=$(cat schedules/training.schedule)" \
64+
>> $GITHUB_ENV
65+
66+
- name: Cloning Model from Hugging Face
67+
id: cloning_model
68+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
69+
run: |
70+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
71+
git clone https://huggingface.co/qywok/stock_models_2
72+
73+
- name: Cloning Datasets From Hugging Face
74+
id: cloning_dataset
75+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
76+
run: |
77+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
78+
git clone https://huggingface.co/datasets/$HF_USERNAME/$DATASET_NAME
79+
80+
- name: Cache pip
81+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
82+
uses: actions/cache@v4
83+
with:
84+
path: ~/.cache/pip
85+
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/linux/workload/ubuntu.production.txt') }}
86+
restore-keys: |
87+
${{ runner.os }}-pip-
88+
89+
- name: Requirements Install
90+
id: requirements_install
91+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
92+
run: |
93+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
94+
pip install -r requirements/linux/workload/ubuntu.production.txt
95+
pip install torch==2.7.0 --index-url https://download.pytorch.org/whl/cpu
96+
97+
- name: Training Workloads
98+
id: training_workloads
99+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
100+
run: |
101+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
102+
python autotraining.py \
103+
--workloads_json=workloads_2.json \
104+
--model_registry=stock_models_2
105+
106+
- name: Ingest to Hugging Face Models
107+
id: ingest_hf_model
108+
if: env.DATE_SCHEDULE == env.FULL_CURRENT_DATE && env.TRAINING_SCHEDULE == 'TRAIN_ON'
109+
run: |
110+
echo "[ CONDITION LOG ]: ${{ env.DATE_SCHEDULE }} - ${{ env.FULL_CURRENT_DATE }} - ${{ env.TRAINING_SCHEDULE }}"
111+
cd stock_models_2
112+
git config --local user.email "alfariqyraihan@gmail.com"
113+
git config --local user.name "qywok"
114+
git add -A
115+
git diff-index --quiet HEAD || git commit -m "[ Ingest Date (GMT +0) ]: $FULL_DATE"
116+
git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/$HF_USERNAME/$MODEL_REGISTRY_NAME main --force
117+
cd .. && ls -al
118+

0 commit comments

Comments
 (0)