40
40
41
41
- name : Strip outputs from .ipynb files
42
42
run : |
43
+ git pull
43
44
dirs=(PM1 PM2 PM3 PM4 PM5 CM1 CM2 CM3 AC1 AC2 T)
44
45
for dir in "${dirs[@]}"; do
45
46
# Check if directory exists
@@ -64,12 +65,17 @@ jobs:
64
65
fi
65
66
done
66
67
echo "Converting .irnb to .Rmd to update the .Rmd version"
68
+ # first we delete all Rmd files and regenerate. This will make sure
69
+ # that if a .irnb file is deleted then the corresponding .Rmd file
70
+ # will also be removed by this script.
71
+ git rm "$dir"/*.Rmd
67
72
R -e "
68
73
files <- list.files(path = '$dir', pattern = '\\\\.irnb$', full.names = TRUE, recursive = FALSE)
69
74
lapply(files, function(input) {
70
75
rmarkdown::convert_ipynb(input)
71
76
})
72
77
"
78
+ git add "$dir"/*.Rmd
73
79
else
74
80
echo "Directory $dir does not exist."
75
81
fi
@@ -79,27 +85,15 @@ jobs:
79
85
id : verify_diff
80
86
run : |
81
87
git pull
82
- dirs=(PM1 PM2 PM3 PM4 PM5 CM1 CM2 CM3 AC1 AC2 T)
83
- for dir in "${dirs[@]}"; do
84
- # Check if directory exists
85
- if [ -d "$dir" ]; then
86
- echo "Processing directory: $dir"
87
- git add "$dir"/*.ipynb "$dir"/*.irnb "$dir"/*.Rmd
88
- git diff "$dir"/*.ipynb "$dir"/*.irnb "$dir"/*.Rmd
89
- CHANGES=$(git status --porcelain)
90
-
91
- if [ -z "$CHANGES" ]; then
92
- # if git diff --quiet "$dir"/*.ipynb "$dir"/*.irnb "$dir"/*.Rmd; then
93
- echo "No changes were found"
94
- else
95
- echo "Found changes in directory: $dir"
96
- echo "changed=true" >> $GITHUB_OUTPUT
97
- break 1
98
- fi
99
- else
100
- echo "Directory $dir does not exist."
101
- fi
102
- done
88
+ git status --porcelain
89
+ CHANGES=$(git status --porcelain)
90
+ if [ -z "$CHANGES" ]; then
91
+ echo "No changes were found"
92
+ else
93
+ echo "Found changes"
94
+ echo "$CHANGES"
95
+ echo "changed=true" >> $GITHUB_OUTPUT
96
+ fi
103
97
104
98
- name : Commit and push stripped .ipynb files
105
99
if : steps.verify_diff.outputs.changed == 'true'
0 commit comments