ci: run actions only on code changes #12
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: GPU Train and Test | |
on: [push, pull_request] | |
jobs: | |
diff: | |
runs-on: ubuntu-latest | |
outputs: | |
train_test_changed: ${{ steps.filter.outputs.train_test_changed }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
filters: | | |
train_test_changed: | |
- 'train_*' | |
- 'test_*' | |
train-and-test-gpu: | |
needs: diff | |
runs-on: devcloud # self-hosted GPU runner on Intel devcloud | |
if: needs.diff.outputs.train_test_changed == 'true' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download starter pack (initial weights) | |
run: | | |
chmod u+x ./download_starter_pack.sh | |
./download_starter_pack.sh | |
- name: Compile training and testing program | |
run: | | |
make train_gpt2_fp32 test_gpt2_fp32 | |
- name: Train model fp32 | |
run: | | |
./train_gpt2_fp32 | |
- name: Test model fp32 | |
run: | | |
./test_gpt2_fp32 |