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

Ajouter git dans l'image #19

Closed
thbar opened this issue Jan 14, 2021 · 0 comments
Closed

Ajouter git dans l'image #19

thbar opened this issue Jan 14, 2021 · 0 comments
Assignees

Comments

@thbar
Copy link
Contributor

thbar commented Jan 14, 2021

En travaillant sur etalab/transport-site#1457, j'ai vu que:
1/ la commande git manquait dans l'image de base utilisée pour les tests (nécessaire dès lors qu'on a une dépendance tirée de GitHub directement, comme scrivener_html actuellement)
2/ git est installé au début du déploiement de toute façon ici:

https://github.com/etalab/transport-site/blob/dc630c98f1c55ae3f50d718175089a992388552c/Dockerfile#L4

Au final je vais ajouter git dans l'image de base et prévoir une nouvelle version, pour simplifier le travail.

@thbar thbar self-assigned this Jan 14, 2021
thbar added a commit to etalab/transport-site that referenced this issue Jan 14, 2021
thbar added a commit to etalab/transport-site that referenced this issue Feb 18, 2021
* Start upgrading Phoenix

* Follow changelog advice

* Fix deprecation warning

* Fix deprecation warning

* Adapt code for deprecation (pubsub)

* Adapt layout rendering as recommended

* Upgrade phoenix_html_sanitizer

* Fix difference seen in PhoenixDiff

This is not required right now, but could be confusing to others (or myself) later.

* Upgrade phoenix_live_reload

* Upgrade gettext

* Update timex to remove compilation warnings

* Add git to the CircleCI build

* Use alpine-compatible git install command

* Add missing openssh-client package

* Try to work around CircleCI build problem

* Update eternal to fix deprecation warning

* Fix duplicate init_test_session/2 error

* Log where the git binary is

* Attempt to save the git binary

* Fix incantation to share the git binary

* Add quickfix for missing git binary

Until etalab/transport-ops#19 is handled.

* Fix major blocking point

Many tests would previously fail with the following error:

```
function Phoenix.Template.HTML.encode_to_iodata!/1 is undefined (module Phoenix.Template.HTML is not available)
```

After a fair bit of digging, I found that the default config today is different:

https://github.com/jayjun/phoenix/blob/master/lib/phoenix/template.ex#L223-L225

`Phoenix.HTML.Engine` should be used instead of `Phoenix.Template.HTML`.

I am removing the entry completely since:
- `html` will be handled fine with the default configuration
- `json` will leverage `Phoenix.json_library`, which is configured just above

* Add useful boilerplate for later debugging

* Remove fetch_flash since we already have fetch_live_flash

The default boilerplate does not use both, and fetch_live_flash includes the previous one (https://github.com/phoenixframework/phoenix_live_view/blob/v0.15.4/lib/phoenix_live_view/router.ex#L132).

* Remove unused resource

* Bump up Elixir dependency

* Remove TODO for credo

* Bump phoenix_live_view to latest

* Try to fix solution tests by updating the chrome container

* Update hound to latest

* Stop using dialyxir release candidate & adjust configuration

* Try to save some time during build debugging

The build fails at PLT and I want to debug that, but each build will also recompiled dev + test each time, so I'm setting intermediate snapshots to hopefully shave off 7 minutes per build.

* Fix deprecation warning

* Attempt to reduce time taken by PLT construction for now

* Add note

* Fix linter error

* Bump up yarn dependencies

* Make browser window size deterministic (fixes #1504)

* set chrome driver version to 86

As 88 make find_element function fail.

* Add useful doc

* Switch to dialyxir master version to get plt_local_path option

* Save PLT files to a well-defined place

* Ignore PLT files

* Attempt to optimize build time (#1503, #1505)

* Allow 20 minutes without STDOUT output for Dialyzer PLT construction

* Attempt to fix dev/test compilation caching inefficience

* Empty commit to trigger CI build

* Revert to app_tree

Co-authored-by: Francis <[email protected]>
@thbar thbar closed this as completed in 0f42d37 Feb 19, 2021
thbar added a commit to etalab/transport-site that referenced this issue Apr 8, 2021
thbar added a commit to etalab/transport-site that referenced this issue Apr 20, 2021
* Bump OTP to 23.3

* Bump up Elixir to 1.11 & OTP to 23 via base image change

* Adjust version to be more accurate

I have traced what OTP version could have been used by `elixir:1.11.3-alpine`. There is not a strict truth here yet, but:

`erl -noshell -eval 'erlang:display(erlang:system_info(system_version))' -eval 'init:stop()'` provided a bit of partial information (e.g. Erlang/OTP 23 [erts-11.1.8] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1]), and then "erts-11.1.8" appears 5 times in https://github.com/erlang/otp/blob/master/otp_versions.table.

I picked the most recent match.

* Bump CI docker image

* Modify the Postgres container (fixes #1517)

The previous one is not updated.

* Stop installing git

See etalab/transport-ops#19

* Automatically invalidate cache when image is updated

Extracted from #1515.

* Start testing against elixir 10.4 + OTP 23 testing image

* Work around "docker pull login" error by using CircleCI rough equivalent

* Bump Node to latest LTS

This is required because I'm rebuilding the base image today, which installs at the moment the latest LTS.

* Upgrade only OTP to 23 (not Elixir)

* Add a test to make sure we do not forget updating production image

* Update prod docker image

* Remove git (already in base image)

* Fix compilation warning

* Trigger deploy
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

1 participant