dlinked 0.1.1 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 724380c942032cdc4308e6457a68996d0cffd35681a8a2f869e4f7e9f4938d59
4
- data.tar.gz: 073d48b50858323574657b66386f14c3ec7137857a9dc16f3879579bcc09b002
3
+ metadata.gz: 91b4fd6c724736c40143c48dcc7c10a0335926cf8cbafc4e36020d7fd0ca97ed
4
+ data.tar.gz: db2963f5328e509eead6dd403ad4cde8cf820115db33861e8ec019c1bc56d1f5
5
5
  SHA512:
6
- metadata.gz: 260d3fefb326f3e41243b16875b38880d599706a3bcc497dd18583ddacf232700aa1e14e06033ad2bc21f01869c4c67df6fb29c5d5395a0e1fef4c26b591ab26
7
- data.tar.gz: 79c0f06249f6c3df620248d4114ab3b18bdb3110c8c9e0284eee945362b5cc698c8848b5464e505ba4590ae64c93885086d6f350799f90f3ef27cd9a4d9f9ba6
6
+ metadata.gz: 5674461e19a17fa60a0d3f3022899be02824bade1390f2b5dc7506c787b6cd4c6abee66269e3af34f0c1cbe7949874ebc56c8101e14d3b32bd3ed0e7bbb931a5
7
+ data.tar.gz: 38a9b833f855d57ab85a8ec3a1f74a56a090dab041a00d3618ea789b5b834ecff1a84e2eb6a30facc8d7eee5256f33c88a70df6dbc169ddaf9590d65ee30385b
@@ -88,35 +88,43 @@ jobs:
88
88
  # The directory to publish (generated by yard doc)
89
89
  publish_dir: ./doc
90
90
  publish:
91
- name: Publish to RubyGems
91
+ name: Publish to RubyGems (OIDC)
92
92
  runs-on: ubuntu-latest
93
- needs: test
93
+ needs: test # Ensure tests and build pass
94
94
 
95
- # This step only executes when a release is published (a tag is pushed)
95
+ # This job ONLY runs when a release is published
96
96
  if: github.event_name == 'release' && github.event.action == 'published'
97
97
 
98
+ # --- CRITICAL PERMISSIONS FOR OIDC ---
99
+ permissions:
100
+ contents: read # Read repo contents
101
+ id-token: write # REQUIRED for OIDC authentication
102
+ # ------------------------------------
103
+
98
104
  steps:
99
- - name: Checkout Code (Needed to access config)
100
- uses: actions/checkout@v4
105
+ - name: Checkout Code
106
+ uses: actions/checkout@v4
107
+ with:
108
+ # This setting is required for some CI/CD flows, include it to be safe
109
+ persist-credentials: false
110
+
111
+ - name: Set up Ruby
112
+ uses: ruby/setup-ruby@v1
113
+ with:
114
+ ruby-version: 3.3
115
+ bundler-cache: true
101
116
 
102
- - name: Set up Ruby
103
- uses: ruby/setup-ruby@v1
104
- with:
105
- ruby-version: 3.3 # Use the latest version for publishing
106
- bundler-cache: false # We only need the runtime
117
+ # We no longer need to download the artifact because we will rebuild it.
118
+ # The release-gem action often handles the build itself, but let's
119
+ # stick to the flow of building it explicitly just before.
107
120
 
108
- - name: Download Gem Artifact
109
- uses: actions/download-artifact@v4
110
- with:
111
- name: dlinked-gem
112
- path: pkg/
113
-
114
- - name: Set up RubyGems credentials
115
- run: |
116
- mkdir -p ~/.gem
117
- echo ":rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
118
- chmod 0600 ~/.gem/credentials
121
+ - name: Install Dependencies for Build
122
+ run: bundle install
123
+
124
+ - name: Build Gem (Ensure latest version)
125
+ run: bundle exec rake build
119
126
 
120
- - name: Push Gem to RubyGems.org
121
- # The gem file is expected to be in the 'pkg/' directory
122
- run: gem push pkg/*.gem
127
+ # --- USE THE OFFICIAL OIDC RELEASE ACTION ---
128
+ - name: Publish Gem to RubyGems.org via OIDC
129
+ uses: rubygems/release-gem@v1
130
+ # The gem push command is handled internally by this action
data/CHANGELOG.md ADDED
File without changes
data/dlinked.gemspec CHANGED
@@ -13,7 +13,11 @@ Gem::Specification.new do |spec|
13
13
  spec.description = "Provides a native Doubly Linked List data structure in Ruby, focusing on O(1) performance for head/tail operations and standard Enumerable compatibility."
14
14
  spec.homepage = "https://github.com/danielefrisanco/dlinked"
15
15
  spec.license = "MIT"
16
-
16
+ spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata["source_code_uri"] = 'https://github.com/danielefrisanco/dlinked'
18
+ spec.metadata["bug_tracker_uri"] = 'https://github.com/danielefrisanco/dlinked/issues'
19
+ spec.metadata["documentation_uri"] = 'https://danielefrisanco.github.io/dlinked/'
20
+ spec.metadata["changelog_uri"] = 'https://github.com/danielefrisanco/dlinked/blob/main/CHANGELOG.md'
17
21
  spec.required_ruby_version = ">= 2.7.0"
18
22
 
19
23
  # --- Files to Include in the Gem ---
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DLinked
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.7'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dlinked
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniele Frisanco
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-12 00:00:00.000000000 Z
11
+ date: 2025-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -119,6 +119,7 @@ files:
119
119
  - ".github/workflows/release.yml"
120
120
  - ".gitignore"
121
121
  - ".rubocop.yml"
122
+ - CHANGELOG.md
122
123
  - Gemfile
123
124
  - LICENSE.txt
124
125
  - README.md
@@ -133,8 +134,13 @@ files:
133
134
  homepage: https://github.com/danielefrisanco/dlinked
134
135
  licenses:
135
136
  - MIT
136
- metadata: {}
137
- post_install_message:
137
+ metadata:
138
+ homepage_uri: https://github.com/danielefrisanco/dlinked
139
+ source_code_uri: https://github.com/danielefrisanco/dlinked
140
+ bug_tracker_uri: https://github.com/danielefrisanco/dlinked/issues
141
+ documentation_uri: https://danielefrisanco.github.io/dlinked/
142
+ changelog_uri: https://github.com/danielefrisanco/dlinked/blob/main/CHANGELOG.md
143
+ post_install_message:
138
144
  rdoc_options: []
139
145
  require_paths:
140
146
  - lib
@@ -149,8 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
155
  - !ruby/object:Gem::Version
150
156
  version: '0'
151
157
  requirements: []
152
- rubygems_version: 3.3.26
153
- signing_key:
158
+ rubygems_version: 3.5.22
159
+ signing_key:
154
160
  specification_version: 4
155
161
  summary: A highly performant Doubly Linked List implementation for Ruby.
156
162
  test_files: []