Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-24335

S3 Managed Artifacts Improve Path for Multi Configuration Builds

      If I have a Multi-Configuration build ("myjob") with two axes (appFlavor: "Internal" or "External"; appVariant: "Prod" or "Debug") I get the following structure on S3:

      jobs/appFlavor=Internal,appVariant=Prod,label=android/#/
      jobs/appFlavor=External,appVariant=Prod,label=android/#/
      jobs/appFlavor=Internal,appVariant=Debug,label=android/#/
      jobs/appFlavor=External,appVariant=Debug,label=android/#/

      I would like to see either:
      jobs/myjob-appFlavor=Internal,appVariant=Prod,label=android/#/
      jobs/myjob-appFlavor=External,appVariant=Prod,label=android/#/
      jobs/myjob-appFlavor=Internal,appVariant=Debug,label=android/#/
      jobs/myjob-appFlavor=External,appVariant=Debug,label=android/#/

      or

      jobs/myjob/appFlavor=Internal,appVariant=Prod,label=android/#/
      jobs/myjob/appFlavor=External,appVariant=Prod,label=android/#/
      jobs/myjob/appFlavor=Internal,appVariant=Debug,label=android/#/
      jobs/myjob/appFlavor=External,appVariant=Debug,label=android/#/

      I have two jobs with the same Axes/values, and I currently end up with collisions on S3 because the parent job name is not used in constructing the file key.

          [JENKINS-24335] S3 Managed Artifacts Improve Path for Multi Configuration Builds

          Tom Hughes added a comment -

          I'm also hitting this issue using a matrix build with one axis. With a job called "myjob" and choosing slaves based on labels, I end up with the following path:

          jobs/label=foo/build_number/artifact_name
          

          Instead, I would expect the job name to be included in the path so it doesn't conflict with other jobs:

          jobs/myjob/label=foo/build_number/artifact_name
          

          Tom Hughes added a comment - I'm also hitting this issue using a matrix build with one axis. With a job called "myjob" and choosing slaves based on labels, I end up with the following path: jobs/label=foo/build_number/artifact_name Instead, I would expect the job name to be included in the path so it doesn't conflict with other jobs: jobs/myjob/label=foo/build_number/artifact_name

            Unassigned Unassigned
            thereis Sam Reisner
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: