diff --git a/.github/workflows/docs-diff.yml b/.github/workflows/docs-diff.yml index 6a2ceb817f..ca5f3224a1 100644 --- a/.github/workflows/docs-diff.yml +++ b/.github/workflows/docs-diff.yml @@ -49,7 +49,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 2.4 + ruby-version: '2.7' working-directory: "languages/ruby" if: steps.cache.outputs.cache-hit != 'true' - name: Install yard @@ -136,7 +136,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 2.4 + ruby-version: '2.7' working-directory: "languages/ruby" if: steps.cache.outputs.cache-hit != 'true' - name: Install yard diff --git a/.github/workflows/docs-preview.yml b/.github/workflows/docs-preview.yml index e485b8058f..43683c90e1 100644 --- a/.github/workflows/docs-preview.yml +++ b/.github/workflows/docs-preview.yml @@ -31,7 +31,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 2.4 + ruby-version: '2.7' working-directory: "languages/ruby" - name: Install yard run: gem install yard diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index d452785c86..c7daf49381 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -49,7 +49,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 2.4 + ruby-version: '2.7' working-directory: "languages/ruby" - name: Install yard run: gem install yard diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b52460e2d1..88a03040dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -280,7 +280,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 2.4 + ruby-version: '2.7' working-directory: "languages/ruby" - name: Set version env id: version @@ -531,7 +531,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v2 - name: Set version env @@ -560,7 +560,7 @@ jobs: runs-on: macos-11 strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v2 - name: Set version env @@ -625,6 +625,13 @@ jobs: arch -arm64 ./venv311/bin/pip install oso==${{ steps.version.outputs.oso_version }} -f ../wheel arch -arm64 ./venv311/bin/python test.py working-directory: test + - name: "test python 3.12" + run: | + arch -arm64 /opt/homebrew/opt/python@3.12/bin/python3 -m venv venv312 + arch -arm64 ./venv312/bin/pip install oso==${{ steps.version.outputs.oso_version }} -f ../wheel --no-deps --no-index + arch -arm64 ./venv312/bin/pip install oso==${{ steps.version.outputs.oso_version }} -f ../wheel + arch -arm64 ./venv312/bin/python test.py + working-directory: test validate_python_windows: name: Test python ${{ matrix.python-version }} on Windows @@ -632,7 +639,7 @@ jobs: runs-on: windows-2019 strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v2 - name: Set version env @@ -661,7 +668,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v2 - name: Set version env @@ -682,7 +689,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-11, windows-2019] - ruby-version: [2.5, 2.6, 2.7, "3.0"] + ruby-version: ['2.5', '2.6', '2.7', '3.0', '3.1', '3.2'] steps: - uses: actions/checkout@v2 - name: Set version env @@ -794,11 +801,11 @@ jobs: uses: actions/setup-python@v1 with: python-version: "3.7" - - name: Use Ruby 2.4 + - name: Use Ruby 2.7 uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: "2.4" + ruby-version: '2.7' working-directory: "docs/examples/quickstart/ruby" - name: Use Node.js 12 uses: actions/setup-node@v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8098af16ab..be9adf3f10 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,7 +57,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 2.4 + ruby-version: '2.7' working-directory: "languages/ruby" - name: Lint Ruby code working-directory: "languages/ruby" @@ -214,7 +214,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 2.4 + ruby-version: '2.7' working-directory: "languages/ruby" - name: Test ruby run: make ruby-test @@ -350,7 +350,7 @@ jobs: - name: Install Ruby + gems uses: ruby/setup-ruby@v1 with: - ruby-version: 2.4 + ruby-version: '2.7' bundler-cache: true - name: Use Node.js 18 uses: actions/setup-node@v3 diff --git a/docs/spelling/allowed_words.txt b/docs/spelling/allowed_words.txt index 57c3b97d38..1efec8c1f5 100644 --- a/docs/spelling/allowed_words.txt +++ b/docs/spelling/allowed_words.txt @@ -19,6 +19,7 @@ DFA Dexec EMR EOF +EOL EndsWith FFI ForbiddenError @@ -121,6 +122,7 @@ changelog classpath cmp codebase +codebases constructable coroutine customizations @@ -148,6 +150,7 @@ favoriteAnimal fieldName filesystem filterRelation +footguns forbiddenerror fromFieldName fromTypeName @@ -175,6 +178,7 @@ lastLogin latencies lhs lifecycle +lifing loadFile loadStr localhost diff --git a/languages/ruby/Gemfile.lock b/languages/ruby/Gemfile.lock index 37b1126a17..0d8a6f9962 100644 --- a/languages/ruby/Gemfile.lock +++ b/languages/ruby/Gemfile.lock @@ -21,7 +21,7 @@ GEM arel (9.0.0) ast (2.4.2) backport (1.2.0) - benchmark (0.2.0) + benchmark (0.3.0) byebug (11.1.3) coderay (1.1.3) concurrent-ruby (1.1.9) @@ -30,13 +30,21 @@ GEM ffi (1.15.4) i18n (1.8.11) concurrent-ruby (~> 1.0) - jaro_winkler (1.5.4) - maruku (0.7.3) + jaro_winkler (1.5.6) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) method_source (1.0.0) - mini_portile2 (2.4.0) + mini_portile2 (2.8.5) minitest (5.14.4) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) + nokogiri (1.15.5) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.15.5-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.15.5-x86_64-linux) + racc (~> 1.4) parallel (1.20.1) parser (2.7.2.0) ast (~> 2.4.1) @@ -46,6 +54,7 @@ GEM pry-byebug (3.9.0) byebug (~> 11.0) pry (~> 0.13.0) + racc (1.7.3) rainbow (3.0.0) rake (12.3.3) regexp_parser (2.1.1) @@ -77,28 +86,28 @@ GEM rubocop-ast (0.8.0) parser (>= 2.7.1.5) ruby-progressbar (1.11.0) - solargraph (0.39.17) + solargraph (0.40.1) backport (~> 1.1) benchmark bundler (>= 1.17.2) e2mmap jaro_winkler (~> 1.5) - maruku (~> 0.7, >= 0.7.3) - nokogiri (~> 1.9, >= 1.9.1) + kramdown (~> 2.3) + kramdown-parser-gfm (~> 1.1) parser (~> 2.3) reverse_markdown (>= 1.0.5, < 3) - rubocop (~> 0.52) + rubocop (>= 0.52) thor (~> 1.0) tilt (~> 2.0) yard (~> 0.9, >= 0.9.24) sqlite3 (1.4.2) - thor (1.1.0) + thor (1.3.0) thread_safe (0.3.6) - tilt (2.0.10) + tilt (2.3.0) tzinfo (1.2.9) thread_safe (~> 0.1) unicode-display_width (1.8.0) - yard (0.9.26) + yard (0.9.34) PLATFORMS ruby @@ -112,7 +121,7 @@ DEPENDENCIES rake (~> 12.0) rspec (~> 3.0) rubocop (~> 0.89.1) - solargraph (~> 0.39.14) + solargraph (~> 0.40.0) sqlite3 yard (~> 0.9.25) diff --git a/languages/ruby/oso-oso.gemspec b/languages/ruby/oso-oso.gemspec index 736bd96a2a..e532ad702d 100644 --- a/languages/ruby/oso-oso.gemspec +++ b/languages/ruby/oso-oso.gemspec @@ -8,7 +8,12 @@ Gem::Specification.new do |spec| spec.authors = ['Oso Security, Inc.'] spec.email = ['support@osohq.com'] spec.licenses = ['Apache-2.0'] - spec.summary = "We have deprecated the legacy Oso open source library. We have plans for the next open source release and we’re looking forward to getting feedback from the community leading up to that point (please reach out to us in the Slack #help channel). In the meantime, if you’re happy using the Oso open source library now, nothing needs to change – i.e., we are not end-of-lifing (EOL) the library and we’ll continue to provide support and critical bug fixes. More context: [here](https://www.osohq.com/docs/oss/getting-started/deprecation.html)." + spec.summary = 'We have deprecated the legacy Oso open source library. We have plans for the next open ' \ + "source release and we're looking forward to getting feedback from the community leading up " \ + 'to that point (please reach out to us in the Slack #help channel). In the meantime, if ' \ + "you're happy using the Oso open source library now, nothing needs to change – i.e., we are " \ + "not end-of-lifing (EOL) the library and we'll continue to provide support and critical bug " \ + 'fixes. More context: [here](https://www.osohq.com/docs/oss/getting-started/deprecation.html).' spec.homepage = 'https://www.osohq.com/' spec.required_ruby_version = Gem::Requirement.new('>= 2.4.0') @@ -36,7 +41,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rspec', '~> 3.0' spec.add_development_dependency 'rubocop', '~> 0.89.1' - spec.add_development_dependency 'solargraph', '~> 0.39.14' + spec.add_development_dependency 'solargraph', '~> 0.40.0' spec.add_development_dependency 'sqlite3' spec.add_development_dependency 'yard', '~> 0.9.25' end