Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Docs: actions page does not render; lint job is stuck on an old ansible-lint

Open
#460 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
58/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
ansible, python

Research direction

Read docs/source/actions.rst and .github/workflows/main.yml, then inspect how obal.ApplicationConfig and obsah.obsah_argument_parser are used. Fix the Sphinx parser reference and move the lint job to Python 3.13; run the docs build and lint job to check both changes and address any newly surfaced lint findings.

Written by the indexing model from the issue text.

Description

Two small CI/docs items found while reviewing the open PRs. They are independent; split if preferred.

1. docs/source/actions.rst references a function that does not exist

.. argparse::
   :ref: obal.obal_argument_parser
   :prog: obal

There is no obal.obal_argument_parser; the parser is built by obsah.obsah_argument_parser(obal.ApplicationConfig, ...). Every Sphinx build logs ERROR: Module "obal" has no attribute "obal_argument_parser" and the actions page comes out empty. Fix: expose a small obal.obal_argument_parser() wrapper (returning obsah.obsah_argument_parser(ApplicationConfig)) or point the directive at a function that exists, and consider making the docs build fail on this class of error so it cannot regress silently again.

2. The lint job runs on Python 3.9, which caps ansible-lint

.github/workflows/main.yml sets up Python 3.9 for the lint job. ansible-lint 25+ requires newer Python, so pip resolves a 24.x release there while contributors run 26.x locally. The two disagree on rules and on config keys (26.x rejected the parseable key until #454 removed it), so "lint passes locally" and "lint passes in CI" are different statements. Move the lint job to the newest Python in the test matrix (3.13) so CI runs the same ansible-lint contributors do. Expect new findings to surface on the first run; fix or scope them in the same PR.

Dominant language
Python
Stars
9
Forks
15
Avg merge
1d 2h
Merged PRs (30d)
8

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from theforeman/obal

All issues in theforeman/obal

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.