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

Feature (Development): Create Devcontainer #69

Open
chtzvt opened this issue Mar 18, 2024 · 3 comments
Open

Feature (Development): Create Devcontainer #69

chtzvt opened this issue Mar 18, 2024 · 3 comments
Assignees
Labels
blocked/paused help wanted Extra attention is needed

Comments

@chtzvt
Copy link
Member

chtzvt commented Mar 18, 2024

It'd be nice to centralize the local development environment setup/configuration into a devcontainer.

@chtzvt chtzvt self-assigned this Mar 18, 2024
@chtzvt
Copy link
Member Author

chtzvt commented Mar 23, 2024

I am abandoning this for now.

  • Performance in the devcontainer is extremely slow for me.
    • Basic actions (such as loading the login page) can be fast, or they can take more than 20 seconds. It's not consistent.
    • This is not only because of disk performance [1], but also due to my use of an M1 Macbook, which has to run the app container's amd64 image in emulation via Rosetta.
    • The reason I have to use an amd64 container image is particularly because Google Chrome is not packaged for aarch64 on Linux, and without Chrome, the full test suite cannot be run.
    • Also because of the amd64 emulation above, native extensions are spontaneously segfaulting.

The bottom line: There are tons of benefits to using devcontainers, but right now my experience has been slow, flaky, and inconsistent for this particular application.

le/gems/redcarpet-3.5.1/lib/redcarpet.so
16:23:03 web.1      | 7ffff81ee000-7ffff81ef000 r--p 00016000 fe:01 3183008                    /usr/local/bundle/gems/redcarpet-3.5.1/lib/redcarpet.so
16:23:03 web.1      | 7ffff81ef000-7ffff81f0000 rw-p 00017000 fe:01 3183008                    /usr/local/bundle/gems/redcarpet-3.5.1/lib/redcarpet.so
16:23:03 web.1      | 7ffff81f0000-7ffff8340000 rw-p 00000000 00:00 0 
16:23:03 web.1      | 7ffff8340000-7ffff8341000 r--p 00000000 fe:01 3180406                    /usr/local/bundle/gems/rinku-2.0.6/lib/rinku.so
16:23:03 web.1      | 7ffff8341000-7ffff8345000 r-xp 00001000 fe:01 3180406                    /usr/local/bundle/gems/rinku-2.0.6/lib/rinku.so
16:23:03 web.1      | 7ffff8345000-7ffff8346000 r--p 00005000 fe:01 3180406                    /usr/local/bundle/gems/rinku-2.0.6/lib/rinku.so
16:23:03 web.1      | 7ffff8346000-7ffff8347000 r--p 00005000 fe:01 3180406                    /usr/local/bundle/gems/rinku-2.0.6/lib/rinku.so
16:23:03 web.1      | 7ffff8347000-7ffff8348000 rw-p 00006000 fe:01 3180406                    /usr/local/bundle/gems/rinku-2.0.6/lib/rinku.so
16:23:03 web.1      | 7ffff8348000-7ffff834d000 r--p 00000000 fe:01 3192975                    /usr/local/bundle/gems/ffi-1.15.5/lib/ffi_c.so
16:23:03 web.1      | 7ffff834d000-7ffff8365000 r-xp 00005000 fe:01 3192975                    /usr/local/bundle/gems/ffi-1.15.5/lib/ffi_c.so
16:23:03 web.1      | 7ffff8365000-7ffff836e000 r--p 0001d000 fe:01 3192975                    /usr/local/bundle/gems/ffi-1.15.5/lib/ffi_c.so
16:23:03 web.1      | 7ffff836e000-7ffff836f000 r--p 00025000 fe:01 3192975                    /usr/local/bundle/gems/ffi-1.15.5/lib/ffi_c.so
16:23:03 web.1      | 7ffff836f000-7ffff8370000 rw-p 00026000 fe:01 3192975                    /usr/local/bundle/gems/ffi-1.15.5/lib/ffi_c.so
16:23:03 web.1      | 7ffff8370000-7ffff8b10000 rw-p 00000000 00:00 0 
16:23:03 web.1      | 7ffff8b11000-7ffff8b12000 r--p 00000000 fe:01 1718349                    /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.7400.6
16:23:03 web.1      | 7ffff8b12000-7ffff8b14000 r-xp 00001000 fe:01 1718349                    /usr/lib/x86_64-l  Disk Storage (0.7ms) Generated URL for file at key: scikbcl0ev5gt124je0ly11scuyb (http://localhost:3000/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhjMk5wYTJKamJEQmxkalZuZERFeU5HcGxNR3g1TVRGelkzVjVZZ1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUVdsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW1GMllYUmhjaTVxY0dWbklqc2dabWxzWlc1aGJXVXFQVlZVUmkwNEp5ZGhkbUYwWVhJdWFuQmxad1k3QmxRNkVXTnZiblJsYm5SZmRIbHdaVWtpRDJsdFlXZGxMMnB3WldjR093WlVPaEZ6WlhKMmFXTmxYMjVoYldVNkNteHZZMkZzIiwiZXhwIjoiMjAyNC0wMy0yM1QxNjoyODowMi45MjBaIiwicHVyIjoiYmxvYl9rZXkifX0=--1f32bab6ca85ef29c998a02f8d8065648d3f7f04/avatar.jpeg)
16:23:03 web.1      | inux-gnu/libgmodule-2.0.so.0.7400.6
16:23:03 web.1      | 7ffff8b14000-7ffff8b15000 r--p 00003000 fe:01 1718349                    /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.7400.6
16:23:03 web.1      | 7ffff8b15000-7ffff8b16000 r--p 00003000 fe:01 1718349                    /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.7400.6
16:23:03 web.1      | 7ffff8b16000-7ffff8b17000 rw-p 00004000 fe:01 1718349                    /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.7400.6
16:23:03 web.1      | 7ffff8b17000-7ffff8b19000 r--p 00000000 fe:01 3179608                    /usr/local/bundle/gems/html_tokenizer-0.0.7/lib/html_tokenizer_ext.so
16:23:03 web.1      | 7ffff8b19000-7ffff8b1d000 r-xp 00002000 fe:01 3179608                    /usr/local/bundle/gems/html_tokenizer-0.0.7/lib/html_tokenizer_ext.so
16:23:03 web.1      | 7ffff8b1d000-7ffff8b1e000 r--p 00006000 fe:01 3179608                    /usr/local/bundle/gems/html_tokenizer-0.0.7/lib/html_tokenizer_ext.so
16:23:03 web.1      | 7ffff8b1e000-7ffff8b1f000 r--p 00007000 fe:01 3179608                    /usr/local/bundle/gems/

@chtzvt
Copy link
Member Author

chtzvt commented Mar 23, 2024

I'm leaving the devcontainer branch up with all of the relevant configuration for us to return to this later, or if other developers would like to take a crack at optimizing it further.

@chtzvt chtzvt added help wanted Extra attention is needed blocked/paused labels Mar 23, 2024
@chtzvt
Copy link
Member Author

chtzvt commented Apr 5, 2024

Re-visiting this, might try to use https://github.com/robzolkos/rails-devcontainer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked/paused help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant