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

ubuntu 2204 #4118

Merged
merged 27 commits into from
Nov 29, 2022
Merged

ubuntu 2204 #4118

merged 27 commits into from
Nov 29, 2022

Conversation

pbiggar
Copy link
Member

@pbiggar pbiggar commented Jun 9, 2022

This switches the dev and production containers to Ubuntu 22:04.

This was held up before because of trying to update the ocaml containers, which is now not necessary.

It includes an attempt to make the devcontainer build natively on M1/arm chips - however a number of things prevented that (need to wait til dotnet 8 and rescript 10), so I kept the code that abstracts it, but still made M1 Macs use amd64 emulation.

I used a new heredoc feature - hoping that's supported everywhere.

I added two scripts, inlined in the dockerfile, to install scripts. I inlined them so I wouldn't be copying extra files between the dockerfile repo and the dark repo (copying one is bad enough). The scripts make it easier to install files from the internet with hashes, which we were doing repeatedly and inconsistently.

Includes a hack from #4609 to make postgres work.

Upgrades to python 3.10, and from watchgod to watchfiles (I don't remember why this was necessary).

@pbiggar
Copy link
Member Author

pbiggar commented Jun 9, 2022

Given the next big problem is compiling OCaml, I'm going to take a break from this, until we either remove ocaml or take it off the container in some way.

@pbiggar pbiggar marked this pull request as ready for review November 29, 2022 00:04
@pbiggar
Copy link
Member Author

pbiggar commented Nov 29, 2022

The final two steps needed to get this across the line were:

  • set ulimit properly and configure nginx appropriately (see comments)
  • wait til we can download all files before starting integration tests

I'm not sure sure what changed in this version of ubuntu that made integration tests fail. It used to be that if we waited for app.css to load, then integration tests would work fine. In this PR, I discovered that now, if app.css can load, then we are not sure that blazor dlls will load. The result was that many tests couldn't load blazor files, causing many warnings and some fails.

These can't happen in production because we don't use the dotnet server for blazor assets. We also don't use nginx in our devcontainer (we continue using the same one after this PR as before it, albeit with a slightly different config).

@pbiggar pbiggar merged commit 33c3787 into main Nov 29, 2022
@pbiggar pbiggar deleted the paul/ubuntu-2204-b branch November 29, 2022 02:29
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 this pull request may close these issues.

None yet

2 participants