Skip to content

Commit eb590c0

Browse files
committed
2 parents 39c5fc1 + 18febdf commit eb590c0

File tree

107 files changed

+86303
-2641
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+86303
-2641
lines changed

.github/codecov.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
coverage:
2+
status:
3+
project:
4+
default:
5+
target: 1%
6+
threshold: 1%
7+
patch:
8+
default:
9+
target: 1%
10+
threshold: 1%

.github/workflows/bench.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ jobs:
3333
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
3434
steps:
3535
- name: Clone - PR
36-
uses: actions/checkout@v3
36+
uses: actions/checkout@v4
3737
with:
3838
path: pr
3939

4040
- name: Clone - Master
41-
uses: actions/checkout@v3
41+
uses: actions/checkout@v4
4242
with:
4343
repository: MFlowCode/MFC
4444
ref: master
@@ -56,7 +56,7 @@ jobs:
5656
(cd pr && ./mfc.sh bench_diff ../master/bench-${{ matrix.device }}.yaml ../pr/bench-${{ matrix.device }}.yaml)
5757
5858
- name: Archive Logs
59-
uses: actions/upload-artifact@v3
59+
uses: actions/upload-artifact@v4
6060
if: always()
6161
with:
6262
name: logs-${{ matrix.device }}

.github/workflows/cleanliness.yml

Lines changed: 120 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -3,108 +3,125 @@ name: Cleanliness
33
on: [push, pull_request, workflow_dispatch]
44

