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

BackstopJS latest image is not for arm64 #1578

Closed
Echirol90 opened this issue Aug 1, 2024 · 7 comments · Fixed by #1579
Closed

BackstopJS latest image is not for arm64 #1578

Echirol90 opened this issue Aug 1, 2024 · 7 comments · Fixed by #1579

Comments

@Echirol90
Copy link

Echirol90 commented Aug 1, 2024

Hi, I try to get the latest image of backstopJS but it told me

latest: Pulling from backstopjs/backstopjs

no matching manifest for linux/arm64/v8 in the manifest list entries

For me backstopjs is compatible with arm64 architecture and it seems to have an issue only with the lastest version.

I have no issue with the version 6.3.23.

Could you please help on this ?
Many thanks !

@dgrebb
Copy link
Contributor

dgrebb commented Aug 1, 2024

Confirmed.

❯ docker pull backstopjs/backstopjs --platform linux/arm64
Using default tag: latest
latest: Pulling from backstopjs/backstopjs

What's next:
    View a summary of image vulnerabilities and recommendations → docker scout quickview backstopjs/backstopjs
    
no matching manifest for linux/arm64 in the manifest list entries

@Echirol90 if needed immediately try:

  1. cloning the repo
  2. npm i
  3. docker buildx build --no-cache --platform linux/arm64 -t backstopjs/backstopjs:6.3.23 docker --load
❯ docker buildx build --platform linux/arm64 -t backstopjs/backstopjs:6.3.23 docker --load
[+] Building 159.5s (9/9) FINISHED                                                                      docker-container:blissful_pike
  1. npm run sanity-test - the new image should be running now:
❯ npm run sanity-test

> [email protected] sanity-test
> cd test/configs/ && node ../../cli/index.js test && npm --prefix ../../ run -s success-message || npm --prefix ../../ run -s   caution-message

BackstopJS v6.3.23
Loading config:  /Users/dgrebb/Projects/BackstopJS/test/configs/backstop

COMMAND | Executing core for "test"
createBitmaps | Selected 1 of 1 scenarios. 

You could in theory publish this to the registry under a different name, if needed in CI/CD or upstream servers. There's also a docker build Action which runs pretty well.

Good luck!

@garris
Copy link
Owner

garris commented Aug 2, 2024

@dgrebb Hi! Thanks for responding to this!

I am a little confused. The docker build step includes arm64 is handled in a github action here... https://github.com/garris/BackstopJS/blob/master/.github/workflows/dockerhub-build-push.yml

docker buildx build --push --platform linux/amd64,linux/arm64 -t backstopjs/backstopjs:$PV --build-arg BACKSTOPJS_VERSION=$PV docker

It transparently working for me when I run backstop sanity test for docker on an Apple silicon computer.

But just as you and @Echirol90 show -- it doesn't work when I explicitly try to pull. Is this expected? Is there some use case that is overlooked?

Again thanks all.

@dgrebb
Copy link
Contributor

dgrebb commented Aug 2, 2024

It's there, but isn't tagged with :latest.

See `docker pull backstopjs/backstopjs:6.3.23 --platform linux/arm64` specifically pulling 6.3.23.
❯ docker pull backstopjs/backstopjs:6.3.23 --platform linux/arm64
6.3.23: Pulling from backstopjs/backstopjs
4245faf91420: Pulling fs layer
95d359f54bdf: Pulling fs layer
53c2c85b768f: Pulling fs layer
65abc8b7accd: Pulling fs layer
faded10221d5: Pull complete
3662d05a9936: Pull complete
140aa11308a7: Pull complete
0989de2f7843: Pull complete
1a14531848e4: Pull complete
5f644fecc432: Pull complete
ff07f984f280: Pull complete
Digest: sha256:ead2dc6d45c76b51a2fb50533f788f4b31d46b4b46b878a491fbb84c638775d1
Status: Downloaded newer image for backstopjs/backstopjs:6.3.23
docker.io/backstopjs/backstopjs:6.3.23

I wasn't able to explore much around publishing, but maybe the tag needs to be pushed a different way? Perhaps the post_push hook isn't running as it once did?

@garris we could push the :latest tag as part of the build/publish workflow if you'd like. On this line, in dockerhub-build-push.yml.

@dgrebb
Copy link
Contributor

dgrebb commented Aug 2, 2024

Thar she blows: #1579 🐳

@garris
Copy link
Owner

garris commented Aug 2, 2024

Makes sense! Thank you @dgrebb.

Will review tomorrow.

Cheers!

@Echirol90
Copy link
Author

You are awesome :) !!!
Thanks a lot for the answers, I will try again when the pull request is merged.
Have a nice day !

@dgrebb
Copy link
Contributor

dgrebb commented Aug 2, 2024

@Echirol90 my initial response was more complicated than it needed to be — I think this will be more helpful.

Just run docker pull backstopjs/backstopjs:6.3.23 and you'll be good to go.

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

Successfully merging a pull request may close this issue.

3 participants