Skip to content

Commit 447492f

Browse files
Issue #2 : GitHub Actions.
1 parent 63e583f commit 447492f

2 files changed

Lines changed: 97 additions & 15 deletions

File tree

.github/workflows/build-matrix.yml

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,6 @@ jobs:
8484
needs: prepare
8585
runs-on: ${{ matrix.os }}
8686
timeout-minutes: 60
87-
container:
88-
image: ${{ matrix.container }}
89-
options: --user root
9087

9188
strategy:
9289
fail-fast: false
@@ -100,23 +97,22 @@ jobs:
10097
if: matrix.platform == 'ubuntu'
10198
run: |
10299
export DEBIAN_FRONTEND=noninteractive
103-
export DEBCONF_NONINTERACTIVE_SEEN=true
104100
105-
# Disable man-db triggers (create directory first if needed)
106-
mkdir -p /etc/dpkg/dpkg.cfg.d || true
107-
echo 'path-exclude /usr/share/man/*' >> /etc/dpkg/dpkg.cfg.d/01_nodoc || true
108-
echo 'path-exclude /usr/share/doc/*' >> /etc/dpkg/dpkg.cfg.d/01_nodoc || true
109-
rm -f /var/lib/man-db/auto-update || true
101+
# Disable man-db triggers (best effort)
102+
sudo mkdir -p /etc/dpkg/dpkg.cfg.d || true
103+
echo 'path-exclude /usr/share/man/*' | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc > /dev/null || true
104+
echo 'path-exclude /usr/share/doc/*' | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc > /dev/null || true
105+
sudo rm -f /var/lib/man-db/auto-update || true
110106
111107
# Add PostgreSQL APT repository
112-
apt-get update
113-
apt-get install -y --no-install-recommends wget gnupg2 lsb-release ca-certificates
114-
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /usr/share/keyrings/postgresql.gpg
115-
echo "deb [signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
108+
sudo apt-get update
109+
sudo apt-get install -y --no-install-recommends wget gnupg2 lsb-release ca-certificates
110+
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg > /dev/null
111+
echo "deb [signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
116112
117113
# Install build dependencies
118-
apt-get update
119-
apt-get install -y --no-install-recommends \
114+
sudo apt-get update
115+
sudo apt-get install -y --no-install-recommends \
120116
build-essential \
121117
postgresql-server-dev-${{ matrix.pg_version }} \
122118
golang-go \
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#!/bin/bash
2+
# Verify Ubuntu configuration has proper sudo commands
3+
4+
echo "╔════════════════════════════════════════════════════════════════╗"
5+
echo "║ ║"
6+
echo "║ Ubuntu Configuration Verification ║"
7+
echo "║ ║"
8+
echo "╚════════════════════════════════════════════════════════════════╝"
9+
echo
10+
11+
GREEN='\033[0;32m'
12+
RED='\033[0;31m'
13+
NC='\033[0m'
14+
15+
WORKFLOW=".github/workflows/build-matrix.yml"
16+
ERRORS=0
17+
18+
echo "Checking Ubuntu dependencies section..."
19+
echo
20+
21+
# Check for sudo commands
22+
if grep -A 30 "Install dependencies (Ubuntu)" "$WORKFLOW" | grep -q "sudo apt-get"; then
23+
echo -e "${GREEN}${NC} sudo apt-get commands found"
24+
else
25+
echo -e "${RED}${NC} Missing sudo for apt-get"
26+
((ERRORS++))
27+
fi
28+
29+
if grep -A 30 "Install dependencies (Ubuntu)" "$WORKFLOW" | grep -q "sudo mkdir"; then
30+
echo -e "${GREEN}${NC} sudo mkdir found"
31+
else
32+
echo -e "${RED}${NC} Missing sudo for mkdir"
33+
((ERRORS++))
34+
fi
35+
36+
if grep -A 30 "Install dependencies (Ubuntu)" "$WORKFLOW" | grep -q "sudo tee"; then
37+
echo -e "${GREEN}${NC} sudo tee found (for file writes)"
38+
else
39+
echo -e "${RED}${NC} Missing sudo tee for file writes"
40+
((ERRORS++))
41+
fi
42+
43+
# Check PostgreSQL repository setup
44+
if grep -A 30 "Install dependencies (Ubuntu)" "$WORKFLOW" | grep -q "postgresql.gpg"; then
45+
echo -e "${GREEN}${NC} PostgreSQL GPG key configured"
46+
else
47+
echo -e "${RED}${NC} Missing PostgreSQL GPG key"
48+
((ERRORS++))
49+
fi
50+
51+
if grep -A 30 "Install dependencies (Ubuntu)" "$WORKFLOW" | grep -q "pgdg.list"; then
52+
echo -e "${GREEN}${NC} PostgreSQL repository configured"
53+
else
54+
echo -e "${RED}${NC} Missing PostgreSQL repository"
55+
((ERRORS++))
56+
fi
57+
58+
# Check for required packages
59+
PACKAGES=(build-essential postgresql-server-dev golang-go libjson-c-dev pkg-config)
60+
echo
61+
echo "Checking required packages..."
62+
for pkg in "${PACKAGES[@]}"; do
63+
if grep -A 30 "Install dependencies (Ubuntu)" "$WORKFLOW" | grep -q "$pkg"; then
64+
echo -e "${GREEN}${NC} Package: $pkg"
65+
else
66+
echo -e "${RED}${NC} Missing package: $pkg"
67+
((ERRORS++))
68+
fi
69+
done
70+
71+
echo
72+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
73+
74+
if [ $ERRORS -eq 0 ]; then
75+
echo -e "${GREEN}✓ Ubuntu configuration looks good!${NC}"
76+
echo
77+
echo "Configuration summary:"
78+
echo " ✓ sudo used for all system commands"
79+
echo " ✓ PostgreSQL repository configured"
80+
echo " ✓ All required packages included"
81+
echo " ✓ man-db optimization (best effort)"
82+
exit 0
83+
else
84+
echo -e "${RED}✗ Found $ERRORS issue(s)${NC}"
85+
exit 1
86+
fi

0 commit comments

Comments
 (0)