diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 071004a..f91400b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -9,6 +9,7 @@ on:
 jobs:
   Spec:
     uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main"
+    environment: ci
     with:
       # This line enables shellcheck to be run on this repository
       run_shellcheck: true
diff --git a/Gemfile b/Gemfile
index 7e6ef28..2096095 100644
--- a/Gemfile
+++ b/Gemfile
@@ -52,20 +52,13 @@ facter_version = ENV['FACTER_GEM_VERSION']
 hiera_version = ENV['HIERA_GEM_VERSION']
 
 gems = {}
-puppet_version = ENV.fetch('PUPPET_GEM_VERSION', nil)
-facter_version = ENV.fetch('FACTER_GEM_VERSION', nil)
-hiera_version = ENV.fetch('HIERA_GEM_VERSION', nil)
 
-# If PUPPET_FORGE_TOKEN is set then use authenticated source for both puppet and facter, since facter is a transitive dependency of puppet
-# Otherwise, do as before and use location_for to fetch gems from the default source
-if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
-  gems['puppet'] = ['~> 8.11', { require: false, source: 'https://rubygems-puppetcore.puppet.com' }]
-  gems['facter'] = ['~> 4.11', { require: false, source: 'https://rubygems-puppetcore.puppet.com' }]
-else
-  gems['puppet'] = location_for(puppet_version)
-  gems['facter'] = location_for(facter_version) if facter_version
-end
+gems['puppet'] = location_for(puppet_version)
+
+# If facter or hiera versions have been specified via the environment
+# variables
 
+gems['facter'] = location_for(facter_version) if facter_version
 gems['hiera'] = location_for(hiera_version) if hiera_version
 
 gems.each do |gem_name, gem_params|
diff --git a/metadata.json b/metadata.json
index 5824056..469b07b 100644
--- a/metadata.json
+++ b/metadata.json
@@ -67,7 +67,7 @@
   "requirements": [
     {
       "name": "puppet",
-      "version_requirement": ">= 8.0.0 < 9.0.0"
+      "version_requirement": ">= 7.0.0 < 9.0.0"
     }
   ],
   "pdk-version": "3.0.1",
diff --git a/spec/integration/puppetcore_spec.rb b/spec/integration/puppetcore_spec.rb
deleted file mode 100644
index a6c005a..0000000
--- a/spec/integration/puppetcore_spec.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-require 'bundler'
-
-RSpec.describe 'Gemfile.lock verification' do
-  let(:parser) { Bundler::LockfileParser.new(Bundler.read_file(Bundler.default_lockfile)) }
-  let(:private_source) { 'https://rubygems-puppetcore.puppet.com/' }
-
-  # Helper method to get source remotes for a specific gem
-  def get_gem_source_remotes(gem_name)
-    spec = parser.specs.find { |s| s.name == gem_name }
-    return [] unless spec
-
-    source = spec.source
-    return [] unless source.is_a?(Bundler::Source::Rubygems)
-
-    source.remotes.map(&:to_s)
-  end
-
-  context 'when the environment is configured with a valid PUPPET_FORGE_TOKEN' do
-    it 'returns puppet from puppetcore' do
-      remotes = get_gem_source_remotes('puppet')
-      expect(remotes).to eq([private_source]),
-                         "Expected puppet to come from puppetcore, got: #{remotes.join(', ')}"
-    end
-
-    it 'returns facter from puppetcore' do
-      remotes = get_gem_source_remotes('facter')
-      expect(remotes).to eq([private_source]),
-                         "Expected facter to come from puppetcore, got: #{remotes.join(', ')}"
-    end
-
-    it 'has PUPPET_FORGE_TOKEN set' do
-      expect(ENV.fetch('PUPPET_FORGE_TOKEN', nil)).not_to be_nil,
-                                                          'Expected PUPPET_FORGE_TOKEN to be set'
-    end
-  end
-end