Open moojek opened 5 months ago
Gdzie można więcej poczytać o tym, czego to właściwie są wersje? Dlaczego rozwiązanie jest takie, a nie przez zmianę klucza NODE_VERSION
wyżej w tym samym pliku konfiguracyjnym? (I trochę poza wąsko rozumianym konkursem: dlaczego w akcji lint
nie pojawiają się analogiczne ostrzeżenia, choć wszystkie numerki w jej konfiguracji są takie same?)
Ale przy okazji widzę tu pewien ogólniejszy kłopot. Jak rozumiem, akcje Githuba powinny być wykonywane w warunkach możliwie najbardziej przypominających to, co robimy naprawdę, czyli środowisko developerskie, a zwłaszcza produkcyjne. Tymczasem, jak patrzę do playbooków https://github.com/iiuni/projektzapisy/blob/master-dev/infra/playbooks/configure.yml i https://github.com/iiuni/projektzapisy/blob/master-dev/infra/playbooks/dev/playbook.yml, to wydaje mi się, że np. wersja Node'a jest w tych środowiskach... taka, jaka akurat się zainstaluje przez apt
(co w dodatku dla wyspecyfikowanego w Vagrantfile
Ubuntu 20.04 oznacza najwyraźniej 10). Może warto wymyślić, jak to zapewnić w jawniejszy sposób (niezależnie od nieaktualności ww. wersji systemu operacyjnego)?
lint
warningi również się pojawiają, przynajmniej u mnie na branchu
Oczywiście to też poprawię, moje niedopatrzenie.actions/setup-node@v4
i zmienną NODE_VERSION
o setup node'a w wyspecyfikowanej wersji w celu np. testów na tej wersji, natomiast sam program/skrypt, który tego node'a w środowisku GH Actions zainstaluje itd. jest uruchamiany za pomocą wersji Node która jest podana w action.yml
z repo akcji.
Mam nadzieję, że nie zagmatwałem jeszcze bardziej :)
- W akcji
lint
warningi również się pojawiają, przynajmniej u mnie na branchu
OK, pewnie poprzednią wiadomość pisałem bez dokładnego sprawdzenia.
- Ja zmieniłem wersje akcji (po prostu inny release), wersja node zmienia się pod spodem w repo akcji (por. https://github.com/actions/checkout/blob/v2/action.yml vs https://github.com/actions/checkout/blob/v4/action.yml)
OK. Niezależnie od innych rozważań – czy GitHub gdzieś podsumowuje takie zmiany, czy trzeba grzebać w szczegółach konfiguracji jw.?
- Mogę się mylić, ale wydaje mi się, że ten node o którym są warningi w żaden sposób nie dotyka naszego stacka. To w mojej interpretacji jest jedynie wersja "silnika", w którym są wykonywane wszystkie akcje. I tak: możemy poprosić poprzez akcję
actions/setup-node@v4
i zmiennąNODE_VERSION
o setup node'a w wyspecyfikowanej wersji w celu np. testów na tej wersji, natomiast sam program/skrypt, który tego node'a w środowisku GH Actions zainstaluje itd. jest uruchamiany za pomocą wersji Node która jest podana waction.yml
z repo akcji. Mam nadzieję, że nie zagmatwałem jeszcze bardziej :)
Czyli to dotyczy jakiegoś tam automatycznego przygotowywania maszyny wirtualnej (itp.), natomiast kiedy nasze playbooki wywołują przykładowo yarn lint
czy yarn dev:tc
to już wszystko się dzieje wewnątrz tej maszyny przy wersji Node'a podyktowanej przez NODE_VERSION
? To byłoby OK (choć aktualizacja Node po naszej stronie byłaby niezależnie od tego na rzeczy); gdyby udało się znaleźć jakieś tego potwierdzenie w dokumentacji GitHub Actions, to dla pamięci chętnie dodałbym je do Wiki.
czy GitHub gdzieś podsumowuje takie zmiany, czy trzeba grzebać w szczegółach konfiguracji jw.?
Na pewno takie informacje znajdują się w release notes'ach, np. https://github.com/actions/checkout/releases/tag/v3.0.0.
Czyli to dotyczy jakiegoś tam automatycznego przygotowywania maszyny wirtualnej (itp.), natomiast kiedy nasze playbooki wywołują przykładowo
yarn lint
czyyarn dev:tc
to już wszystko się dzieje wewnątrz tej maszyny przy wersji Node'a podyktowanej przezNODE_VERSION
?
Tak.
gdyby udało się znaleźć jakieś tego potwierdzenie w dokumentacji GitHub Actions, to dla pamięci chętnie dodałbym je do Wiki.
Selekcja setupowanej i później wykorzystywanej wersji Node dzieje się w workflow filesach poprzez podanie parametru node-version
:
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
zgodnie z instrukcją z repo akcji. To, że silnik akcji pod spodem ma tam jakąś swoją wersję Node chyba nie jest udokumentowane, bo też z perspektywy end-usera nie jest to jakoś specjalnie interesujące jak on działa (do momentu kiedy nie wyskoczy nam taki warning oczywiście 😄).
Na razie tylko zmiana wersji akcji, będę jeszcze patrzył co się zmieniło między wersjami i jaki wpływ to może mieć na nasze repozytorium, natomiast warningi już się na ten moment nie pojawiają.