diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fc9b4715..300e4981 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -38,6 +38,16 @@ jobs: uses: actions/setup-node@v2 with: node-version: 20.x + - name: Ubuntu AppArmor fix + if: ${{ matrix.os == 'ubuntu-latest' }} + # Ubuntu >= 23 has AppArmor enabled by default, which breaks Puppeteer. + # See https://github.com/puppeteer/puppeteer/issues/12818 "No usable sandbox!" + # this is taken from the solution used in Puppeteer's own CI: https://github.com/puppeteer/puppeteer/pull/13196 + # The alternative is to pin Ubuntu 22 or to use aa-exec to disable AppArmor for commands that need Puppeteer. + # This is also suggested by Chromium https://chromium.googlesource.com/chromium/src/+/main/docs/security/apparmor-userns-restrictions.md + run: | + echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns + shell: bash # TODO: Remove when possible (https://github.com/actions/setup-node/issues/515) - name: Windows Node fix if: ${{ matrix.os == 'windows-latest' }}