55
jobs:
6-
cleanliness:
7-
name: Code Cleanliness Test
8-
runs-on: "ubuntu-latest"
9-
env:
10-
pr_everything: 0
11-
master_everything: 0
12-
steps:
13-
- name: Clone - PR
14-
uses: actions/checkout@v3
15-
with:
16-
path: pr
17-
- name: Clone - Master
18-
uses: actions/checkout@v3
19-
with:
20-
repository: MFlowCode/MFC
21-
ref: master
22-
path: master
23-
24-
- name: Setup Ubuntu
25-
run: |
26-
sudo apt update -y
27-
sudo apt install -y tar wget make cmake gcc g++ python3 python3-dev "openmpi-*" libopenmpi-dev
28-
29-
- name: Build
30-
run: |
31-
(cd pr && /bin/bash mfc.sh build -j $(nproc) --debug 2> ../pr.txt)
32-
(cd master && /bin/bash mfc.sh build -j $(nproc) --debug 2> ../master.txt)
33-
sed -i '/\/pr\//d' pr.txt
34-
sed -i '/\/master\//d' master.txt
35-
36-
- name: Unused Variables Diff
37-
continue-on-error: true
38-
run: |
39-
grep -F 'Wunused-variable' master.txt > mUnused.txt
40-
grep -F 'Wunused-variable' pr.txt > prUnused.txt
41-
diff prUnused.txt mUnused.txt
42-
43-
- name: Unused Dummy Arguments Diff
44-
continue-on-error: true
45-
run: |
46-
grep -F 'Wunused-dummy-argument' pr.txt > prDummy.txt
47-
grep -F 'Wunused-dummy-argument' master.txt > mDummy.txt
48-
diff prDummy.txt mDummy.txt
49-
50-
- name: Unused Value Diff
51-
continue-on-error: true
52-
run: |
53-
grep -F 'Wunused-value' pr.txt > prUnused_val.txt
54-
grep -F 'Wunused-value' master.txt > mUnused_val.txt
55-
diff prUnused_val.txt mUnused_val.txt
56-
57-
- name: Maybe Uninitialized Variables Diff
58-
continue-on-error: true
59-
run: |
60-
grep -F 'Wmaybe-uninitialized' pr.txt > prMaybe.txt
61-
grep -F 'Wmaybe-uninitialized' master.txt > mMaybe.txt
62-
diff prMaybe.txt mMaybe.txt
63-
64-
65-
- name: Everything Diff
66-
continue-on-error: true
67-
run: |
68-
grep '\-W' pr.txt > pr_every.txt
69-
grep '\-W' master.txt > m_every.txt
70-
diff pr_every.txt m_every.txt
71-
72-
- name: List of Warnings
73-
run: |
74-
cat pr_every.txt
75-
76-
77-
- name: Summary
78-
continue-on-error: true
79-
run: |
80-
pr_variable=$(grep -c -F 'Wunused-variable' pr.txt)
81-
pr_argument=$(grep -c -F 'Wunused-dummy-argument' pr.txt)
82-
pr_value=$(grep -c -F 'Wunused-value' pr.txt)
83-
pr_uninit=$(grep -c -F 'Wmaybe-uninitialized' pr.txt)
84-
pr_everything=$(grep -c '\-W' pr.txt)
85-
86-
master_variable=$(grep -c -F 'Wunused-variable' master.txt)
87-
master_argument=$(grep -c -F 'Wunused-dummy-argument' master.txt)
88-
master_value=$(grep -c -F 'Wunused-value' master.txt)
89-
master_uninit=$(grep -c -F 'Wmaybe-uninitialized' master.txt)
90-
master_everything=$(grep -c '\-W' master.txt )
91-
92-
echo "pr_everything=$pr_everything" >> $GITHUB_ENV
93-
echo "master_everything=$master_everything" >> $GITHUB_ENV
94-
95-
echo "Difference is how many warnings were added or removed from master to PR."
96-
echo "Negative numbers are better since you are removing warnings."
97-
echo " "
98-
echo "Unused Variable Count: $pr_variable, Difference: $((pr_variable - master_variable))"
99-
echo "Unused Dummy Argument: $pr_argument, Difference: $((pr_argument - master_argument))"
100-
echo "Unused Value: $pr_value, Difference: $((pr_value - master_value))"
101-
echo "Maybe Uninitialized: $pr_uninit, Difference: $((pr_uninit - master_uninit))"
102-
echo "Everything: $pr_everything, Difference: $((pr_everything - master_everything))"
103-
104-
105-
- name: Check Differences
106-
if: env.pr_everything > env.master_everything
107-
run: |
108-
echo "Difference between warning count in PR is greater than in master."
6+
file-changes:
7+
name: Detect File Changes
8+
runs-on: 'ubuntu-latest'
9+
outputs:
10+
checkall: ${{ steps.changes.outputs.checkall }}
11+
steps:
12+
- name: Clone
13+
uses: actions/checkout@v4
14+
15+
- name: Detect Changes
16+
uses: dorny/paths-filter@v3
17+
id: changes
18+
with:
19+
filters: ".github/file-filter.yml"
20+
21+
cleanliness:
22+
name: Code Cleanliness Check
23+
if: needs.file-changes.outputs.checkall == 'true'
24+
needs: file-changes
25+
runs-on: "ubuntu-latest"
26+
env:
27+
pr_everything: 0
28+
master_everything: 0
29+
steps:
30+
- name: Clone - PR
31+
uses: actions/checkout@v4
32+
with:
33+
path: pr
34+
- name: Clone - Master
35+
uses: actions/checkout@v4
36+
with:
37+
repository: MFlowCode/MFC
38+
ref: master
39+
path: master
40+
41+
- name: Setup Ubuntu
42+
run: |
43+
sudo apt update -y
44+
sudo apt install -y tar wget make cmake gcc g++ python3 python3-dev "openmpi-*" libopenmpi-dev
45+
46+
- name: Build
47+
run: |
48+
(cd pr && /bin/bash mfc.sh build -j $(nproc) --debug 2> ../pr.txt)
49+
(cd master && /bin/bash mfc.sh build -j $(nproc) --debug 2> ../master.txt)
50+
sed -i '/\/pr\//d' pr.txt
51+
sed -i '/\/master\//d' master.txt
52+
53+
- name: Unused Variables Diff
54+
continue-on-error: true
55+
run: |
56+
grep -F 'Wunused-variable' master.txt > mUnused.txt
57+
grep -F 'Wunused-variable' pr.txt > prUnused.txt
58+
diff prUnused.txt mUnused.txt
59+
60+
- name: Unused Dummy Arguments Diff
61+
continue-on-error: true
62+
run: |
63+
grep -F 'Wunused-dummy-argument' pr.txt > prDummy.txt
64+
grep -F 'Wunused-dummy-argument' master.txt > mDummy.txt
65+
diff prDummy.txt mDummy.txt
66+
67+
- name: Unused Value Diff
68+
continue-on-error: true
69+
run: |
70+
grep -F 'Wunused-value' pr.txt > prUnused_val.txt
71+
grep -F 'Wunused-value' master.txt > mUnused_val.txt
72+
diff prUnused_val.txt mUnused_val.txt
73+
74+
- name: Maybe Uninitialized Variables Diff
75+
continue-on-error: true
76+
run: |
77+
grep -F 'Wmaybe-uninitialized' pr.txt > prMaybe.txt
78+
grep -F 'Wmaybe-uninitialized' master.txt > mMaybe.txt
79+
diff prMaybe.txt mMaybe.txt
80+
81+
82+
- name: Everything Diff
83+
continue-on-error: true
84+
run: |
85+
grep '\-W' pr.txt > pr_every.txt
86+
grep '\-W' master.txt > m_every.txt
87+
diff pr_every.txt m_every.txt
88+
89+
- name: List of Warnings
90+
run: |
91+
cat pr_every.txt
92+
93+
94+
- name: Summary
95+
continue-on-error: true
96+
run: |
97+
pr_variable=$(grep -c -F 'Wunused-variable' pr.txt)
98+
pr_argument=$(grep -c -F 'Wunused-dummy-argument' pr.txt)
99+
pr_value=$(grep -c -F 'Wunused-value' pr.txt)
100+
pr_uninit=$(grep -c -F 'Wmaybe-uninitialized' pr.txt)
101+
pr_everything=$(grep -c '\-W' pr.txt)
102+
103+
master_variable=$(grep -c -F 'Wunused-variable' master.txt)
104+
master_argument=$(grep -c -F 'Wunused-dummy-argument' master.txt)
105+
master_value=$(grep -c -F 'Wunused-value' master.txt)
106+
master_uninit=$(grep -c -F 'Wmaybe-uninitialized' master.txt)
107+
master_everything=$(grep -c '\-W' master.txt )
108+
109+
echo "pr_everything=$pr_everything" >> $GITHUB_ENV
110+
echo "master_everything=$master_everything" >> $GITHUB_ENV
111+
112+
echo "Difference is how many warnings were added or removed from master to PR."
113+
echo "Negative numbers are better since you are removing warnings."
114+
echo " "
115+
echo "Unused Variable Count: $pr_variable, Difference: $((pr_variable - master_variable))"
116+
echo "Unused Dummy Argument: $pr_argument, Difference: $((pr_argument - master_argument))"
117+
echo "Unused Value: $pr_value, Difference: $((pr_value - master_value))"
118+
echo "Maybe Uninitialized: $pr_uninit, Difference: $((pr_uninit - master_uninit))"
119+
echo "Everything: $pr_everything, Difference: $((pr_everything - master_everything))"
120+
121+
122+
- name: Check Differences
123+
if: env.pr_everything > env.master_everything
124+
run: |
125+
echo "Difference between warning count in PR is greater than in master."
109126
110127

