Skip to content

Commit 1261515

Browse files
committed
Draft: Run the pynntp tests in the build GitHub Action
Based on https://github.com/greenbender/inn-docker/actions running these pytests should add ~30 seconds but give contributors rapid visibility to breakage with the Python client.
1 parent 1383077 commit 1261515

1 file changed

Lines changed: 74 additions & 0 deletions

File tree

.github/workflows/build.yaml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,83 @@ jobs:
1313
C_TAP_VERBOSE: 1
1414

1515
steps:
16+
- run: exit 1 # TODO(cclauss): Remove this line!!!
1617
- name: checkout
1718
uses: actions/checkout@v4
1819
- name: install
1920
run: sudo -E ci/install
2021
- name: test
2122
run: ci/test
23+
24+
pynntp_tests:
25+
runs-on: ubuntu-latest
26+
27+
env:
28+
AUTHOR_TESTING: 1
29+
C_TAP_VERBOSE: 1
30+
31+
steps:
32+
- run: env
33+
- uses: actions/checkout@v4
34+
- run: sudo -E ci/install
35+
- run: ./autogen
36+
- run: ./configure CC="${COMPILER:-gcc}" --prefix=$RUNNER_WORKSPACE/inn-install
37+
--with-canlock --with-news-user=news --with-news-group=news --with-openssl
38+
--with-perl --with-python --with-sasl --with-zlib
39+
- run: make
40+
- run: mkdir -p $RUNNER_WORKSPACE/inn-install/db
41+
- run: touch $RUNNER_WORKSPACE/inn-install/db/history
42+
- run: echo -e "local.general 1726983313 usenet\nlocal.test 1726983317 usenet" > $RUNNER_WORKSPACE/inn-install/db/active.times
43+
- run: sudo chown -R news:news $RUNNER_WORKSPACE/inn-install
44+
- run: sudo INN_HOSTNAME=inn.github-action make install
45+
# This fails on:
46+
# > touch /home/runner/work/inn/inn-install/db/history
47+
# > chmod 0664 /home/runner/work/inn/inn-install/db/history
48+
# > makedbz: cannot chdir to /home/runner/work/inn/inn-install/db: Permission denied
49+
50+
# - run: sudo -u news make install
51+
52+
- run: systemctl status inn2 || true
53+
- run: env
54+
# - run: mkdir -p $RUNNER_WORKSPACE/inn-install/db
55+
# - run: sudo chown -R news:news $RUNNER_WORKSPACE/inn-install
56+
# - run: INN_HOSTNAME=inn.github-action $RUNNER_WORKSPACE/inn-install/bin/rc.news start
57+
# - run: sudo -u news INN_HOSTNAME=inn.github-action $RUNNER_WORKSPACE/inn-install/bin/rc.news start
58+
59+
# CAUTION: Running as root is dangerous.
60+
- run: sudo INN_HOSTNAME=inn.github-action $RUNNER_WORKSPACE/inn-install/bin/rc.news start
61+
62+
63+
64+
65+
- run: pwd && ls -la
66+
- run: ls -lR /etc 2>/dev/null | grep -E 'inn|news'
67+
- run: ls -l /usr/local # No `news` directory
68+
# - run: ls -lR /usr/local/news 2>/dev/null | grep -E 'inn|news' || true
69+
# - run: find /etc -name inn.conf 2>/dev/null || true
70+
- run: find /home -name inn.conf 2>/dev/null || true
71+
# - run: find /usr/local/news -name inn.conf 2>/dev/null || true
72+
- run: ls -la $RUNNER_WORKSPACE/inn/site || true
73+
- run: cat $RUNNER_WORKSPACE/inn/site/inn.conf || true # Useful for debugging
74+
# - run: cat /usr/local/news/etc/inn.conf || true # Useful for debugging
75+
# - run: ls /etc/systemd/system || true
76+
# - run: systemctl --help || true
77+
# - run: systemctl list-units --all || true
78+
# - run: systemctl list-units --type=service --all || true
79+
- run: sudo systemctl enable inn2 || true
80+
- run: sudo systemctl start inn2 || true
81+
# - run: systemctl show inn2 || true
82+
- run: systemctl status inn2 || true
83+
# - run: /usr/lib/news/bin/rc.news || true
84+
# Run all pynntp tests
85+
- run: ls -la
86+
- uses: actions/checkout@v4
87+
with:
88+
repository: greenbender/pynntp
89+
- uses: actions/setup-python@v5
90+
with:
91+
python-version: '3.x'
92+
- run: pip install --upgrade pip
93+
- run: pip install pytest
94+
- run: pip install --editable .
95+
- run: pytest

0 commit comments

Comments
 (0)