diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index e6edbbab42ede61c41f171ec01e21d5acce8d2a9..7ef19e58f4bc9c209c3cfffa3ea51359c9afe069 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -24,7 +24,8 @@ jobs:
         run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV
 
       - name: Cache conda environment
-        uses: actions/cache@v2.1.7
+        # Use an always upload cache to prevent solving conda environment again and again on failing linting.
+        uses: pat-s/always-upload-cache@v2.1.5
         env:
           # Increase this value to manually invalidate the cache
           CACHE_NUMBER: 0
@@ -65,29 +66,28 @@ jobs:
         # Only check files that have changed from the base reference.
         # Womtool validate checks very slowly, so this saves a lot of time.
         run: |
-          bash -c "
-            for WDL_FILE in $(git diff --name-only origin/${{github.base_ref}} | grep -E '*.wdl$'); do
-              womtool validate $WDL_FILE
-            done
-          "
+          set -x
+          for WDL_FILE in $(git diff --name-only origin/${{github.base_ref}} | grep -E '*.wdl$'); do
+            womtool validate $WDL_FILE
+          done
       - name: run miniwdl check
-        run: bash -c 'miniwdl check $(git ls-files *.wdl)'
+        run: |
+          set -x
+          bash -c 'miniwdl check $(git ls-files *.wdl)'
 
       - name: Check copyright headers
         run: | 
-          bash -c '
-            for WDL_FILE in $(git diff --name-only origin/${{github.base_ref}} | grep -E '*.wdl$'); do
-              grep Copyright $WDL_FILE || bash -c "echo No copyright header in $WDL_FILE && exit 1"
-            done
-          '
+          set -x
+          for WDL_FILE in $(git diff --name-only origin/${{github.base_ref}} | grep -E '*.wdl$'); do
+            grep Copyright $WDL_FILE || bash -c "echo No copyright header in $WDL_FILE && exit 1"
+          done
       - name: Check parameter_meta for inputs
         run: |
-          bash -c "
-            for WDL_FILE in $(git diff --name-only origin/${{github.base_ref}} | grep -E '*.wdl$'); do
-              wdl-aid --strict $WDL_FILE > /dev/null 2> wdl-aid_stderr || 
-              if grep -z  'ValueError: Missing parameter_meta for inputs:' wdl-aid_stderr
-              then
-                 exit 1
-              fi
-            done
-          "
+          set -x
+          for WDL_FILE in $(git diff --name-only origin/${{github.base_ref}} | grep -E '*.wdl$'); do
+            wdl-aid --strict $WDL_FILE > /dev/null 2> wdl-aid_stderr || 
+            if grep -z  'ValueError: Missing parameter_meta for inputs:' wdl-aid_stderr
+            then
+                exit 1
+            fi
+          done
diff --git a/macs2.wdl b/macs2.wdl
index eb71ac1dd8ba5fe7e165068d97ecfb870d1befa6..2afe3bbee058473155d9b472145bd1fb7306f6a5 100644
--- a/macs2.wdl
+++ b/macs2.wdl
@@ -28,6 +28,7 @@ task PeakCalling {
         Array[File] controlBamsIndex
         String outDir = "macs2"
         String sampleName
+        String format = "AUTO"
         Boolean nomodel = false
         Int timeMinutes = 600  # Default to 10 hours
         String memory = "8G"
@@ -41,6 +42,7 @@ task PeakCalling {
         ~{true="--control" false="" length(controlBams) > 0} ~{sep = ' ' controlBams} \
         --outdir ~{outDir} \
         --name ~{sampleName} \
+        -f ~{format} \
         ~{true='--nomodel' false='' nomodel}
     }
 
@@ -65,6 +67,6 @@ task PeakCalling {
         memory: {description: "The amount of memory this job will use.", category: "advanced"}
         timeMinutes: {description: "The maximum amount of time the job will run in minutes.", category: "advanced"}
         dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.", category: "advanced"}
-
+        format: {description: "Which format to use. Use BAMPE for paired-end reads.", category: "common"}
     }
 }