GRM-161: Fix register.yml service start and bump devx to v0.50.5 (#238)
Post-merge / detect-and-configure (push) Failing after 1m4s
Post-merge / release-and-maintain (push) Skipped

- Fix register.yml premature service start (removed systemctl start before unit file exists)
- Replace broken inline Python in ci.yml auto-merge with devx.ci.wait_for_checks
- Bump devx from v0.50.0 to v0.50.5

GRM-161
This commit was merged in pull request #238.
This commit is contained in:
2026-08-12 22:35:23 +00:00
parent d1f38243d6
commit 6cea042330
4 changed files with 29 additions and 41 deletions
+6 -26
View File
@@ -311,34 +311,14 @@ jobs:
if: needs.validate.outputs.ansible-changed == 'true' if: needs.validate.outputs.ansible-changed == 'true'
env: env:
CI_GITEA_API_TOKEN: ${{ secrets.CI_GITEA_API_TOKEN }} CI_GITEA_API_TOKEN: ${{ secrets.CI_GITEA_API_TOKEN }}
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.number }}
run: | run: |
. .venv/bin/activate 2>/dev/null || true . .venv/bin/activate 2>/dev/null || true
# Poll Gitea API for molecule-tests job status (max 20 min) python3 -m devx.ci.wait_for_checks \
for i in $(seq 1 120); do --job-name "molecule-tests" \
all_done=$(python3 -c " --repo "${{ github.repository }}" \
import json,urllib.request --timeout 1200 \
url='https://git.oblachno.oblachno.fyi/api/v1/repos/$REPOSITORY/actions/runs?limit=5&event=pull_request' --poll-interval 10 \
req=urllib.request.Request(url,headers={'Authorization':'token $CI_GITEA_API_TOKEN'}) --no-require-success
runs=json.loads(urllib.request.urlopen(req).read())
for r in runs[:3]:
jobs_url=f'https://git.oblachno.oblachno.fyi/api/v1/repos/$REPOSITORY/actions/runs/{r[\"id\"]}/jobs'
jreq=urllib.request.Request(jobs_url,headers={'Authorization':'token $CI_GITEA_API_TOKEN'})
jobs=json.loads(urllib.request.urlopen(jreq).read())
for j in (jobs if isinstance(jobs,list) else jobs.get('jobs',[])):
if j.get('name','').startswith('molecule-tests') and j.get('status')!='completed':
print('WAITING'); break
else:
continue
break
else:
print('DONE')
")
echo "Poll $i: $all_done"
[ "$all_done" = "DONE" ] && break
sleep 10
done
- name: Squash merge with task ID - name: Squash merge with task ID
env: env:
CI_GITEA_API_TOKEN: ${{ secrets.CI_GITEA_API_TOKEN }} CI_GITEA_API_TOKEN: ${{ secrets.CI_GITEA_API_TOKEN }}
+18
View File
@@ -2,6 +2,24 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [Unreleased]
### Bug Fixes
- Fix `register.yml` premature service start: removed step that ran
`systemctl --user start gitea-runner` before the systemd unit file was
created by `service.yml` (included after `register.yml`). First-time
installs were failing with "Unit gitea-runner.service not found".
- Fix `ci.yml` auto-merge IndentationError: replaced broken inline Python
polling script with `devx.ci.wait_for_checks` (the inline Python had
YAML run-block indentation leaking into `python3 -c` string).
### Dependencies
- Bump devx from v0.50.0 to v0.50.5 (adds `wait_for_checks` tool,
consolidated Ansible checks, tenacity retry in `install_tools`,
increased download retry attempts/backoff)
## [0.20.0] - 2026-08-09 ## [0.20.0] - 2026-08-09
### Features ### Features
+3 -13
View File
@@ -44,16 +44,6 @@
('already exists' not in gitea_runner_register_output.stdout | default('')) ('already exists' not in gitea_runner_register_output.stdout | default(''))
timeout: 60 timeout: 60
- name: Ensure runner service is running after registration # Note: service start is handled by service.yml (included after register.yml
ansible.builtin.command: systemctl --user start gitea-runner # in install_runner.yml). Starting here fails because the systemd unit file
become: true # has not been created yet.
become_user: "{{ gitea_runner_service_user }}"
environment:
XDG_RUNTIME_DIR: "/run/user/{{ gitea_runner_uid }}"
DBUS_SESSION_BUS_ADDRESS: "unix:path=/run/user/{{ gitea_runner_uid | default(0) }}/bus"
changed_when: true
when:
- gitea_runner_systemd_available.stat.exists
- gitea_runner_docker_rootless_setup
- gitea_runner_register_output is defined
- gitea_runner_register_output.rc | default(1) == 0
+2 -2
View File
@@ -36,7 +36,7 @@ ci = [
"build==1.5.1", "build==1.5.1",
"twine==6.2.0", "twine==6.2.0",
# Reusable CI/CD and dev tools (auto-merge, pr-review, pre-push checks, etc.) # Reusable CI/CD and dev tools (auto-merge, pr-review, pre-push checks, etc.)
"devx @ git+https://git.oblachno.oblachno.fyi/oblachno-oss/devx.git@v0.50.0", "devx @ git+https://git.oblachno.oblachno.fyi/oblachno-oss/devx.git@v0.50.5",
] ]
# Lint and type-checking tools (validate job) # Lint and type-checking tools (validate job)
lint = [ lint = [
@@ -56,7 +56,7 @@ molecule = [
dev = [ dev = [
"grm[ci,lint,molecule]", "grm[ci,lint,molecule]",
# Reusable CI/CD and dev tools (pre-push hooks, create-task, create-pr) # Reusable CI/CD and dev tools (pre-push hooks, create-task, create-pr)
"devx @ git+https://git.oblachno.oblachno.fyi/oblachno-oss/devx.git@v0.50.0", "devx @ git+https://git.oblachno.oblachno.fyi/oblachno-oss/devx.git@v0.50.5",
# Non-Python dev dependency: checkmake (Makefile linter) # Non-Python dev dependency: checkmake (Makefile linter)
# Install via: go install github.com/checkmake/checkmake/cmd/checkmake@latest # Install via: go install github.com/checkmake/checkmake/cmd/checkmake@latest
] ]