kiegroup / github-action-build-chain

85 stars 24 forks source link

Cannot archive artifact #466

Open ppawlowski opened 2 months ago

ppawlowski commented 2 months ago

Although I am confident about the approach, the tool is unable to archive the artefact I expect (saved docker container image).

The definition file: https://github.com/ppawlowski/driver-localfs/blob/feat-3/.github/dependency-tree.yml The workflow execution (action debug enabled): https://github.com/ppawlowski/driver-localfs/actions/runs/10496718422/job/29077985253#step:3:404 The file is definitely there, yet build-chain is not capable of archiving it as a workflow artefact.

What am I doing wrong? Thank you in advance for pointing the mistake.

Ginxo commented 2 months ago

According to the logs

 [INFO] No artifacts to archive

what's weird FMPOV?

the rights for the k8s-forge.tar file maybe does not allow to the job/node user to access the file, see

2024-08-21T20:09:58.1005856Z -rw-------    1 runner docker 555227136 Aug 21 20:09 k8s-forge.tar

What would I do?

I would do two things:

Please keep me posted about the issue. We can even arrange 1:1 online meeting in case you don't find the root of the problem.

Well done with your definition file BTW

ppawlowski commented 2 months ago

The user who executes the workflow has proper permissions to the file which supposed to be archived. Unfortunately, still no artifact is published. Furthermore, I've added a full path to the file: https://github.com/ppawlowski/driver-localfs/blob/feat-3/.github/dependency-tree.yml#L47 - still no luck.

Ginxo commented 2 months ago

did you try local execution, see Local Execution like

build-chain build branch -f https://raw.githubusercontent.com/ppawlowski/driver-localfs/feat-3/.github/dependency-tree.yml -p=ppawlowski/driver-localfs -b=main

The idea behind the test is to check whether the file is really there after the execution (no archive-artifact step will be performed for a local execution, but at least you will check whether something is interfering)

Replace main by the branch you want to check

I'm guessing your tests are about branch case, but please adapt if needed for cross_pr or full_downstream

ppawlowski commented 2 months ago

Running it locally proves, that the file is created. Furthermore, I've added workflow step within the same job which uploads the file as an artefact and it succeeded while build-chain action still claims, that there are no artefacts to upload. The dependency file used for linked GHA run: https://github.com/ppawlowski/driver-localfs/blob/6f934bf09ffe6e942f69859a9233b1fc66cdf24d/.github/dependency-tree.yml

At this point, I achieved what I wanted. However, there is definitely something wrong with artefacts uploading within the build-chain.