Files
slic/.gitea/workflows/test.yml
T
tligui_y 8451b4e4fc
Run CI Tests / test (push) Failing after 1m47s
Update .gitea/workflows/test.yml
2025-08-29 14:49:08 +02:00

152 lines
4.9 KiB
YAML

name: Run CI Tests
on:
push:
branches: [test_actions_on_utils]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout test-ci repo
uses: actions/checkout@v4
with:
repository: tligui_y/test-ci
ref: main
path: test-ci
- name: Follow Code Progress
uses: ./test-ci
with:
ci-branch: test_actions_on_utils
module-dir: slic
gitea-domain: gitea.psi.ch
repo-path: tligui_y/slic
ci-token: ${{ secrets.CI_TOKEN }}
apt_packages: "postfix meson ninja-build build-essential gcc libdbus-1-dev python3-pip dunst xvfb tmux"
env: pixi
custom_shell_commands_before: |
# for elog
pixi add pip
pixi run pip install git+https://github.com/paulscherrerinstitute/py_elog.git
bash install_elog.sh
#conda run -n ci-env pip install git+https://github.com/paulscherrerinstitute/py_elog.git
#conda run -n ci-env bash install_elog.sh
# for IOC
git clone --depth 1 https://gitea.psi.ch/SwissFEL/morbidissimo.git
if [ -d morbidissimo/src/morbidissimo ]; then
echo "PYTHONPATH=$(pwd)/morbidissimo/src:$(pwd)" >> $GITHUB_ENV
elif [ -d morbidissimo/morbidissimo ]; then
echo "PYTHONPATH=$(pwd)/morbidissimo:$(pwd)" >> $GITHUB_ENV
fi
[ -f tests/ioc_plugin.py ] && cp tests/ioc_plugin.py ioc_plugin.py
echo "PYTEST_ADDOPTS=-p ioc_plugin" >> $GITHUB_ENV
echo "TEST_PV_PREFIX=TEST:" >> $GITHUB_ENV
echo "EPICS_CA_AUTO_ADDR_LIST=NO" >> $GITHUB_ENV
echo "EPICS_CA_ADDR_LIST=127.0.0.1" >> $GITHUB_ENV
echo "EPICS_CA_CONN_TMO=0.5" >> $GITHUB_ENV
# for send mail
sudo postconf -e myhostname=localhost
sudo postconf -e 'mydestination=localhost.localdomain, localhost, swissphone-gateway.com'
sudo postconf -e inet_interfaces=loopback-only
sudo postconf -e home_mailbox=Maildir/
sudo service postfix restart
mkdir -p ~/Maildir/{cur,new,tmp}
sudo service postfix restart
postconf -n | egrep 'myhostname|mydestination|inet_interfaces|home_mailbox'
ls -ld ~/Maildir ~/Maildir/{cur,new,tmp}
printf "Subject: probe\nTo: $(whoami)@localhost\n\nhi\n" | sendmail -v "$(whoami)@localhost"
ls ~/Maildir/new
test-run-cmd: |
dbus-run-session -- bash -c '
Xvfb :99 -screen 0 1024x768x24 &
XVFB_PID=$!
export DISPLAY=:99
dunst -print &
DUNST_PID=$!
sleep 1
# MAIN
tmux new-session -d -s ci "bash -lc \"eval \\\"$CMD\\\"; tmux wait-for -S done\""
sleep 1
tmux wait-for done
kill $DUNST_PID
kill $XVFB_PID
sleep 1
'
continue-on-error: true
##################################### TO NOT CHANGE #################################
- name: Checkout code
run: |
chmod +x temp-ci/give_runs_log.sh
./temp-ci/give_runs_log.sh "outputs/checkout.log"
- name: Sudo install
run: |
./temp-ci/give_runs_log.sh "outputs/sudo-install.log"
- name: Sudo versions
run: |
./temp-ci/give_runs_log.sh "outputs/sudo-versions.log"
- name: Env download
run: |
./temp-ci/give_runs_log.sh "outputs/env-setup.log"
- name: Env versions
run: |
./temp-ci/give_runs_log.sh "outputs/env-versions.log"
- name: Add of CI pytest tools
run: |
./temp-ci/give_runs_log.sh "outputs/ci-tooling.log"
- name: Run command shell before tests
run: |
./temp-ci/give_runs_log.sh "outputs/custom-shell-before.log"
- name: Run tests and generate reports
run: |
./temp-ci/give_runs_log.sh "outputs/test-ci.log"
- name: Capture Test Prints
run: |
./temp-ci/give_runs_log.sh "outputs/test-prints.log"
- name: Run command shell after tests
run: |
./temp-ci/give_runs_log.sh "outputs/custom-shell-after.log"
- name: Prepare the push to wiki
run: |
./temp-ci/give_runs_log.sh "outputs/wiki-clone.log"
- name: Commit to wiki
run: |
./temp-ci/give_runs_log.sh "outputs/commit-push-wiki.log"
- name: Wiki report URLs
run: |
./temp-ci/give_runs_log.sh "outputs/wiki-report-urls.log"