@@ -24,18 +24,16 @@ jobs:
24
24
run : |
25
25
useradd -m builder
26
26
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
27
- mkdir -p /home/ builder/work
28
- chown -R builder:builder /home/builder
27
+ # Make the builder user own the GitHub workspace
28
+ chown -R builder:builder $GITHUB_WORKSPACE
29
29
30
30
- name : Checkout pkgs repository
31
31
uses : actions/checkout@v4
32
32
with :
33
33
token : ${{ secrets.GITHUB_TOKEN }}
34
- path : /home/builder/work/pkgs
35
34
36
35
- name : Get latest release info from harilvfs/carch
37
36
run : |
38
- cd /home/builder/work
39
37
LATEST_RELEASE=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
40
38
"https://api.github.com/repos/harilvfs/carch/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
41
39
echo "RELEASE=$LATEST_RELEASE" >> $GITHUB_ENV
@@ -50,38 +48,40 @@ jobs:
50
48
51
49
- name : Download latest release tar file
52
50
run : |
53
- cd /home/builder/work
54
51
TAR_URL="https://github.com/harilvfs/carch/archive/refs/tags/v$VERSION.tar.gz"
55
52
echo "Downloading from: $TAR_URL"
56
53
wget -q "$TAR_URL" -O "carch-$VERSION.tar.gz"
57
54
chown builder:builder "carch-$VERSION.tar.gz"
58
55
59
56
- name : Calculate SHA256 checksum
60
57
run : |
61
- cd /home/builder/work
62
58
NEW_CHECKSUM=$(sha256sum "carch-$VERSION.tar.gz" | awk '{print $1}')
63
59
echo "NEW_CHECKSUM=$NEW_CHECKSUM" >> $GITHUB_ENV
64
60
echo "New checksum: $NEW_CHECKSUM"
65
61
66
62
- name : Check PKGBUILD file
67
63
run : |
68
- cd /home/builder/work/pkgs
69
- CURRENT_VERSION=$(grep -P "^pkgver=.*$" carch/PKGBUILD | cut -d'=' -f2)
70
- CURRENT_CHECKSUM=$(grep -P "^sha256sums=.*$" carch/PKGBUILD | grep -oP "'[^']*'" | tr -d "'")
71
-
72
- echo "Current version in PKGBUILD: $CURRENT_VERSION"
73
- echo "Current checksum in PKGBUILD: $CURRENT_CHECKSUM"
74
-
75
- if [ "$CURRENT_VERSION" != "$VERSION" ] || [ "$CURRENT_CHECKSUM" != "$NEW_CHECKSUM" ]; then
76
- echo "UPDATE_NEEDED=true" >> $GITHUB_ENV
64
+ if [ -f "carch/PKGBUILD" ]; then
65
+ CURRENT_VERSION=$(grep -P "^pkgver=.*$" carch/PKGBUILD | cut -d'=' -f2)
66
+ CURRENT_CHECKSUM=$(grep -P "^sha256sums=.*$" carch/PKGBUILD | grep -oP "'[^']*'" | tr -d "'")
67
+
68
+ echo "Current version in PKGBUILD: $CURRENT_VERSION"
69
+ echo "Current checksum in PKGBUILD: $CURRENT_CHECKSUM"
70
+
71
+ if [ "$CURRENT_VERSION" != "$VERSION" ] || [ "$CURRENT_CHECKSUM" != "$NEW_CHECKSUM" ]; then
72
+ echo "UPDATE_NEEDED=true" >> $GITHUB_ENV
73
+ else
74
+ echo "UPDATE_NEEDED=false" >> $GITHUB_ENV
75
+ fi
77
76
else
78
- echo "UPDATE_NEEDED=false" >> $GITHUB_ENV
77
+ echo "PKGBUILD file not found, cannot check versions"
78
+ exit 1
79
79
fi
80
80
81
81
- name : Update PKGBUILD and generate SRCINFO
82
82
if : env.UPDATE_NEEDED == 'true'
83
83
run : |
84
- cd /home/builder/work/pkgs/ carch
84
+ cd carch
85
85
86
86
# Update the version
87
87
sed -i "s/^pkgver=.*$/pkgver=$VERSION/" PKGBUILD
@@ -91,15 +91,14 @@ jobs:
91
91
92
92
# Set permissions and generate .SRCINFO as non-root user
93
93
chown -R builder:builder .
94
- su - builder -c "cd /home/builder/work/pkgs /carch && makepkg --printsrcinfo > .SRCINFO"
94
+ su - builder -c "cd $GITHUB_WORKSPACE /carch && makepkg --printsrcinfo > .SRCINFO"
95
95
96
96
echo "PKGBUILD updated with new version $VERSION and checksum $NEW_CHECKSUM"
97
97
echo "Generated .SRCINFO file"
98
98
99
99
- name : Commit and push changes
100
100
if : env.UPDATE_NEEDED == 'true'
101
101
run : |
102
- cd /home/builder/work/pkgs
103
102
git config --local user.email "[email protected] "
104
103
git config --local user.name "GitHub Action"
105
104
git add carch/PKGBUILD carch/.SRCINFO
0 commit comments