From f279bd95fc70fcb6f9c90a2cd1253ef686b07475 Mon Sep 17 00:00:00 2001 From: Alex Hornby Date: Fri, 20 Sep 2024 10:39:23 -0700 Subject: [PATCH] fix project_install_prefix for generate-github-actions Summary: X-link: https://github.com/facebook/sapling/pull/952 fix getdeps generate-github-actions by adding missing process_project_dir_arguments. Without this couldn't specify any project_install_prefix other that the default /usr/local mononoke installs directly to getdeps inst dir so needs a project_install_prefix of / for the artifact discovery to work regenerated the gh actions with `python3 fbcode/opensource/fbcode_builder/getdeps.py generate-github-actions mononoke --os-type=linux --allow-system-packages --output-dir fbcode/eden/oss/.github/workflows --job-file-prefix mononoke_ --job-name-prefix "Mononoke " --free-up-disk --project-install-prefix mononoke:/` Resolves https://github.com/facebook/sapling/issues/922 Reviewed By: bigfootjon Differential Revision: D63031271 fbshipit-source-id: 768a4fbd7617c6061eca66b4d916ac25a4b66be9 --- build/fbcode_builder/getdeps.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build/fbcode_builder/getdeps.py b/build/fbcode_builder/getdeps.py index ae12922f0..c8b038024 100755 --- a/build/fbcode_builder/getdeps.py +++ b/build/fbcode_builder/getdeps.py @@ -960,6 +960,7 @@ def write_job_for_platform(self, platform, args): # noqa: C901 build_opts = setup_build_options(args, platform) ctx_gen = build_opts.get_context_generator() loader = ManifestLoader(build_opts, ctx_gen) + self.process_project_dir_arguments(args, loader) manifest = loader.load_manifest(args.project) manifest_ctx = loader.ctx_gen.get_context(manifest.name) run_on = self.get_run_on(args) @@ -1147,8 +1148,10 @@ def write_job_for_platform(self, platform, args): # noqa: C901 project_prefix = "" if not build_opts.is_windows(): - project_prefix = ( - " --project-install-prefix %s:/usr/local" % manifest.name + prefix = loader.get_project_install_prefix(manifest) or "/usr/local" + project_prefix = " --project-install-prefix %s:%s" % ( + manifest.name, + prefix, ) # If we have dep from same repo, we already built it and don't want to rebuild it again