--- name: "devsec.mysql_hardening" on: # yamllint disable-line rule:truthy workflow_dispatch: push: branches: [master] paths: - 'roles/mysql_hardening/**' - 'molecule/mysql_hardening/**' - '.github/workflows/mysql_hardening.yml' pull_request: branches: [master] paths: - 'roles/mysql_hardening/**' - 'molecule/mysql_hardening/**' - '.github/workflows/mysql_hardening.yml' schedule: - cron: '0 6 * * 0' 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: - centos7 - centosstream8 - centosstream9 - rocky8 - rocky9 - ubuntu1804 - ubuntu2004 - ubuntu2204 - debian10 - debian11 - debian12 # - amazon # geerlingguy.mysql does not support fedora # - arch # geerlingguy.mysql does not support arch - opensuse_tumbleweed # - fedora # geerlingguy.mysql does not support fedora steps: - name: Checkout repo uses: actions/checkout@v4 with: path: ansible_collections/devsec/hardening submodules: true - name: Set up Python 3.11 uses: actions/setup-python@v4 with: python-version: 3.11 - 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 # that was a hard one to fix. robert did it thankfully # https://github.com/robertdebock/ansible-role-mysql/commit/7562e99099b06282391ab7ed102b393a0406d212 - name: disable apparmor on debian systems run: | set -x sudo apt-get install apparmor-profiles sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld if: ${{ startsWith(matrix.molecule_distro, 'Debian') }} - name: Test with molecule run: | molecule --version molecule test -s mysql_hardening env: MOLECULE_DISTRO: ${{ matrix.molecule_distro }} working-directory: ansible_collections/devsec/hardening