Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Multi-platform artifacts - can you subset what gets downloaded by platform?

Bob Swift {Appfire} January 19, 2022

If you have multiple platform specific build steps that produce artifacts for later steps, how do you configure the artifacts that get downloaded to a specific step to only those coming from a specific platform/step? Even in general, it seems you should be able to control what artifacts get downloaded either by name or step name or ??? .

2 answers

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
lliang2
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 19, 2022

Hey @Bob Swift {Appfire} 

I guess what you want is a generic feature that you can only download subset of artifacts in certain steps?

Unfortunately, we don't support it at the moment, I will let the team know about it for sure. In the meantime, I found that we already have a open ticket for it:
https://jira.atlassian.com/browse/BCLOUD-21076

You can follow that ticket and upvote it.

Cheers

Leo Liang

Bob Swift {Appfire} January 20, 2022

Thanks for the link. I think a generic solution would be best. I have determined it is pretty much impossible to have Linux and Windows builds in the same pipeline if they have artifacts. I have resorted to a linux only pipeline that kicks off the windows specific pipeline at the appropriate point. It makes it harder to visualize/understand the status in the pipeline list which could use some improvements.  

lliang2
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 20, 2022

Hmm, I guess as walk around, you can generate the artifact in different folders base on the platform? i.e. for linux step, generate artifacts under "./linux/artifacts/**", and in windows, generate artifacts under "./windows/artifacts/*"

Then even though you still need to download all artifacts, you would at least able to seperate the artifacts you want to use for different platform?

Bob Swift {Appfire} January 27, 2022

Not really feasible with the size of our artifacts and number of steps. We are pretty much into multiple pipelines for that and other limitations related to parallelism and step dependencies.

0 votes
Sumanth Anumolu January 19, 2022
If I understand correctly , In the below scrip I am using a build -wrapper to catch the c++ builds and downloading the build artifacts , and using in the next step.
pipelines:
  default:
    - step:
        name: "Build" 
        script
            - cd projects/Application
            - build-wrapper-linux-x86-64 --out-dir build_wrapper_output_directory make -j clean all            
        artifacts:    
          - projects/Application/**    
           
      - step:
         name:  "Sonar"   
         script:
            -  cd projects/Application
            -  sonar-scanner-4.6.2.2472-linux/bin/sonar-scanner -X -Dsonar.projectBaseDir=${BITBUCKET_CLONE_DIR} -Dsonar.login=${SONAR_LOGIN} 
           
TAGS
AUG Leaders

Atlassian Community Events