.github/workflows/coverage.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ jobs:
3131
run: |
3232
sudo apt update -y
3333
sudo apt install -y tar wget make cmake gcc g++ python3 python3-dev "openmpi-*" libopenmpi-dev
34-
35-
34+
3635
- name: Build
3736
run: /bin/bash mfc.sh build -j $(nproc) --gcov
3837

@@ -42,7 +41,6 @@ jobs:
4241
- name: Upload coverage reports to Codecov
4342
uses: codecov/codecov-action@v4
4443
with:
45-
token: ${{ secrets.CODECOV_TOKEN }}
4644
fail_ci_if_error: false
4745
verbose: true
4846
env:

.github/workflows/docs.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
name: Documentation
22

3-
on: [push, pull_request, workflow_dispatch]
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *' # This runs every day at midnight UTC
6+
workflow_dispatch:
7+
push:
8+
pull_request:
49

510
jobs:
611
docs:
712
name: Build & Publish
813
runs-on: ubuntu-latest
914

10-
concurrency:
11-
group: docs-publish
12-
cancel-in-progress: true
13-
1415
steps:
1516
- uses: actions/checkout@v4
1617

@@ -47,7 +48,7 @@ jobs:
4748
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"
4849
4950
- name: Publish Documentation
50-
if: github.repository == 'MFlowCode/MFC' && github.ref == 'refs/heads/master' && github.event_name == 'push'
51+
if: github.repository == 'MFlowCode/MFC' && github.ref == 'refs/heads/master' && github.event_name == 'cron'
5152
run: |
5253
set +e
5354
git ls-remote "${{ secrets.DOC_PUSH_URL }}" -q
File renamed without changes.

