metanorma-ietf-data 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4c3334c0a16f32c2f54b5b564be3b330f7fb517e6c3763d959d8cb7ed357f6c7
4
+ data.tar.gz: a4d4269383236cda9d406e067ae1fabb99f9cf0b30c8c9e47e44a58b206cd93d
5
+ SHA512:
6
+ metadata.gz: 46b5c3d7dce000c6d6f30b872d312af2e4a69d109294d1aef4c3c7a2aaed3fb4b7ec436e148eee57bb9da2321eeccf7aa1f1e00e0be528def09f0a1b102c93fb
7
+ data.tar.gz: c7bab87d3bcd7d8016fae3f8399221445d692446cdf5cca5dbc3a18450447a28281091ba34758c84945a0830b6c8c49ca602d4a8a059247d91d93fc17dda464d
@@ -0,0 +1,44 @@
1
+ name: check_update
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "0 0 * * *"
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ check_update:
10
+ name: Check updates on https://tools.ietf.org/wg/
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+
15
+ - run: |
16
+ git config user.name github-actions
17
+ git config user.email github-actions@github.com
18
+
19
+ - uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby }}
22
+ bundler-cache: true
23
+
24
+ - id: update_json
25
+ run: |
26
+ bundle exec bin/wg2json.rb > lib/metanorma/ietf/data/workgroup.json
27
+ git diff-index --quiet HEAD -- && has_changes="false" || has_changes="true"
28
+ echo "::set-output name=has_changes::${has_changes}"
29
+
30
+ - if: ${{ !steps.update_json.outputs.has_changes == 'true' }}
31
+ run: gem bump --version patch --tag --push
32
+
33
+ - if: ${{ !steps.update_json.outputs.has_changes == 'true' }}
34
+ name: publish to rubygems.org
35
+ env:
36
+ RUBYGEMS_API_KEY: ${{secrets.METANORMA_CI_RUBYGEMS_API_KEY}}
37
+ run: |
38
+ gem install gem-release
39
+ envsubst << 'EOF' > ~/.gem/credentials
40
+ ---
41
+ :rubygems_api_key: ${RUBYGEMS_API_KEY}
42
+ EOF
43
+ chmod 0600 ~/.gem/credentials
44
+ gem release
@@ -0,0 +1,43 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: rake
4
+
5
+ on:
6
+ push:
7
+ branches: [ master, main ]
8
+ tags: [ v* ]
9
+ pull_request:
10
+
11
+ jobs:
12
+ rake:
13
+ name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
14
+ runs-on: ${{ matrix.os }}
15
+ continue-on-error: ${{ matrix.experimental }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby: [ '3.0', '2.7', '2.6', '2.5' ]
20
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
21
+ experimental: [ false ]
22
+ steps:
23
+ - uses: actions/checkout@v2
24
+ with:
25
+ submodules: true
26
+
27
+ - uses: ruby/setup-ruby@v1
28
+ with:
29
+ ruby-version: ${{ matrix.ruby }}
30
+ bundler-cache: true
31
+
32
+ - run: bundle exec rake
33
+
34
+ tests-passed:
35
+ needs: rake
36
+ runs-on: ubuntu-latest
37
+ steps:
38
+ - uses: peter-evans/repository-dispatch@v1
39
+ with:
40
+ token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
41
+ repository: ${{ github.repository }}
42
+ event-type: tests-passed
43
+ client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ /.rubocop-https*
2
+ /Gemfile.lock
data/.hound.yml ADDED
@@ -0,0 +1,5 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ ruby:
4
+ enabled: true
5
+ config_file: .rubocop.yml
data/.rubocop.yml ADDED
@@ -0,0 +1,10 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ inherit_from:
4
+ - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
5
+
6
+ # local repo-specific modifications
7
+ # ...
8
+
9
+ AllCops:
10
+ TargetRubyVersion: 2.5
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in metanorma-ietf-data.gemspec
6
+ gemspec
7
+
8
+ gem "rake", "~> 13.0"
9
+
10
+ gem "rspec", "~> 3.0"
11
+
12
+ gem "rubocop", "~> 1.7"
data/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # Metanorma::Ietf::Data
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/metanorma/ietf/data`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'metanorma-ietf-data'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle install
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install metanorma-ietf-data
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/metanorma-ietf-data.
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task default: :spec
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "bundler/setup"
5
+ require "metanorma/ietf/data"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require "irb"
15
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/bin/wg2json.rb ADDED
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "json"
5
+ require "open-uri"
6
+ require "openssl"
7
+
8
+ def workgroup_ietf
9
+ result = []
10
+ URI.open("https://tools.ietf.org/wg/") do |f|
11
+ f.each_line do |l|
12
+ l.scan(%r{<td width="50%" style='padding: 0 1ex'>([^<]+)</td>}) do |w|
13
+ result << w[0].gsub(/\s+$/, "").gsub(/ Working Group$/, "")
14
+ end
15
+ end
16
+ end
17
+ result
18
+ end
19
+
20
+ def workgroup_irtf
21
+ result = []
22
+ URI.open("https://irtf.org/groups", ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE) do |f| # rubocop:disable Layout/LineLength
23
+ f.each_line do |l|
24
+ l.scan(%r{<a title="([^"]+) Research Group"[^>]+>([^<]+)<}) do |w|
25
+ result << w[0].gsub(/\s+$/, "")
26
+ result << w[1].gsub(/\s+$/, "") # abbrev
27
+ end
28
+ end
29
+ end
30
+ result
31
+ end
32
+
33
+ print [workgroup_ietf, workgroup_irtf].flatten.to_json
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Ietf
5
+ module Data
6
+ VERSION = "0.1.0"
7
+ end
8
+ end
9
+ end
@@ -0,0 +1 @@
1
+ ["Automatic SIP trunking And Peering","A Semantic Definition Format for Data and Interactions of Things","Audio/Video Transport Core Maintenance","Calendaring Extensions","Concise Binary Object Representation Maintenance and Extensions","Content Delivery Networks Interconnection","Codec Encoding for LossLess Archiving and Realtime transmission","Constrained RESTful Environments","Dispatch","Domain-based Message Authentication, Reporting & Conformance","Emergency Context Resolution with Internet Technologies","Revision of core Email specifications","Email mailstore and eXtensions To Revise or Amend","Building Blocks for HTTP APIs","HTTP","JSON Mail Access Protocol","JSON Path","Multiparty Multimedia Session Control","Privacy Enhanced RTP Conferencing","Registration Protocols Extensions","Real-Time Communication in WEB-browsers","Relay User Machine","Serialising Extended Data About Times and Events","Secure Media Frames","Session Initiation Protocol Core","Secure Telephone Identity Revisited","Using TLS in Applications","WebTransport","WebRTC Ingest Signaling over HTTPS","Web Packaging","General Area Dispatch","Stay Home Meet Only Online","IPv6 over Networks of Resource-constrained Nodes","IPv6 Maintenance","IPv6 over the TSCH mode of IEEE 802.15.4e","Adaptive DNS Discovery","Dynamic Host Configuration","Distributed Mobility Management","Extensions for Scalable DNS Service Discovery","DNS PRIVate Exchange","Drone Remote ID Protocol","Host Identity Protocol","Home Networking","Internet Area","IP Wireless Access in Vehicular Environments","IPv6 over Low Power Wide-Area Networks","Light-Weight Implementation Guidance","Network Time Protocol","Timing over IP Connection and Transfer of Clock","Autonomic Networking Integrated Model and Approach","Benchmarking Methodology","Diameter Maintenance and Extensions","Domain Name System Operations","Global Routing Operations","IOT Operations","MBONE Deployment","Media OPerationS","Network Configuration","Network Modeling","Operations and Management Area","Operational Security Capabilities for IP Network Infrastructure","RADIUS EXTensions","SIDR Operations","IPv6 Operations","Babel routing protocol","BGP Enabled ServiceS","Bidirectional Forwarding Detection","Bit Indexed Explicit Replication","Common Control and Measurement Plane","Deterministic Networking","Inter-Domain Routing","Locator/ID Separation Protocol","Link State Routing","Link State Vector Routing","Mobile Ad-hoc Networks","Multiprotocol Label Switching","Network Virtualization Overlays","Pseudowire And LDP-enabled Services","Path Computation Element","Protocols for IP Multicast","Reliable and Available Wireless","Routing In Fat Trees","Routing Over Low power and Lossy networks","Routing Area","Service Function Chaining","Source Packet Routing in Networking","Traffic Engineering Architecture and Signaling","Authentication and Authorization for Constrained Environments","Automated Certificate Management Environment","CBOR Object Signing and Encryption","CURves, Deprecating and a Little more Encryption","DDoS Open Threat Signaling","EAP Method Update","Grant Negotiation and Authorization Protocol","Interface to Network Security Functions","IP Security Maintenance and Extensions","Common Authentication Technology Next Generation","Lightweight Authenticated Key Exchange","Limited Additional Mechanisms for PKIX and SMIME","Messaging Layer Security","Web Authorization Protocol","Open Specification for Pretty Good Privacy","Privacy Pass","Remote ATtestation ProcedureS","Security Automation and Continuous Monitoring","Security Dispatch","Security Events","Software Updates for Internet of Things","Trusted Execution Environment Provisioning","Transport Layer Security","Public Notary Transparency","Application-Layer Traffic Optimization","Delay/Disruption Tolerant Networking","IP Performance Measurement","Multiplexed Application Substrate over QUIC Encryption","Network File System Version 4","QUIC","RTP Media Congestion Avoidance Techniques","Transport Services","TCP Maintenance and Minor Extensions","TURN Revised and Modernized","Transport Area","Transport Area","Crypto Forum","CFRG","Computation in the Network","COINRG","Decentralized Internet Infrastructure","DINRG","Global Access to the Internet for All","GAIA","Human Rights Protocol Considerations","HRPC","Internet Congestion Control","ICCRG","Information-Centric Networking","ICNRG","Measurement and Analysis for Protocols","MAPRG","Network Management","NMRG","NetWork Coding for Efficient Network Communications","NWCRG","Path Aware Networking","PANRG","Privacy Enhancements and Assessments","PEARG","Quantum Internet","QIRG","Thing-to-Thing","T2TRG"]
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/metanorma/ietf/data/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "metanorma-ietf-data"
7
+ spec.version = Metanorma::Ietf::Data::VERSION
8
+ spec.authors = ["Ribose Inc."]
9
+ spec.email = ["open.source@ribose.com"]
10
+
11
+ spec.summary = <<~SUMMARY
12
+ metanorma-ietf-data contains IETF working and IRTF research groups
13
+ SUMMARY
14
+ spec.description = <<~DESCRIPTION
15
+ this make sens because https://tools.ietf.org/wg/
16
+ and https://irtf.org/groups often unavailable
17
+ DESCRIPTION
18
+ spec.homepage = "https://github.com/metanorma/metanorma-ietf"
19
+ spec.license = "BSD-2-Clause"
20
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
21
+
22
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
+ `git ls-files -z`.split("\x0").reject do |f|
24
+ f.match(%r{\A(?:test|spec|features)/})
25
+ end
26
+ end
27
+ spec.bindir = "exe"
28
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
29
+ spec.require_paths = ["lib"]
30
+ end
metadata ADDED
@@ -0,0 +1,59 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: metanorma-ietf-data
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ribose Inc.
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-07-26 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: |
14
+ this make sens because https://tools.ietf.org/wg/
15
+ and https://irtf.org/groups often unavailable
16
+ email:
17
+ - open.source@ribose.com
18
+ executables: []
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - ".github/workflows/check_update.yml"
23
+ - ".github/workflows/rake.yml"
24
+ - ".gitignore"
25
+ - ".hound.yml"
26
+ - ".rubocop.yml"
27
+ - Gemfile
28
+ - README.md
29
+ - Rakefile
30
+ - bin/console
31
+ - bin/setup
32
+ - bin/wg2json.rb
33
+ - lib/metanorma/ietf/data/version.rb
34
+ - lib/metanorma/ietf/data/workgroup.json
35
+ - metanorma-ietf-data.gemspec
36
+ homepage: https://github.com/metanorma/metanorma-ietf
37
+ licenses:
38
+ - BSD-2-Clause
39
+ metadata: {}
40
+ post_install_message:
41
+ rdoc_options: []
42
+ require_paths:
43
+ - lib
44
+ required_ruby_version: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 2.5.0
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ requirements: []
55
+ rubygems_version: 3.0.3
56
+ signing_key:
57
+ specification_version: 4
58
+ summary: metanorma-ietf-data contains IETF working and IRTF research groups
59
+ test_files: []