diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6c4703e01ace4cdf6283d9bd77ab1c33a20fc721..c39231bce20d23203e2481cd98f3e4e21e4a5fbb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,13 +1,20 @@
+# https://github.com/jonashackt/gitlab-ci-stack#configure-gitlab-runner-with-shell-executor
+# https://github.com/jonashackt/gitlab-ci-shell-example
+
 stages:
   - readme
-  - build
+  - test
   - publish
+  - cleanup
 
-image: docker:19.03.8
+before_script:
+  - docker info
+  - ls -ahl && ls -ahl *
 
 readme:
   stage: readme
-  image: alpine:3.12
+  tags:
+    - shell
   script:
     - apk add gettext
     - source .gitlab/.readme_variables
@@ -30,20 +37,32 @@ readme:
     - echo ""
     - echo ""
     - envsubst < .gitlab/readme_template | less
+    - envsubst < .gitlab/readme_template > /home/gitlab-runner/READMEs/$CI_PROJECT_NAME/README.md
     - echo ""
-    - echo ""
-build:
-  stage: build
+
+test_1:
+  stage: test
+  tags:
+    - shell
   script:
     - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
-    - docker pull $CI_REGISTRY_IMAGE:latest || true
-    - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:latest .
-    - docker push $CI_REGISTRY_IMAGE:latest
-publish:
+    - docker build --tag $CI_REGISTRY_IMAGE:arm .
+    - docker push $CI_REGISTRY_IMAGE:arm
+
+publish_1:
   stage: publish
+  tags:
+    - shell
   script:
     - docker login -u $DOCKER_USER -p $DOCKER_PASSWORD $DOCKER_REGISTRY
     - docker build --tag $DOCKER_USER/$DOCKER_REPO:arm .
     - docker push $DOCKER_USER/$DOCKER_REPO:arm
     - docker system prune --all --force
 
+cleanup:
+  stage: cleanup
+  tags:
+    - shell
+  script:
+    - rm -rf * .dockerignore .github .gitignore .gitlab
+    - ls -ahl
\ No newline at end of file