--- name: "devsec.ssh_hardening BSD" on: # yamllint disable-line rule:truthy workflow_dispatch: push: branches: [master] paths: - 'roles/ssh_hardening/**' - 'molecule/ssh_hardening_bsd/**' - '.github/workflows/ssh_hardening_bsd.yml' - 'requirements.txt' - 'requirements-vm.txt' pull_request: branches: [master] paths: - 'roles/ssh_hardening/**' - 'molecule/ssh_hardening_bsd/**' - '.github/workflows/ssh_hardening_bsd.yml' - 'requirements.txt' - 'requirements-vm.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: self-hosted env: PY_COLORS: 1 ANSIBLE_FORCE_COLOR: 1 strategy: fail-fast: false matrix: molecule_distro: - openbsd7 - freebsd13 - freebsd14 steps: - name: Checkout repo uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 with: path: ansible_collections/devsec/hardening submodules: true - name: Install dependencies run: | source ~/.venv/ansible-collection-hardening/bin/activate python -m pip install --no-cache-dir --upgrade pip pip install -r requirements.txt pip install -r requirements-vm.txt working-directory: ansible_collections/devsec/hardening - name: Update Vagrant Box run: | vagrant box update --box generic/${{ matrix.molecule_distro }} || true - name: Test with molecule run: | source ~/.venv/ansible-collection-hardening/bin/activate # Workaround for https://github.com/ansible-community/molecule-plugins/issues/301 export MOLECULE_VAGRANT_PLUGIN_DIR=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')/molecule_plugins/vagrant molecule test -s ssh_hardening_bsd env: MOLECULE_DISTRO: ${{ matrix.molecule_distro }} working-directory: ansible_collections/devsec/hardening