From d30362bc957c632b0b46430d2c56ade329ba0422 Mon Sep 17 00:00:00 2001 From: TheWitness Date: Mon, 2 Nov 2026 15:08:17 -0500 Subject: [PATCH] CI: set Cacti fixture ownership to runner:www-data in Setup Permissions Composer runs as the runner user in a later CI step and calls touch() while generating the fixture autoloader; utime() only succeeds for the file owner, so the runner user must own the tree. www-data is retained as group and ownership is handed back before polling. Mirrors the fix in Cacti/plugin_evidence#63. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/plugin-ci-workflow.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/plugin-ci-workflow.yml b/.github/workflows/plugin-ci-workflow.yml index dee97073..da534361 100644 --- a/.github/workflows/plugin-ci-workflow.yml +++ b/.github/workflows/plugin-ci-workflow.yml @@ -103,7 +103,11 @@ jobs: - name: Setup Permissions run: | - sudo chown -R www-data:runner ${{ github.workspace }}/cacti + # Composer runs as the runner user in a later step and calls touch() + # while generating the fixture autoloader. utime() only succeeds for the + # file owner, so the runner user must own the tree here; www-data keeps + # group access. Ownership is handed back to www-data before polling. + sudo chown -R runner:www-data ${{ github.workspace }}/cacti sudo find ${{ github.workspace }}/cacti -type d -exec chmod 775 {} \; sudo find ${{ github.workspace }}/cacti -type f -exec chmod 664 {} \; sudo chmod +x ${{ github.workspace }}/cacti/cmd.php