[{"id":38909,"web_url":"https://patchwork.libcamera.org/comment/38909/","msgid":"<29372919-c643-4aed-9b99-f0579a375e56@protonmail.com>","date":"2026-05-18T07:55:14","subject":"Re: [libcamera-ci] [PATCH 2/2] Move ssh configuration to\n\tdeploy-libcamera-docs.sh script","submitter":{"id":133,"url":"https://patchwork.libcamera.org/api/people/133/","name":"Pőcze Barnabás","email":"pobrn@protonmail.com"},"content":"2026. 05. 16. 22:29 keltezéssel, Laurent Pinchart írta:\n> Job definitions in .gitlab-ci.yml are stored by Gitlab in jobs. This\n> means that a new full pipeline needs to be run when making a change to\n> the job, as re-running a failed job will not pick up changes to the job\n> definition.\n> \n> To avoid this and help with development, move the ssh configuration\n> script to the deploy-libcamera-docs.sh file. As the libcamera-ci\n> repository is cloned freshly every time a job is run, changes to the\n> script can be tested just by re-running the job.\n> \n> While at it, fix indentation in the rsync command.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n\nSince the gitlab ci definitions are in a separate repository,\nI think this change makes sense.\n\nReviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\n\n>   .gitlab-ci/deploy-libcamera-docs.sh | 16 +++++++++++-----\n>   gitlab-ci.yml                       |  7 -------\n>   2 files changed, 11 insertions(+), 12 deletions(-)\n> \n> diff --git a/.gitlab-ci/deploy-libcamera-docs.sh b/.gitlab-ci/deploy-libcamera-docs.sh\n> index 639fdf748d07..d25c8275adf5 100755\n> --- a/.gitlab-ci/deploy-libcamera-docs.sh\n> +++ b/.gitlab-ci/deploy-libcamera-docs.sh\n> @@ -12,12 +12,18 @@ source \"$(dirname \"$0\")/lib.sh\"\n>   libcamera_deploy_docs() {\n>   \techo \"Deploying libcamera docs for ${CI_COMMIT_REF_NAME}\"\n> \n> +\tmkdir -p ~/.ssh\n> +\tchmod 700 ~/.ssh\n> +\techo \"${DEPLOY_KNOWN_HOSTS}\" > ~/.ssh/known_hosts\n> +\teval $(ssh-agent -s)\n> +\techo \"${DEPLOY_SSH_KEY_BASE64}\" | base64 -d | ssh-add -\n> +\n>   \trsync -rlz --delete --chmod=Do=rx,Fo=r \\\n> -          --exclude .doctrees \\\n> -          --exclude .buildinfo \\\n> -          --exclude objects.inv \\\n> -          docs/ \\\n> -          \"${DEPLOY_DESTINATION}/${CI_COMMIT_REF_NAME}\"\n> +\t\t--exclude .doctrees \\\n> +\t\t--exclude .buildinfo \\\n> +\t\t--exclude objects.inv \\\n> +\t\tdocs/ \\\n> +\t\t\"${DEPLOY_DESTINATION}/${CI_COMMIT_REF_NAME}\"\n>   }\n> \n>   run libcamera_deploy_docs\n> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index e3274ca56e20..427f2d2516dc 100644\n> --- a/gitlab-ci.yml\n> +++ b/gitlab-ci.yml\n> @@ -461,11 +461,4 @@ deploy-docs:\n>     needs:\n>       - job: build-docs\n>     script:\n> -    - |\n> -      mkdir -p ~/.ssh\n> -      chmod 700 ~/.ssh\n> -      echo \"${DEPLOY_KNOWN_HOSTS}\" > ~/.ssh/known_hosts\n> -      eval $(ssh-agent -s)\n> -      echo \"${DEPLOY_SSH_KEY_BASE64}\" | base64 -d | ssh-add -\n> -\n>       - $CI_PROJECT_DIR/.gitlab-ci/deploy-libcamera-docs.sh\n> --\n> Regards,\n> \n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id BD9D1BDCBC\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 May 2026 07:55:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6E4B162FD3;\n\tMon, 18 May 2026 09:55:22 +0200 (CEST)","from mail-24418.protonmail.ch (mail-24418.protonmail.ch\n\t[109.224.244.18])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5DFEC62FD3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 May 2026 09:55:20 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=protonmail.com header.i=@protonmail.com\n\theader.b=\"Tw/OelNF\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;\n\ts=protonmail3; t=1779090919; x=1779350119;\n\tbh=11NieCHuqXIFro2fnSHBrFel3QQC3TAich6KKF8A0ug=;\n\th=Date:To:From:Subject:Message-ID:In-Reply-To:References:\n\tFeedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:\n\tMessage-ID:BIMI-Selector;\n\tb=Tw/OelNFJuhavWHdjck/5Z1by0KV+xWGynn0Sy2H6ALFg1e/jIPLJRBszwwQftO54\n\tOypZg9RpKh9A2jeGOCw1FlM/Cx26sPK6SBo1+YIxOq87fn/oYWdIeuCMnAJ5abcE7c\n\tVetViLN7D3+AN6WRrsWZV/KfHTo5YRpVnhAMmv18OUb8i04u/wXDyQlZLqK+v2NWeQ\n\tlVegrvc+NMl/EXVB+/YbuTpm1QVVM27jhkAOSnZPT7t3XudtDrCSVGjy7etlmdtvRn\n\tgKMmakTysPspw9Fh01xJPoRz2A5CylzJrIj2poA1UPVm2xBWcORSM1FwwYfPjn7qc3\n\t2sBhIklU7wgTw==","Date":"Mon, 18 May 2026 07:55:14 +0000","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","From":"=?utf-8?q?P=C5=91cze_Barnab=C3=A1s?= <pobrn@protonmail.com>","Subject":"Re: [libcamera-ci] [PATCH 2/2] Move ssh configuration to\n\tdeploy-libcamera-docs.sh script","Message-ID":"<29372919-c643-4aed-9b99-f0579a375e56@protonmail.com>","In-Reply-To":"<20260516202912.383234-3-laurent.pinchart@ideasonboard.com>","References":"<20260516202912.383234-1-laurent.pinchart@ideasonboard.com>\n\t<20260516202912.383234-3-laurent.pinchart@ideasonboard.com>","Feedback-ID":"20568564:user:proton","X-Pm-Message-ID":"db5d1df57c6dceef376f18d4ac2025c71751f24b","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":38912,"web_url":"https://patchwork.libcamera.org/comment/38912/","msgid":"<177909257640.19014.15084400797367085565@localhost>","date":"2026-05-18T08:22:56","subject":"Re: [libcamera-ci] [PATCH 2/2] Move ssh configuration to\n\tdeploy-libcamera-docs.sh script","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/people/184/","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"content":"Hi Laurent,\n\nThank you for the patch.\n\nQuoting Laurent Pinchart (2026-05-16 22:29:12)\n> Job definitions in .gitlab-ci.yml are stored by Gitlab in jobs. This\n> means that a new full pipeline needs to be run when making a change to\n> the job, as re-running a failed job will not pick up changes to the job\n> definition.\n> \n> To avoid this and help with development, move the ssh configuration\n> script to the deploy-libcamera-docs.sh file. As the libcamera-ci\n> repository is cloned freshly every time a job is run, changes to the\n> script can be tested just by re-running the job.\n\nI actually kept the ssh part out of the script on purpose so that it would be\neasier to test the script locally out of the gitlab ci context. But in\nthe end I don't care too much.\n\n> \n> While at it, fix indentation in the rsync command.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>\n\nRegards,\nStefan\n\n> ---\n>  .gitlab-ci/deploy-libcamera-docs.sh | 16 +++++++++++-----\n>  gitlab-ci.yml                       |  7 -------\n>  2 files changed, 11 insertions(+), 12 deletions(-)\n> \n> diff --git a/.gitlab-ci/deploy-libcamera-docs.sh b/.gitlab-ci/deploy-libcamera-docs.sh\n> index 639fdf748d07..d25c8275adf5 100755\n> --- a/.gitlab-ci/deploy-libcamera-docs.sh\n> +++ b/.gitlab-ci/deploy-libcamera-docs.sh\n> @@ -12,12 +12,18 @@ source \"$(dirname \"$0\")/lib.sh\"\n>  libcamera_deploy_docs() {\n>         echo \"Deploying libcamera docs for ${CI_COMMIT_REF_NAME}\"\n>  \n> +       mkdir -p ~/.ssh\n> +       chmod 700 ~/.ssh\n> +       echo \"${DEPLOY_KNOWN_HOSTS}\" > ~/.ssh/known_hosts\n> +       eval $(ssh-agent -s)\n> +       echo \"${DEPLOY_SSH_KEY_BASE64}\" | base64 -d | ssh-add -\n> +\n>         rsync -rlz --delete --chmod=Do=rx,Fo=r \\\n> -          --exclude .doctrees \\\n> -          --exclude .buildinfo \\\n> -          --exclude objects.inv \\\n> -          docs/ \\\n> -          \"${DEPLOY_DESTINATION}/${CI_COMMIT_REF_NAME}\"\n> +               --exclude .doctrees \\\n> +               --exclude .buildinfo \\\n> +               --exclude objects.inv \\\n> +               docs/ \\\n> +               \"${DEPLOY_DESTINATION}/${CI_COMMIT_REF_NAME}\"\n>  }\n>  \n>  run libcamera_deploy_docs\n> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index e3274ca56e20..427f2d2516dc 100644\n> --- a/gitlab-ci.yml\n> +++ b/gitlab-ci.yml\n> @@ -461,11 +461,4 @@ deploy-docs:\n>    needs:\n>      - job: build-docs\n>    script:\n> -    - |\n> -      mkdir -p ~/.ssh\n> -      chmod 700 ~/.ssh\n> -      echo \"${DEPLOY_KNOWN_HOSTS}\" > ~/.ssh/known_hosts\n> -      eval $(ssh-agent -s)\n> -      echo \"${DEPLOY_SSH_KEY_BASE64}\" | base64 -d | ssh-add -\n> -\n>      - $CI_PROJECT_DIR/.gitlab-ci/deploy-libcamera-docs.sh\n> -- \n> Regards,\n> \n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id E7474BDCBC\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 May 2026 08:23:01 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id ED8BE62E9D;\n\tMon, 18 May 2026 10:23:00 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D543362E9D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 May 2026 10:22:59 +0200 (CEST)","from ideasonboard.com (unknown\n\t[IPv6:2a01:cb1d:8f2:800:9b19:f0b6:443c:245b])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id A8190296;\n\tMon, 18 May 2026 10:22:47 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"wOhjvzQD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1779092567;\n\tbh=XBfo0o6XoUJ/OhSUyrcj8DeHEQ+nClhQgBzDYX+f8zw=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=wOhjvzQDkZ61LzK6UwaMikMfsrgfc4TBqXdgczs4RwvGKbMkmVGDjS5eht3r8CKhP\n\tGZpzKh/9Tmk7wz2WIK5X2D//3BvKzfTRpN9VGh75Pc8TLUAT/fgGFIIYN7Vo6dKQMy\n\t05yeSGOv0aR4UcWYm4hIJSZ0YNYpCcENOcdZYNJg=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20260516202912.383234-3-laurent.pinchart@ideasonboard.com>","References":"<20260516202912.383234-1-laurent.pinchart@ideasonboard.com>\n\t<20260516202912.383234-3-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-ci] [PATCH 2/2] Move ssh configuration to\n\tdeploy-libcamera-docs.sh script","From":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 18 May 2026 10:22:56 +0200","Message-ID":"<177909257640.19014.15084400797367085565@localhost>","User-Agent":"alot/0.12.dev8+g2c003385c862.d20250602","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]