Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable unix-chkpwd AppArmor profile #216

Merged
merged 2 commits into from
Jan 24, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -238,11 +238,46 @@ jobs:
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# Disabling the unix-chkpwd AppArmor profile is necessary when
# running Molecule tests against Fedora 40 and 41; otherwise,
# the privileged container cannot successfully run sudo and
# hence Ansible is unable to do anything. See
# fedora-cloud/docker-brew-fedora#117 for more details.
#
# Purging firefox is currently necessary because the
# installation available on the GitHub runner instance provides
# two conflicting AppArmor profiles:
# /etc/apparmor.d/usr.bin.firefox and /etc/apparmor.d/firefox.
# This conflict causes the aa-disable /usr/sbin/unix_chkpwd
# command to fail.
#
# Purging passt is currently necessary because the installation
# available on the GitHub runner instance contains a wonky
# AppArmor file (/etc/apparmor.d/abstractions/passt) that causes
# the aa-disable command to fail.
#
# TODO: Remove the apt-get purge and systemctl reload commands
# when possible. See cisagov/skeleton-ansible-role#215 for more
# details.
- name: Disable unix-chkpwd AppArmor profile
run: |
sudo apt-get purge firefox passt
sudo systemctl reload apparmor.service
sudo apt-get install apparmor-utils
sudo aa-disable /usr/sbin/unix_chkpwd
if: ${{ startsWith(matrix.platform, 'fedora') }}
- name: Run molecule tests
run: >-
molecule test
--platform-name ${{ matrix.platform }}-${{ matrix.architecture }}
--scenario-name ${{ matrix.scenario }}
# TODO: Remove the apt-get install command when possible. See
# cisagov/skeleton-ansible-role#215 for more details.
- name: Re-enable unix-chkpwd AppArmor profile
run: |
sudo aa-enforce /usr/sbin/unix_chkpwd
sudo apt-get install firefox passt
if: ${{ startsWith(matrix.platform, 'fedora') }}
- name: Setup tmate debug session
uses: mxschmitt/action-tmate@v3
if: env.RUN_TMATE
Loading