diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e8d686a3aa041412eb68ff083d2a711450199f79..b26f98e84c9f5af0bfef1ed284cf5b599f97a148 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,6 +2,9 @@
 stages:
   - puppet
 
+variables:
+  GIT_LFS_SKIP_SMUDGE: 1  # Disable LFS by default
+
 puppet-lint:
   tags: [puppet]
   stage: puppet
@@ -9,6 +12,7 @@ puppet-lint:
   script:
     - puppet-lint
       --no-documentation-check
+      --no-autoloader_layout-check
       --with-filename
       --config .puppet-lint.rc
       --log-format '%{path}:%{line}:%{check}:%{KIND}:%{message}'
@@ -23,9 +27,9 @@ puppet-parser:
       --strict_variables
       --render-as s
       --modulepath="$(pwd)/.."
-      manifests
-    - find templates -type f -name '*.epp' -print0 |
-      xargs -0r puppet epp validate --render-as s
+      manifests/
+    - "[ -d templates ] && find templates/ -type f -name '*.epp' -print0 |
+        xargs -0r puppet epp validate --render-as s"
     # TODO: Remove --no-strict-license once a license is in place
     - metadata-json-lint
       --no-strict-license
@@ -36,7 +40,7 @@ ruby:
   stage: puppet
   image: ruby:alpine
   script:
-    - "[ -d lib ] && find lib -type f -name '*.rb' -print0 |
-      xargs -0rn1 sh -c 'printf \"$0: \"; cat $0 | ruby -c 2>&1'"
-    - "[ -d templates ] && find templates -type f -name '*.erb' -print0 |
-      xargs -0rn1 sh -c 'printf \"$0: \"; erb -PxT \"-\" \"$0\" | ruby -c 2>&1'"
+    - "[ -d lib/ ] && find lib/ -type f -name '*.rb' -print0 |
+        xargs -0rn1 sh -c 'printf \"$0: \"; cat $0 | ruby -c 2>&1'"
+    - "[ -d templates/ ] && find templates/ -type f -name '*.erb' -print0 |
+        xargs -0rn1 sh -c 'printf \"$0: \"; erb -PxT \"-\" \"$0\" | ruby -c 2>&1'"