--- name: "devsec.ssh_hardening" on: # yamllint disable-line rule:truthy workflow_dispatch: push: branches: [master] paths: - 'roles/ssh_hardening/**' - 'molecule/ssh_hardening/**' - '.github/workflows/ssh_hardening.yml' - 'requirements.txt' pull_request: branches: [master] paths: - 'roles/ssh_hardening/**' - 'molecule/ssh_hardening/**' - '.github/workflows/ssh_hardening.yml' - 'requirements.txt' schedule: - cron: '0 6 * * 5' concurrency: group: >- ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} cancel-in-progress: true jobs: build: runs-on: ubuntu-latest env: PY_COLORS: 1 ANSIBLE_FORCE_COLOR: 1 strategy: fail-fast: false matrix: molecule_distro: - centosstream9 - rocky8 - rocky9 - fedora38 - fedora39 - ubuntu1804 - ubuntu2004 - ubuntu2204 - debian10 - debian11 - debian12 - amazon2023 - arch # - opensuse_tumbleweed # needs fix - opensuse has different file location for conf and pam (/usr/etc/ssh/?, /usr/lib/pam.d/?) steps: - name: Checkout repo uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 with: path: ansible_collections/devsec/hardening submodules: true - name: Set up Python uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5 with: python-version: 3.12 - name: Install dependencies run: | sudo apt install git python -m pip install --no-cache-dir --upgrade pip pip install -r requirements.txt working-directory: ansible_collections/devsec/hardening - name: Test with molecule run: | if [ "$MOLECULE_DISTRO" = "opensuse_tumbleweed" ]; then export MOLECULE_DOCKER_COMMAND="/usr/lib/systemd/systemd" fi molecule --version molecule test -s ssh_hardening env: MOLECULE_DISTRO: ${{ matrix.molecule_distro }} working-directory: ansible_collections/devsec/hardening