DEV: Add latest improvements from core (#55)

DEV: Add latest improvements from core (#55)

And less extreme timeouts.

diff --git a/workflow-templates/plugin-linting.yml b/workflow-templates/plugin-linting.yml
index 38a2fbf..64b47d5 100644
--- a/workflow-templates/plugin-linting.yml
+++ b/workflow-templates/plugin-linting.yml
@@ -6,6 +6,10 @@ on:
       - main
   pull_request:
 
+concurrency:
+  group: plugin-linting-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }}
+  cancel-in-progress: true
+
 jobs:
   build:
     runs-on: ubuntu-latest
diff --git a/workflow-templates/plugin-tests.yml b/workflow-templates/plugin-tests.yml
index 4c082ba..a176179 100644
--- a/workflow-templates/plugin-tests.yml
+++ b/workflow-templates/plugin-tests.yml
@@ -6,12 +6,16 @@ on:
       - main
   pull_request:
 
+concurrency:
+  group: plugin-tests-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }}
+  cancel-in-progress: true
+
 jobs:
   build:
     name: ${{ matrix.build_type }}
     runs-on: ubuntu-latest
     container: discourse/discourse_test:slim${{ matrix.build_type == 'frontend' && '-browsers' || '' }}
-    timeout-minutes: 60
+    timeout-minutes: 30
 
     env:
       DISCOURSE_HOSTNAME: www.example.com
@@ -63,6 +67,7 @@ jobs:
 
       - name: Setup gems
         run: |
+          gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
           bundle config --local path vendor/bundle
           bundle config --local deployment true
           bundle config --local without development
@@ -143,4 +148,4 @@ jobs:
       - name: Plugin QUnit
         if: matrix.build_type == 'frontend' && steps.check_qunit.outputs.files_exist == 'true'
         run: bundle exec rake plugin:qunit['${{ github.event.repository.name }}','1200000']
-        timeout-minutes: 30
+        timeout-minutes: 10

GitHub sha: 4f704598b12f7499af0e9ccc1d0e7e40207186cb

This commit appears in #55 which was approved by davidtaylorhq. It was merged by CvX.