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

1683 akcje githuba wykorzystywane do testow korzystaja ze starej wersji nodejs #1693

Open
wants to merge 3 commits into
base: master-dev
Choose a base branch
from

Conversation

moojek
Copy link
Collaborator

@moojek moojek commented May 7, 2024

No description provided.

@moojek
Copy link
Collaborator Author

moojek commented May 7, 2024

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ą.

@lgpawel
Copy link
Contributor

lgpawel commented May 11, 2024

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)?

@moojek
Copy link
Collaborator Author

moojek commented May 17, 2024

  1. W akcji lint warningi również się pojawiają, przynajmniej u mnie na branchu
    image
    Oczywiście to też poprawię, moje niedopatrzenie.
  2. 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)
  3. 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 w action.yml z repo akcji.
    Mam nadzieję, że nie zagmatwałem jeszcze bardziej :)

@lgpawel
Copy link
Contributor

lgpawel commented Jun 27, 2024

  1. W akcji lint warningi również się pojawiają, przynajmniej u mnie na branchu

OK, pewnie poprzednią wiadomość pisałem bez dokładnego sprawdzenia.

  1. 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.?

  1. 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 w action.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.

@moojek
Copy link
Collaborator Author

moojek commented Jun 29, 2024

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 czy yarn dev:tc to już wszystko się dzieje wewnątrz tej maszyny przy wersji Node'a podyktowanej przez NODE_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 😄).

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.

Akcje githuba wykorzystywane do testów korzystają ze starej wersji Node.js
2 participants