New Upstream Release - ruby-semantic-puppet
Ready changes
Summary
Merged new upstream version: 1.1.0 (was: 1.0.4).
Resulting package
Built on 2023-05-02T12:07 (took 12m1s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases ruby-semantic-puppet
Lintian Result
Diff
diff --git a/.github/workflows/mend.yaml b/.github/workflows/mend.yaml
new file mode 100644
index 0000000..b69831d
--- /dev/null
+++ b/.github/workflows/mend.yaml
@@ -0,0 +1,35 @@
+---
+name: Mend Monitor
+on:
+ push:
+ branches:
+ - main
+jobs:
+ mend_monitor:
+ if: ${{ github.repository_owner == 'puppetlabs' }}
+ runs-on: ubuntu-latest
+ name: Mend Monitor
+ steps:
+ - name: Checkout current PR
+ uses: actions/checkout@v3
+ - name: Setup Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: 2.7
+ - name: Create lock
+ run: bundle lock
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+ - name: Download Mend
+ run: curl -o wss-unified-agent.jar https://unified-agent.s3.amazonaws.com/wss-unified-agent.jar
+ - name: Run Mend
+ run: java -jar wss-unified-agent.jar
+ env:
+ WS_APIKEY: ${{ secrets.MEND_API_KEY }}
+ WS_WSS_URL: https://saas-eu.whitesourcesoftware.com/agent
+ WS_USERKEY: ${{ secrets.MEND_TOKEN }}
+ WS_PRODUCTNAME: Puppet Agent
+ WS_PROJECTNAME: ${{ github.event.repository.name }}
+
diff --git a/.github/workflows/rspec_tests.yaml b/.github/workflows/rspec_tests.yaml
new file mode 100644
index 0000000..c6ae39a
--- /dev/null
+++ b/.github/workflows/rspec_tests.yaml
@@ -0,0 +1,40 @@
+---
+name: RSpec test
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+ branches: [main]
+
+jobs:
+ rspec_tests:
+ name: ${{ matrix.cfg.os }}(ruby ${{ matrix.cfg.ruby }})
+ strategy:
+ matrix:
+ cfg:
+ - {os: ubuntu-20.04, ruby: '2.7'}
+ - {os: ubuntu-20.04, ruby: '3.0'}
+ - {os: ubuntu-20.04, ruby: '3.2'}
+ - {os: ubuntu-20.04, ruby: 'jruby-9.4.2'}
+ - {os: windows-2019, ruby: '2.7'}
+ - {os: windows-2019, ruby: '3.0'}
+ - {os: windows-2019, ruby: '3.2'}
+
+ runs-on: ${{ matrix.cfg.os }}
+ steps:
+ - name: Checkout current PR
+ uses: actions/checkout@v3
+
+ - name: Install ruby version ${{ matrix.cfg.ruby }}
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: ${{ matrix.cfg.ruby }}
+
+ - name: Update rubygems and install gems
+ run: |
+ gem update --system --silent --no-document
+ bundle config set without packaging
+ bundle install --jobs 4 --retry 3
+
+ - run: bundle exec rake spec
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 335e4e4..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-language: ruby
-
-cache: bundler
-
-before_install:
- - bundle -v
- - rm Gemfile.lock || true
- - gem update --system
- - gem update bundler
- - gem --version
- - bundle -v
-
-script: "bundle exec rspec --color --format documentation spec/unit"
-
-notifications:
- email: false
-
-sudo: false
-
-rvm:
- - "2.5.8"
- - "2.6.6"
- - "2.7.2"
- - "3.0.0"
- - "jruby-19mode"
-
-jdk:
- - openjdk8
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 119f678..6a97c1e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
+## 1.1.0 - 2023-04-10
+- Fix unsatisfiable if resolve() fails ([ekohl](https://github.com/ekohl))
+- Move from travis/appveyor to GitHub actions ([AriaXLi](https://github.com/AriaXLi))
+- Add Ruby 3.2 testing ([mhashizume](https://github.com/mhashizume))
+
## 1.0.4 - 2021-06-08
- Remove dependency on SortedSet
- Add Ruby 3.0 to Travis and AppVeyor
diff --git a/CODEOWNERS b/CODEOWNERS
index 83b8b97..03deaa3 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -1 +1 @@
-* @puppetlabs/forge-team @puppetlabs/platform-core
+* @puppetlabs/phoenix
diff --git a/README.md b/README.md
index 2c8e6aa..9735f71 100644
--- a/README.md
+++ b/README.md
@@ -19,8 +19,7 @@ This library is used by a number of Puppet Labs projects, including
Requirements
------------
-Semantic_puppet will work on several ruby versions, including 1.9.3,
-2.0.0, 2.1.9 and 2.4.1. Please see the exact matrix in `.travis.yml`.
+semantic_puppet will work on Ruby version 2.7 and greater.
No gem/library requirements.
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index d5f2fcd..0000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-version: 1.0.1.{build}
-clone_depth: 10
-image: Visual Studio 2019
-environment:
- matrix:
- - RUBY_VERSION: 25-x64
- - RUBY_VERSION: 26-x64
- - RUBY_VERSION: 27-x64
- - RUBY_VERSION: 30-x64
-matrix:
- fast_finish: true
-install:
- - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
- - bundle install --jobs 4 --retry 2
-build: off
-test_script:
- - ruby -v
- - gem -v
- - bundle -v
- - bundle exec rspec --format documentation --color spec/unit
diff --git a/debian/changelog b/debian/changelog
index caaa040..bb9928f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+ruby-semantic-puppet (1.1.0-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Tue, 02 May 2023 11:56:01 -0000
+
ruby-semantic-puppet (1.0.4-1) unstable; urgency=medium
* Team upload.
diff --git a/lib/semantic_puppet/dependency.rb b/lib/semantic_puppet/dependency.rb
index 0ebc87b..ceb8c48 100644
--- a/lib/semantic_puppet/dependency.rb
+++ b/lib/semantic_puppet/dependency.rb
@@ -73,7 +73,7 @@ module SemanticPuppet
# @param graph [Graph] the root of a dependency graph
# @return [Array<ModuleRelease>] the list of releases to act on
def resolve(graph)
- @module_dependencies, @satisfieds = nil
+ @module_dependencies = @satisfieds = nil
catch :next do
return walk(graph, graph.dependencies.dup)
@@ -120,6 +120,8 @@ module SemanticPuppet
name = dependencies.keys.sort.first
deps = dependencies.delete(name)
+ @module_dependencies |= [name]
+
# ... (and stepping over it if we've seen it before) ...
unless (deps & considering).empty?
return walk(graph, dependencies, *considering)
@@ -127,8 +129,6 @@ module SemanticPuppet
# ... we'll iterate through the list of possible versions in order.
preferred_releases(deps).reverse_each do |dep|
- @module_dependencies |= [name]
-
# We should skip any releases that violate any module's constraints.
unless [graph, *considering].all? { |x| x.satisfies_constraints?(dep) }
next
diff --git a/lib/semantic_puppet/gem_version.rb b/lib/semantic_puppet/gem_version.rb
index 7b1fc84..cdc0764 100644
--- a/lib/semantic_puppet/gem_version.rb
+++ b/lib/semantic_puppet/gem_version.rb
@@ -1,3 +1,3 @@
module SemanticPuppet
- VERSION = '1.0.4'
+ VERSION = '1.1.0'
end
diff --git a/semantic_puppet.gemspec b/semantic_puppet.gemspec
index 053f8cf..2faaa05 100644
--- a/semantic_puppet.gemspec
+++ b/semantic_puppet.gemspec
@@ -20,7 +20,7 @@ spec = Gem::Specification.new do |s|
s.require_paths = ["lib"]
# Dependencies
- s.required_ruby_version = '>= 1.9.3'
+ s.required_ruby_version = '>= 2.7.0'
s.add_development_dependency "json", "~> 1.8.3" if RUBY_VERSION < '2.0'
s.add_development_dependency "rake"
diff --git a/spec/unit/semantic_puppet/dependency_spec.rb b/spec/unit/semantic_puppet/dependency_spec.rb
index 079db01..60ed572 100644
--- a/spec/unit/semantic_puppet/dependency_spec.rb
+++ b/spec/unit/semantic_puppet/dependency_spec.rb
@@ -247,6 +247,16 @@ describe SemanticPuppet::Dependency do
expect { foo('1.1.0') }.to raise_exception with_message
expect { foo('1.1.0') }.to raise_exception /\bfoo\b/
end
+
+ it 'sets unsatisfiable' do
+ add_source_modules('foo', %w[ 1.1.0 ], 'bar' => '1.x')
+ add_source_modules('bar', %w[ 0.0.1 0.1.0-a 0.1.0 ])
+
+ with_message = /Could not find satisfying releases/
+ expect { foo('1.1.0') }.to raise_exception with_message
+
+ expect(SemanticPuppet::Dependency.unsatisfiable).to eq('foo')
+ end
end
end
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/graph.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/graph_node.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/module_release.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/source.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/dependency/unsatisfiable_graph.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/gem_version.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/version.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.1.0/lib/semantic_puppet/version_range.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/specifications/semantic_puppet-1.1.0.gemspec
Files in first set of .debs but not in second
-rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/dependency.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/dependency/graph.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/dependency/graph_node.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/dependency/module_release.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/dependency/source.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/dependency/unsatisfiable_graph.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/gem_version.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/version.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/gems/semantic_puppet-1.0.4/lib/semantic_puppet/version_range.rb -rw-r--r-- root/root /usr/share/rubygems-integration/all/specifications/semantic_puppet-1.0.4.gemspec
No differences were encountered in the control files