Skip to content

Commit f3c3de5

Browse files
Add workflos task for ZAOCZNI
1 parent 928b9d7 commit f3c3de5

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

GRUPOWE_2_ZAOCZNI.md

+62
Original file line numberDiff line numberDiff line change
@@ -316,3 +316,65 @@ Podstawowe komendy ułatwiające pracę z tagami:
316316
Taga można stworzyć zarówno z poziomu workspace, jak i "wyklikać" w Githubie.
317317

318318
Więcej do poczytania o tagach można znaleźć w [oficjalnej dokumentacji](https://git-scm.com/book/en/v2/Git-Basics-Tagging).
319+
320+
321+
## GitHub Actions workflows
322+
323+
Jednym z najłatwiejszych sposobów weryfikacji jakości kodu jest ich automatyczne sprawdzanie.
324+
Można spotkać się z wieloma sposobami na automatyzowanie zadań,
325+
tym które będziemy wykorzystywać na zajęciach będzie usługa Github Actions.
326+
Służy ona automatyzacji zadań w repozytoriach git.
327+
Github Actions umożliwia tworzenie i uruchamianie przypływów pracy (ang. *workflows*),
328+
które mogą wykonywać określoną pracę po spełnieniu określonych warunków.
329+
Może to być nowy commit lub wygenerowanie nowej PR.
330+
Korzystanie z tego typu automatyzacji wspiera ciągłą integrację i ciągłe dostarczanie (CI/CD).
331+
Co w konsekwencji prowadzi do przyśpieszenia i ulepszenia procesu dostarczania,
332+
ale też dbania o jego jakość.
333+
334+
Przykładowy przepływ pracy realizowany na zajęciach witał się z prefektem w zespole.
335+
336+
Aby go stworzyć, tworzyliśmy plik `hello.py`, który zawierał linię kodu:
337+
```python
338+
print("Hello Ola")
339+
```
340+
Następnie tworzyliśmy przepływ pracy w folderze/katalogu: `.github/workflows/` w pliku `hello.yml`.
341+
Przepływ wyglądał następująco:
342+
```yaml
343+
name: Przywitanie z prefektem
344+
345+
on:
346+
push:
347+
branches: [ "main" ]
348+
pull_request:
349+
branches: [ "main" ]
350+
351+
permissions:
352+
contents: read
353+
354+
jobs:
355+
build:
356+
357+
runs-on: ubuntu-latest
358+
359+
steps:
360+
- uses: actions/checkout@v4
361+
- name: Set up Python 3.10
362+
uses: actions/setup-python@v3
363+
with:
364+
python-version: "3.10"
365+
- name: Powitanie
366+
run: python hello.py
367+
```
368+
W pliku deklarowano nazwę, następnie na jakie akcje operacje mają się wykonać automatycznie.
369+
W tym przypadku było to na nowy commit oraz na PR w obu przypadkach jedynie dla gałęzi `main`.
370+
Następnie ustawiono odpowiednie zgody i zdefiniowano `jobs`.
371+
`jobs` odpalane są na najnowszym Ubuntu z Pythonem w wersji 3.10.
372+
Ostatnim elementem jest wywołanie pliku `hello.py`.
373+
374+
Na koniec projektu grupy zobowiązane są do stworzenia podstawowych testów dla zadań w projekcie
375+
i automatyczne ich uruchamiania dla każdego nowego commita i PR na gałęzi głównej (najczęściej *main*).
376+
Każdy użytkownik ma napisać testy (jeden lub wiele) do jednej funkcji zadania z części programistycznej.
377+
Do testów można wykorzystać `assert`.
378+
Testy można napisać w jednym pliku np. `tests.py` lub osobno dla każdego użytkownika.
379+
Następnie należy zdefiniować nowego yaml'a z automatycznym ich uruchomieniem.
380+
Testy powinny kończyć się ich poprawnym (na zielono) wykonaniem.

0 commit comments

Comments
 (0)