From 56e05fd22d2815b75247eb48fd1983429c5b3013 Mon Sep 17 00:00:00 2001 From: TheWitness Date: Mon, 2 Nov 2026 15:08:04 -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 bde623c..6bd3301 100644 --- a/.github/workflows/plugin-ci-workflow.yml +++ b/.github/workflows/plugin-ci-workflow.yml @@ -115,7 +115,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