diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 86e0471c2e03a88aa822e20854891a9e8fb1be2c..4d1503e378e83d259896b293562a6a599e831799 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -528,41 +528,6 @@ coverage:
 
 
 
-##########################################################
-documentation:
-  image: corsika/devel:u-18.04
-  dependencies:
-    - config-u-18_04
-  stage: optional
-  tags:
-    - corsika
-  script:
-    - cd build
-    - cmake --build . --target doxygen -- -j4
-    - mkdir -p .public
-    - cp -r Documentation/Doxygen/html .public/
-    - mv .public ../public
-  rules:
-    - if: '$CI_MERGE_REQUEST_LABELS =~ /Ready for code review/' # run on merge requests, if label 'Ready for code review' is set
-    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-      when: manual
-      allow_failure: true
-    - if: $CI_MERGE_REQUEST_ID
-      when: manual
-      allow_failure: true
-    - if: $CI_COMMIT_TAG
-      when: manual
-      allow_failure: true
-  artifacts:
-    expire_in: 3 weeks
-    paths:
-      - ${CI_PROJECT_DIR}/public
-  cache:
-    paths:
-      - ${CI_PROJECT_DIR}/build/
-    untracked: true
-    policy: pull
-    key: "${CI_COMMIT_REF_SLUG}-gcc"
 
 
 
diff --git a/examples/stack_example.cpp b/examples/stack_example.cpp
index 7d97400273732abd785fe8e1c7475885320b4a51..0279df8650e09e363cba6b789f33b956e75cf743 100644
--- a/examples/stack_example.cpp
+++ b/examples/stack_example.cpp
@@ -37,7 +37,7 @@ void read(corsika::super_stupid::SuperStupidStack& s) {
   assert(s.GetSize() == 11); // stack has 11 particles
 
   HEPEnergyType total_energy;
-  int i = 0;
+  [[maybe_unused]] int i = 0;
   for (const auto& p : s) {
     total_energy += p.GetEnergy();
     // particles are electrons with 1.5 GeV energy times i
diff --git a/tests/framework/testProcessSequence.cpp b/tests/framework/testProcessSequence.cpp
index e63b69ea97fd0f6a8e17d6fdf5ffd173746babfc..53ae9e26fb0a6f2e289652abf1a7f36e8641fc4f 100644
--- a/tests/framework/testProcessSequence.cpp
+++ b/tests/framework/testProcessSequence.cpp
@@ -30,7 +30,7 @@ int checkSec = 0;      // use this as a bit field
 int checkCont = 0;     // use this as a bit field
 
 class ContinuousProcess1 : public ContinuousProcess<ContinuousProcess1> {
-  int fV = 0;
+  [[maybe_unused]] int fV = 0;
 
 public:
   ContinuousProcess1(const int v)
@@ -50,7 +50,7 @@ public:
 };
 
 class ContinuousProcess2 : public ContinuousProcess<ContinuousProcess2> {
-  int fV = 0;
+  [[maybe_unused]] int fV = 0;
 
 public:
   ContinuousProcess2(const int v)
@@ -101,18 +101,12 @@ public:
     for (int i = 0; i < nData; ++i) v.parent().data_[i] += 1 + i;
     return EProcessReturn::eOk;
   }
-
-  template <typename TParticle>
-  corsika::units::si::GrammageType GetInteractionLength(TParticle&) const {
-    return 10_g / square(1_cm);
-  }
-
 private:
-  int fV;
+  [[maybe_unused]] int fV;
 };
 
 class Process2 : public InteractionProcess<Process2> {
-  int fV = 0;
+  [[maybe_unused]] int fV = 0;
 
 public:
   Process2(const int v)
@@ -136,7 +130,7 @@ public:
 };
 
 class Process3 : public InteractionProcess<Process3> {
-  int fV = 0;
+  [[maybe_unused]] int fV = 0;
 
 public:
   Process3(const int v)
@@ -160,7 +154,7 @@ public:
 };
 
 class Process4 : public BaseProcess<Process4> {
-  int fV = 0;
+  [[maybe_unused]] int fV = 0;
 
 public:
   Process4(const int v)
@@ -184,6 +178,7 @@ public:
 };
 
 class Decay1 : public DecayProcess<Decay1> {
+  [[maybe_unused]] int fV = 0;
 
 public:
   Decay1(const int) {