Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

does not work on arm drone build agents #26

Open
cyberb opened this issue Oct 13, 2019 · 8 comments
Open

does not work on arm drone build agents #26

cyberb opened this issue Oct 13, 2019 · 8 comments

Comments

@cyberb
Copy link

cyberb commented Oct 13, 2019

Should this work on arm agent?

@cyberb
Copy link
Author

cyberb commented Oct 13, 2019

root@odroid-xu3and4:~# docker run --rm \
>   -e PLUGIN_REBUILD=true \
>   -e PLUGIN_MOUNT="./node_modules" \
>   -e DRONE_REPO_OWNER="foo" \
>   -e DRONE_REPO_NAME="bar" \
>   -e DRONE_JOB_NUMBER=0 \
>   -v $(pwd):$(pwd) \
>   -v /tmp/cache:/cache \
>   -w $(pwd) \
>   drillster/drone-volume-cache
standard_init_linux.go:190: exec user process caused "exec format error"

@cyberb
Copy link
Author

cyberb commented Oct 13, 2019

root@odroid-xu3and4:~# docker image inspect drillster/drone-volume-cache | grep Arch
        "Architecture": "amd64",

@karlwithak
Copy link

@cyberb I was able to get this working on arm by doing the following:

  • checkout this repo
  • change the Dockerfile to be FROM alpine:3.12
  • build a new image: docker build --rm=true -t karlwithak:drone-volume-cache-v1 .
  • reference that image from your drone.yml file: image: karlwithak:drone-volume-cache-v1 (or whatever you name the tag)

@anp135
Copy link

anp135 commented Dec 1, 2021

under arm64 drone will don't build stages. You have several ways:

  1. specify arch in .drone.yml https://github.com/drone-runners/drone-runner-docker/blob/master/.drone.yml#L5-L7

  2. build local version drone -) https://github.com/harness/drone/blob/master/trigger/trigger.go#L412-L413

  3. use drocopla https://github.com/dopos/drocopla

P.S. drocopla included in dcape from 2.1.1 -)

@cyberb
Copy link
Author

cyberb commented Dec 1, 2021

  1. specify arch in .drone.yml
    But that is what I am doing and this is how found out that on arm it does not work.

This docker run above was on arm box.
Are you saying arm is not supported but arm64 is?
I must say I am not using this plugin at the moment so maybe it is all good now.
Feel free to close.

@anp135
Copy link

anp135 commented Dec 3, 2021

Are you saying arm is not supported but arm64 is?

I'm say: drone will does not build your stage under non amd64 platform with undefined section platfom.
The reason in link2 (trigger.go hardcoded default stage platform is amd64 %-) )

For workaround this "feature" I rebuild drone container with changed trigger.go L412-L413. And my friend wrote drocopla for more flexible fix this bug of logic and possible anothers in the feature over changing drone config on the fly bu plugin.

Here does not matter: which platform runs your drone - In case non amd64 - you welcome to our community "mouses eat cactus"

@cyberb
Copy link
Author

cyberb commented Dec 3, 2021

sorry you are saying undefined section platfom but we always set it, like here:
https://github.com/syncloud/platform/blob/master/.drone.jsonnet#L10

or you mean something else?

@anp135
Copy link

anp135 commented Dec 4, 2021

I don't mean anything except this drone behaviour: https://github.com/harness/drone/blob/master/trigger/trigger.go#L412-L413

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants