jenkinsci / github-release-plugin

Apache License 2.0
0 stars 2 forks source link

uploadGithubReleaseAsset tries to access files on controller regardless where job runs #8

Open lightbringer opened 8 months ago

lightbringer commented 8 months ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.426.3 OS: Linux - 6.2.0-1019-azure Java: 17.0.9 - Private Build (OpenJDK 64-Bit Server VM) --- ant:497.v94e7d9fffa_b_9 antisamy-markup-formatter:162.v0e6ec0fcfcf6 apache-httpcomponents-client-4-api:4.5.14-208.v438351942757 azure-sdk:157.v855da_0b_eb_dc2 bootstrap5-api:5.3.2-3 bouncycastle-api:2.30.1.77-225.v26ea_c9455fd9 branch-api:2.1148.vce12cfcdf090 build-timeout:1.32 caffeine-api:3.1.8-133.v17b_1ff2e0599 checks-api:2.0.2 cloudbees-folder:6.858.v898218f3609d command-launcher:107.v773860566e2e commons-lang3-api:3.13.0-62.v7d18e55f51e2 commons-text-api:1.11.0-95.v22a_d30ee5d36 copyartifact:722.v0662a_9b_e22a_c credentials:1319.v7eb_51b_3a_c97b_ credentials-binding:657.v2b_19db_7d6e6d display-url-api:2.200.vb_9327d658781 durable-task:550.v0930093c4b_a_6 echarts-api:5.4.3-2 email-ext:2.104 font-awesome-api:6.5.1-2 git:5.2.1 git-client:4.6.0 github:1.38.0 github-api:1.318-461.v7a_c09c9fa_d63 github-branch-source:1772.va_69eda_d018d4 github-release:10.vc8cd6962b_e7f google-metadata-plugin:0.5 google-oauth-plugin:1.330.vf5e86021cb_ec google-storage-plugin:1.360.v6ca_38618b_41f gradle:2.10 gson-api:2.10.1-15.v0d99f670e0a_7 instance-identity:185.v303dc7c645f9 ionicons-api:56.v1b_1c8c49374e jackson2-api:2.16.1-373.ve709c6871598 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.9-1 jjwt-api:0.11.5-77.v646c772fddb_0 joda-time-api:2.12.7-29.v5a_b_e3a_82269a_ jquery3-api:3.7.1-1 json-path-api:2.9.0-33.v2527142f2e1d junit:1259.v65ffcef24a_88 ldap:711.vb_d1a_491714dc mailer:463.vedf8358e006b_ matrix-auth:3.2.1 matrix-project:822.824.v14451b_c0fd42 mina-sshd-api-common:2.12.0-90.v9f7fb_9fa_3d3b_ mina-sshd-api-core:2.12.0-90.v9f7fb_9fa_3d3b_ oauth-credentials:0.646.v02b_66dc03d2e okhttp-api:4.11.0-172.vda_da_1feeb_c6e p4:1.14.4 pam-auth:1.10 pipeline-build-step:540.vb_e8849e1a_b_d8 pipeline-github-lib:42.v0739460cda_c4 pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:704.vc58b_8890a_384 pipeline-input-step:477.v339683a_8d55e pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2175.v76a_fff0a_2618 pipeline-model-definition:2.2175.v76a_fff0a_2618 pipeline-model-extensions:2.2175.v76a_fff0a_2618 pipeline-rest-api:2.34 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2175.v76a_fff0a_2618 pipeline-stage-view:2.34 pipeline-utility-steps:2.16.2 plain-credentials:143.v1b_df8b_d3b_e48 plugin-util-api:3.8.0 resource-disposer:0.23 scm-api:683.vb_16722fb_b_80b_ script-security:1321.va_73c0795b_923 snakeyaml-api:2.2-111.vc6598e30cc65 ssh-credentials:308.ve4497b_ccd8f4 ssh-slaves:2.948.vb_8050d697fec structs:337.v1b_04ea_4df7c8 timestamper:1.26 token-macro:400.v35420b_922dcb_ trilead-api:2.133.vfb_8a_7b_9c5dd1 variant:60.v7290fc0eb_b_cd windows-azure-storage:419.v4046cd70d2e3 workflow-aggregator:596.v8c21c963d92d workflow-api:1291.v51fd2a_625da_7 workflow-basic-steps:1042.ve7b_140c4a_e0c workflow-cps:3853.vb_a_490d892963 workflow-durable-task-step:1331.vc8c2fed35334 workflow-job:1385.vb_58b_86ea_fff1 workflow-multibranch:773.vc4fe1378f1d5 workflow-scm-step:415.v434365564324 workflow-step-api:657.v03b_e8115821b_ workflow-support:865.v43e78cc44e0d ws-cleanup:0.45 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

Controller is a ubuntu linux, agent is a Win11 Pro.

Reproduction steps

  1. Step: have a pipeline that produces an artefact.zip
  2. Step: verify that this artefact exist
  3. Step; use the following stage:
    stage('Publish to github')
        {
            steps
            {
                createGitHubRelease(
                            bodyText: 'Test release generated by Jenkins',
                            credentialId: 'github-upload', 
                            draft: true, 
                            name: "test", 
                            prerelease: false, 
                            repository: 'myrepo', 
                            tag: "test", 
                            commitish: '68ee3dfe5b6ccbf75a8ec8d48e4f9646025ffe68'
                        )                       
                uploadGithubReleaseAsset(
                                credentialId: 'github-upload',
                            repository: 'myrepo, 
                            tagName: "test", 
                            uploadAssets: [
                                  [filePath: 'artefact.zip']
                            ]
                        )
            }
        }

Expected Results

Actual Results

java.lang.IllegalStateException: 1 file(s) to upload were missing: artefact.zip at io.jenkins.plugins.github.release.UploadReleaseAssetStepExecution.run(UploadReleaseAssetStepExecution.java:47) at io.jenkins.plugins.github.release.UploadReleaseAssetStepExecution.run(UploadReleaseAssetStepExecution.java:14)

Anything else?

I don't know if the entire step is, but the file operations are actually executed on the controller, not the agent. If I try to attach e.g. /tmp/sometestfile that resides on the controller, the upload script actually works.

A workaround for my pipeline would be to archive the artefact first to the controller, and run the upload script from there, but since the actual artefacts produced are massive, I rather not do that.

Are you interested in contributing a fix?

No response

saippua commented 7 months ago

I'm also experiencing this bug. The error is 2 file(s) to upload were missing: ... and when I place files at the corresponding paths on the built-in node (on the PC running Jenkins server) the error goes away and the files are correctly uploaded.

I'm running the uploadGithubReleaseAsset on a node which runs on a different system.

alessandro-gandolfi-ors commented 4 months ago

i have the same situation as @saippua

radubuciuceanu commented 2 months ago

Having the same issue...