-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsave.sh
executable file
·57 lines (41 loc) · 1.93 KB
/
save.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh -l
INPUT_LFS_LIMIT=${INPUT_LFS_LIMIT:-50}
cd $CONAN_USER_HOME
#FALLBACK_KEY="host-${RUNNER_OS}-target-${INPUT_TARGET_OS}-${REPO_BRANCH}"
echo "-- Conan Cache: Check if on branch"
if [ $(git symbolic-ref --short -q HEAD) ]; then
echo "-- Conan Cache: Currently on fallback key"
echo "-- Conan Cache: Install Conan"
pip3 install wheel setuptools
pip3 install conan --upgrade
echo "-- Conan Cache: Clean Conan"
conan remove -f "*" --builds
conan remove -f "*" --src
conan remove -f "*" --system-reqs
echo "-- Conan Cache: replace ${CONAN_USER_HOME_SHORT} with CONAN_USER_HOME_SHORT"
find .conan/ -name .conan_link -exec perl -pi -e 's|\Q$ENV{CONAN_USER_HOME_SHORT}\E|CONAN_USER_HOME_SHORT|g' {} +
find .conan -name .conan_link.bak -exec rm {} +
git status
echo "-- Conan Cache: Configure git"
git config user.email "[email protected]"
git config user.name "${INPUT_BOT_NAME}"
echo "-- Conan Cache: Find all files bigger than 100MB"
find .conan short -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
echo "-- Conan Cache: Find all files bigger than 50MB"
find .conan short -type f -size +50M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
echo "-- Conan Cache: Auto LFS track all files bigger than $INPUT_LFS_LIMIT MB"
find .conan short -type f -size +${INPUT_LFS_LIMIT}M -execdir git lfs track {} \;
echo "-- Conan Cache: Add everything"
git add -A
echo "-- Conan Cache: Commit locally"
git commit -m "$GITHUB_EVENT_NAME : Commit by $GITHUB_ACTOR with SHA $GITHUB_SHA on $GITHUB_REF"
echo "-- Conan Cache: Push to GitHub"
git push
echo "-- Conan Cache: Tag with explicit key : $INPUT_KEY"
git tag $INPUT_KEY
echo "-- Conan Cache: Push explicit key"
git push origin $INPUT_KEY
else
echo "-- Conan Cache: Got hit on explicit key : $INPUT_KEY"
git status
fi