diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ba4189d1ee3a001cffe5e2de528b868f9f165e25..a03cb49d81abffbb468675b9305f4c7646e40d83 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,26 +1,15 @@
-before_script:
-  - mkdir dist
-
-build_pt1:
-  stage: build
-  image: smokserwis/docker-docs-build
-  script:
-    - python build.py lab4
-    - python build.py lab5
-    - mv -f dist/* .
-  artifacts:
-     paths:
-       - lab4/*.pdf
-       - lab5/*.pdf
-
-build_pt2:
+build:
   stage: build
   image: smokserwis/docker-docs-build
   script:
+    - mkdir dist
     - python build.py lab1
     - python build.py lab2
     - python build.py lab3
     - cp resources/lab3_program.txt dist/lab3/program.txt
+    - python build.py lab4
+    - python build.py lab5
+    - python build.py lab6
     - mv -f dist/* .
   artifacts:
      paths:
@@ -28,3 +17,6 @@ build_pt2:
        - lab2/*.pdf
        - lab3/*.pdf
        - lab3/program.txt
+       - lab4/*.pdf
+       - lab5/*.pdf
+       - lab6/*.pdf
diff --git a/README.md b/README.md
index 0f54fbc9413837d9b24ba7757b13093c48afe3a0..78164d3e8209e4d01640e58c283c22d57230aac4 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,7 @@ przez prowadzącego.
 * Lab 3 - **gotowe**
 * Lab 4 - **gotowe**
 * Lab 5 - **gotowe**
+* Lab 6 - _w trakcie_
 
 # Jak to zrobiono
 
diff --git a/src/lab6.json b/src/lab6.json
new file mode 100644
index 0000000000000000000000000000000000000000..81ed610905b688c86e46b330ce0e558377fe496e
--- /dev/null
+++ b/src/lab6.json
@@ -0,0 +1,5 @@
+[
+  {
+
+  }
+]
\ No newline at end of file
diff --git a/src/lab6.md b/src/lab6.md
new file mode 100644
index 0000000000000000000000000000000000000000..b526f5086f6e5ae8c432f2d50e5be8aa1a9877e9
--- /dev/null
+++ b/src/lab6.md
@@ -0,0 +1,88 @@
+Laboratorium 5
+==============
+
+Sprawozdaniem z tego laboratorium będą kody źródłowe programów, które na nich opracujesz.
+Po zakończeniu laboratorium wysyłasz na adres podany na końcu tej instrukcji.
+Instrukcja dla wszystkich jest taka sama.
+
+Rzeczy oznaczone tak, jak poniżej, dotyczą tego, co masz zawrzeć w sprawozdaniu. Na przykład:
+
+    Zapisz swoje imię, nazwisko, adres e-mail, kierunek i rok studiów
+    oraz grupę laboratoryjną i numer albumu.
+    
+    Podaj również numer zajęć laboratoryjnych (nr 6).
+
+# Szybka powtĂłrka
+
+_Jeśli C daje ci dość liny, by się powiesić, to C++ daje ci dość liny by związać i zakneblować swojego sąsiada, postawić żagle na małym statku i mieć jeszcze dość liny by powiesić się na rei_ - anonimowe, [The UNIX-HATERS Handbook](http://simson.net/ref/ugh.pdf) 
+
+Na tych zajęciach utrwalisz swoje wiadomości z zakresu programowania w języku C++, pisząc kilka prostych programów.
+Pamiętaj, aby każdy program umieścić w osobnym pliku. Unikniesz w ten sposób zamętu. 
+
+## Program 1: sortowanie bąbelkowe
+
+Sortowanie bąbelkowe to najprostszy algorytm sortowania. Oczywiście, nie jest on stosowany w praktyce - posortowanie
+nim X elementĂłw wymaga X-kwadrat operacji. 
+
+
+# Dodawanie rekordĂłw
+
+Po dodaniu tabeli będzie ona widoczna na liście po lewej stronie. Kliknij na tabelę, na następnie na *Wstaw*. W ten sposób
+dodać możesz kilka rekordów. 
+
+    Uzupełnij wszystkie tabele przynajmniej po 3 rekordami, a wybraną 10 rekordami.
+
+    Zamieść w sprawozdaniu komendy SQL dodające rekordy (INSERT ..)
+    Wykonaj to jako zadanie domowe.
+
+# Zapytanie!
+
+Zapytania SQL pozwalają wybrać konkretne dane. Na przykład `SELECT * FROM tabela` pokazuje nam zawartość
+całej tabeli. Każde zapytanie SQL jest zawsze skierowane do **jakiejś** bazy danych, tak więc najpierw wybierz
+swoją, a następnie kliknij SQL.
+
+    Spróbuj wybrać wszystkie rekordy ze swojej tabeli. Zrób to zapytaniem `SELECT * FROM nazwatabeli`.
+
+Twoim celem na tym laboratorium jest napisanie zapytania SQL ktĂłre umoĹźliwi pobranie $sql$.
+
+Wymagane będzie użycie klauzuli **JOIN**. Dodawaj rekordy tak, aby w wyniku otrzymać 
+przynajmniej 6 rekordĂłw.
+
+Przydatne zasoby:
+
+* [jak działa JOIN](http://www.sqlpedia.pl/laczenie-tabel-sql/)
+* [jak działa JOIN bis](http://funkcje.net/nsc/4/2867/3/38/page.html)
+* [przykłady JOIN w PostgreSQL](http://home.agh.edu.pl/~ligeza/wiki/_media/bazydanych:sql-wyzwalacze-reguly-funkcje.pdf?id=bazydanych%3Awyklady&cache=cache)
+(oraz masy innych rzeczy, dla nas nieistotnych)
+     
+     
+     Przygotuj i wykonaj takie zapytanie.
+     
+     Zamieść w sprawozdaniu zapytanie i zrzut ekranu z wynikiem.
+     
+**Zanim zakończysz pracę, skonsultuj swoje wyniki z prowadzącym!**
+     
+# Wyślij sprawozdanie
+
+Ze względu na ćwiczeniowy charakter tego sprawozdania, wysłać proszę jedynie kod 
+
+_Fast fertig_! Zapisz swoje sprawozdanie. Niektóre zadania musisz wykonać w domu.
+Jeśli masz problem z wklejeniem zdjęcia zrobionego
+z telefonu to wyślij sprawozdanie później. Jeśli nie masz takiego telefonu, wykorzystaj kolegę.
+
+    Wyślij je na adres sprawozdania@henrietta.com.pl.   
+    W tytule umieść imię, nazwisko i numer zadania.    
+    Załącz sprawozdanie, lub wklej je w treść maila.
+    
+    Pamiętaj, uczestniczysz w zajęciach LABORATORYJNYCH,
+    więc nie pisz "Projekt Adam Nowak".
+    Podejście takie będzie aktywnie penalizowane.
+
+Baza danych i interfejs będą dostępne po zajęciach. Przez ile - pytaj prowadzącego.
+
+Na następnym spotkaniu (1.06) mamy zaliczenie. Zagadnienia obejmują wszystko to,
+co było ujęte w instrukcjach. W szczególności gwarantowane są zadania z:
+
+* napisania prostego programu w C++
+* napisaniu prostego zapytania SQL
+