diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 285d41a0a..e5e70a92e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -6,6 +6,8 @@ on: jobs: publish: runs-on: ubuntu-latest + env: + BUNDLE_WITHOUT: 'gtk:vscode:profanity' name: Publish Updates steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 diff --git a/.github/workflows/rspec_tests.yml b/.github/workflows/rspec_tests.yml index 199615df9..1a24d70d5 100644 --- a/.github/workflows/rspec_tests.yml +++ b/.github/workflows/rspec_tests.yml @@ -12,6 +12,8 @@ concurrency: jobs: test: runs-on: ubuntu-latest + env: + BUNDLE_WITHOUT: 'gtk:vscode:profanity' strategy: matrix: ruby: ['2.7'] diff --git a/.github/workflows/rubocop_syntax_checker.yaml b/.github/workflows/rubocop_syntax_checker.yaml index ca4c8890c..59bbd6b47 100644 --- a/.github/workflows/rubocop_syntax_checker.yaml +++ b/.github/workflows/rubocop_syntax_checker.yaml @@ -14,12 +14,14 @@ on: jobs: rubocop: runs-on: ubuntu-latest + env: + BUNDLE_WITHOUT: 'gtk:vscode:profanity' strategy: matrix: - ruby: ['3.3'] + ruby: ['4.0'] name: Run Rubocop on Ruby ${{ matrix.ruby }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.2 with: fetch-depth: 0 @@ -31,7 +33,7 @@ jobs: **/*.lic **/*.rb - - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0 + - uses: ruby/setup-ruby@708024e6c902387ab41de36e1669e43b5ee7085e # v1.283.0 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true diff --git a/.github/workflows/ruby_syntax_checker.yml b/.github/workflows/ruby_syntax_checker.yml index c80be4d7f..0ddb8ba8a 100644 --- a/.github/workflows/ruby_syntax_checker.yml +++ b/.github/workflows/ruby_syntax_checker.yml @@ -14,12 +14,14 @@ on: jobs: check_syntax: runs-on: ubuntu-latest + env: + BUNDLE_WITHOUT: 'gtk:vscode:profanity' strategy: matrix: - ruby: ['3.3'] + ruby: ['4.0'] name: Run tests on Ruby ${{ matrix.ruby }} steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.2 with: fetch-depth: 0 @@ -30,12 +32,12 @@ jobs: files: | **/*.lic **/*.rb - - - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0 + + - uses: ruby/setup-ruby@708024e6c902387ab41de36e1669e43b5ee7085e # v1.283.0 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - + - name: Run Ruby syntax check on changed scripts run: | for file in ${{ steps.changed-files.outputs.all_changed_files }}; do diff --git a/.rubocop.yml b/.rubocop.yml index 003cb2be3..ff00ccfad 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,6 +1,6 @@ AllCops: SuggestExtensions: false - TargetRubyVersion: 3.3 + TargetRubyVersion: 4.0 NewCops: disable Include: - '**/*.lic' @@ -27,6 +27,9 @@ Layout/HeredocIndentation: Layout/LineLength: Enabled: false +Lint/MissingSuper: + AllowedParentClasses: [Object, BaseObject, GameBase::Game] + Metrics/AbcSize: Enabled: false diff --git a/Gemfile b/Gemfile index e8829a235..0f16177e0 100644 --- a/Gemfile +++ b/Gemfile @@ -1,12 +1,93 @@ -return true if ENV['NETLIFY'] +=begin +When building Gemfile.lock file, please add additional platforms to the file via the following command: -source 'https://rubygems.org' +bundle lock \ + --add-platform aarch64-linux \ + --add-platform aarch64-linux-gnu \ + --add-platform aarch64-linux-musl \ + --add-platform arm-linux \ + --add-platform arm-linux-gnu \ + --add-platform arm-linux-musl \ + --add-platform arm64-darwin \ + --add-platform x64-mingw \ + --add-platform x64-mingw-ucrt \ + --add-platform x86-darwin \ + --add-platform x86-linux \ + --add-platform x86-linux-gnu \ + --add-platform x86-linux-musl \ + --add-platform x86-mingw \ + --add-platform x86-mingw-ucrt \ + --add-platform x86_64-darwin \ + --add-platform x86_64-linux \ + --add-platform x86_64-linux-gnu \ + --add-platform x86_64-linux-musl + +This ensures that the lock file can be used by all platforms that are able to support it. +=end + +source "https://rubygems.org" + +git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } group :development do gem "rspec" + gem "rubocop" gem "guard" gem "guard-rspec" gem "webmock" gem "rack" - gem 'rubocop' +end + +group :vscode do + gem "rbs" + gem "prism" + gem "sorbet-runtime" + gem "ruby-lsp" +end + +group :gtk do + gem "gtk3" +end + +group :profanity do + gem "curses" +end + +gem "ascii_charts" +gem "base64" +gem "benchmark" +gem "concurrent-ruby" +gem "digest" +gem "drb" +gem "ffi" +gem "fiddle" +gem "fileutils" +gem "json" +gem "kramdown" +gem "logger" +gem "openssl" +gem "open-uri" +gem "os" +gem "ostruct" +gem "rake" +gem "redis" +gem "resolv" +gem "rexml" +gem "sequel" +gem "set" +gem "tempfile" +gem "terminal-table" +gem "time" +gem "tmpdir" +gem "tzinfo" +gem "tzinfo-data" +gem "webrick" +gem "win32ole", platforms: :windows +gem "yaml" +gem "zlib" + +if Gem.win_platform? + gem "sqlite3", platforms: :windows, force_ruby_platform: true +else + gem "sqlite3" end diff --git a/scripts/noop.lic b/scripts/noop.lic index 04c084739..a96e0affb 100644 --- a/scripts/noop.lic +++ b/scripts/noop.lic @@ -1,13 +1,13 @@ =begin - A simple script to allow for learning elanthia-online integration - with Github + CI environments. + A simple script to allow for learning elanthia-online integration + with Github + CI environments. - author: elanthia-online - game: Gemstone - tags: testing - version: 1.0 + author: elanthia-online + game: Gemstone + tags: testing + version: 1.0 - To help contribute: https://github.com/elanthia-online/scripts + To help contribute: https://github.com/elanthia-online/scripts =end exit