.github/workflows/count.yml renamed to .github/workflows/line-count.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,25 @@ name: Check Line Counts
33
on: [push, pull_request, workflow_dispatch]
44

55
jobs:
6+
file-changes:
7+
name: Detect File Changes
8+
runs-on: 'ubuntu-latest'
9+
outputs:
10+
checkall: ${{ steps.changes.outputs.checkall }}
11+
steps:
12+
- name: Clone
13+
uses: actions/checkout@v4
14+
15+
- name: Detect Changes
16+
uses: dorny/paths-filter@v3
17+
id: changes
18+
with:
19+
filters: ".github/file-filter.yml"
20+
621
sz:
722
name: Core MFC Line Difference
23+
if: needs.file-changes.outputs.checkall == 'true'
24+
needs: file-changes
825
permissions:
926
contents: read
1027
pull-requests: write

.github/workflows/phoenix/bench.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
n_ranks=4
3+
n_ranks=12
44

55
if [ "$job_device" == "gpu" ]; then
66
n_ranks=$(nvidia-smi -L | wc -l) # number of GPUs on node
@@ -9,7 +9,7 @@ if [ "$job_device" == "gpu" ]; then
99
fi
1010

1111
if ["$job_device" == "gpu"]; then
12-
./mfc.sh bench --mem 8 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix $device_opts -n $n_ranks
12+
./mfc.sh bench --mem 12 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix $device_opts -n $n_ranks
1313
else
1414
./mfc.sh bench --mem 1 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix $device_opts -n $n_ranks
15-
fi
15+
fi

.github/workflows/phoenix/submit.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ sbatch <<EOT
4141
#SBATCH --account=gts-sbryngelson3 # charge account
4242
#SBATCH -N1 # Number of nodes required
4343
$sbatch_device_opts
44-
#SBATCH -t 04:00:00 # Duration of the job (Ex: 15 mins)
44+
#SBATCH -t 02:00:00 # Duration of the job (Ex: 15 mins)
4545
#SBATCH -q embers # QOS Name
4646
#SBATCH -o$job_slug.out # Combined output and error messages file
4747
#SBATCH -W # Do not exit until the submitted job terminates.

.github/workflows/test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ jobs:
115115
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
116116
steps:
117117
- name: Clone
118-
uses: actions/checkout@v3
118+
uses: actions/checkout@v4
119119

120120
- name: Build & Test
121121
if: matrix.lbl == 'gt'
@@ -134,8 +134,8 @@ jobs:
134134
run: cat test-${{ matrix.device }}.out
135135

136136
- name: Archive Logs
137-
uses: actions/upload-artifact@v3
137+
uses: actions/upload-artifact@v4
138138
if: always()
139139
with:
140-
name: logs
140+
name: logs-${{ strategy.job-index }}-${{ matrix.device }}
141141
path: test-${{ matrix.device }}.out

0 commit comments

Comments
 (0)