8000
Skip to content

#1828 - naprawa problemów z Yarnem i GH Actions - #1844

Open
330311 wants to merge 60 commits into
master-devfrom
1828-Dalsza-naprawa-akcji-dla-pakietow-m-in-JS
Open

#1828 - naprawa problemów z Yarnem i GH Actions#1844
330311 wants to merge 60 commits into
master-devfrom
1828-Dalsza-naprawa-akcji-dla-pakietow-m-in-JS

Conversation

@330311
@330311 330311 commented Apr 15, 2026
Copy link
Copy Markdown
Collaborator

Bot renovate kiedyś oprócz commitowania zmiany wersji zależności (np. w pliku package.json) commitował też zaktualizowany plik yarn.lock. W 2025 coś zmieniono w bocie (akurat wtedy bot u nas w ogóle nie działał, bo workflowy nie działały) i długo bot nie robił nic z yarn.lock. Okazuje się, że bot renovate nie chciał współpracować z naszą starą wersją yarn, więc trzeba było ją podbić. "Konserwatywne" podbicie do 3.x nie zadziałało, więc dałem najnowszą wersję 4.x. Okazało się jednak, że to pociągnęło za sobą konieczność podbicia wersji NodeJS w naszych workflowach i podbiłem najmniej jak się dało - do 18. Podbicie do 18 sprawiło, że trzeba było podbić Webpacka do wersji 5.x, by nie musieć dodawać flagi --openssl-legacy-provider (co swoją drogą prowadziło do licznych problemów) z uwagi na to, że reszta naszego stacka ma już siwe włosy i narzeka na chroniczny ból w krzyżu.

TL;DR:

  • podniesiono wersję yarn;
  • podniesiono wersję webpack;
  • podniesiono wersje paru innych pakietów zależnych od webpack;
  • podniesiono wersję node w workflowach.

Demonstracja (plik yarn.lock jest modyfikowany przez renovate w PR w moim forku repo (drobne różnice w tamtejszym renovate.json są bez znaczenia, to są próby wymuszenia częstszego działania)): w https://github.com/330311/projektzapisy/actions widać przechodzące akcje dla proponowanych przez renovate zmian i aktualizacje yarn.lock. Wywołanie:

  1. skonfigurować klasyczny GitHub token;
  2. export RENOVATE_TOKEN=[token] lokalnie w shellu;
  3. npx renovate 330311/projektzapisy [--dry-run] (opcja --dry-run jest opcjonalna, a że to fork właściwego repo, to można śmiało bez niej).
    Obecna konfiguracja aż prosi się o upgrade reszty komponentów i niestety doskwiera nam, że system był przez kilka ostatnich miesięcy zaniedbany.

Pełny changelog (jeśli nie zaznaczono inaczej, a rozróżnienie miałoby sens, zmiany dla zarówno środowiska deweloperskiego jak i produkcyjnego):

  • podniesiono wersję Node.js do 18 w workflowach test oraz lint;
  • podniesiono wersję Node.js do 18 w środowisku;
  • skonfigurowano instalację Node.js poprzez nodesource, a nie domyślne repozytorium w apt, umożliwiając tym samym instalowanie nowszych wersji niż dinozaury z APT;
  • zmieniono sposób instalacji yarn na corepack enable, zgodnie z aktualnymi zaleceniami (https://yarnpkg.com/corepack);
  • poprawki playbooka infra/playbooks/dev/services.yml (dotyczącego konfiguracji systemd w środowisku);
  • podbito Webpacka do v5;
  • podbito kilka innych pakietów zależnych od webpack (szczegóły w diffie);
  • wykonano zmiany w pliku zapisy/webpack_resources/webpack.config.js (szczegóły w diffie);
  • wdrożono parę zmian automatycznie wygenerowanych przez narzędzia takie jak yarn (np. plik zapisy/.yarnrc.yml);
  • obniżono wersję psycopg2 do działającej (kompatybilnej z naszym stackiem).

@330311 330311 changed the title 1828 - testy 1828 - naprawa problemów z Yarnem i GH Actions Apr 15, 2026
@330311
330311 marked this pull request as ready for review April 15, 2026 14:42
@330311
330311 requested a review from lgpawel April 15, 2026 14:42
@330311 330311 linked an issue Apr 15, 2026 that may be closed by this pull request
@330311
330311 marked this pull request as draft April 16, 2026 07:28
@330311
330311 commented Apr 16, 2026
Copy link
Copy Markdown
Collaborator Author

Po przemyśleniu: nie jestem przekonany, że to jest dobry kierunek zmian.

@330311
330311 marked this pull request as ready for review April 17, 2026 19:48
@330311 330311 changed the title 1828 - naprawa problemów z Yarnem i GH Actions #1828 - naprawa problemów z Yarnem i GH Actions Apr 26, 2026
@330311
330311 force-pushed the 1828-Dalsza-naprawa-akcji-dla-pakietow-m-in-JS branch from 8e49571 to 3b10ca1 Compare May 7, 2026 13:34
330311 added 3 commits May 7, 2026 15:48
This reverts commit ba01c03.
This reverts commit 54e70e2.
@330311
330311 force-pushed the 1828-Dalsza-naprawa-akcji-dla-pakietow-m-in-JS branch from 2f7b34b to 5125dd5 Compare May 7, 2026 14:01
Comment thread zapisy/requirements.production.txt
Comment thread zapisy/.yarnrc.yml

compressionLevel: mixed

defaultSemverRangePrefix: ""
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ta linijka ma wymuszać, by nie były dodawane wersje z prefiksem ^ (przypięta wersja major) oraz ~ (przypięta wersja minor).

- import_tasks: newrelic.yml
become: yes

# the following 3 tasks are to be removed once we migrate to a newer Ubuntu version
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zmiany analogiczne jak dla środowiska dev.

path: "{{ deploy_helper.new_release_path }}/venv/run/"
state: directory

- name: Activate yarn
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zmiana w związku z podbiciem wersji yarn.

keep_releases: 2

- name: Get revision
become: yes
@330311 330311 May 25, 2026
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zmiana w związku z uprawnieniami w dostępie do katalogu z repozytorium - taki dostęp deploy_user oczywiście ma, natomiast użytkownik wykonujący Ansible w VM niekoniecznie i na to się nadziałem... Co do idei tego taska powinien wykonywać właśnie deploy_user.

-r requirements.common.txt

psycopg2==2.9.12
psycopg2==2.9.10
@330311 330311 May 25, 2026
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wersje nowsze niż 2.9.10 są "zbyt nowe" i nie działają (środowisko produkcyjne nie wstaje z nimi).

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.

Aktualizacja używanych przez system pakietów

3 participants

0