From 83832af984122cbb55718c746f1d3c6e028f3cc7 Mon Sep 17 00:00:00 2001 From: JonJagger Date: Thu, 12 Feb 2026 12:37:51 +0000 Subject: [PATCH 1/4] Move to global frozen-string-literals --- source/client/client.rb | 2 -- source/client/config/config.ru | 2 -- source/client/config/puma.rb | 1 - source/client/config/up.sh | 5 +++-- source/client/differ.rb | 2 -- source/client/html_demo.rb | 2 -- source/client/http_json_args.rb | 2 -- source/client/http_json_hash/http.rb | 2 -- source/client/http_json_hash/requester.rb | 2 -- source/client/http_json_hash/service.rb | 2 -- source/client/http_json_hash/service_error.rb | 2 -- source/client/http_json_hash/unpacker.rb | 2 -- source/client/saver.rb | 2 -- source/server/app.rb | 2 -- source/server/app_base.rb | 2 -- source/server/config/config.ru | 2 -- source/server/config/puma.rb | 1 - source/server/config/up.sh | 5 +++-- source/server/differ.rb | 2 -- source/server/external/disk_writer.rb | 2 -- source/server/external/gitter.rb | 2 -- source/server/external/http.rb | 2 -- source/server/external/saver.rb | 2 -- source/server/external/sheller.rb | 2 -- source/server/externals.rb | 2 -- source/server/git_diff_parse_filenames.rb | 2 -- source/server/git_diff_parser.rb | 2 -- source/server/git_differ.rb | 2 -- source/server/http_json_hash/requester.rb | 2 -- source/server/http_json_hash/service.rb | 2 -- source/server/http_json_hash/service_error.rb | 2 -- source/server/http_json_hash/unpacker.rb | 2 -- source/server/prober.rb | 2 -- source/server/silently.rb | 2 -- source/server/utf8_clean.rb | 2 -- test/client/client_test_base.rb | 2 -- test/client/differ_client_test.rb | 2 -- test/client/http_response_unpacker_test.rb | 2 -- test/client/lib/check_metrics.rb | 2 -- test/client/lib/coverage.rb | 2 -- test/client/lib/coverage_metrics_limits.rb | 2 -- test/client/lib/id58_test_base.rb | 2 -- test/client/lib/run.sh | 2 +- test/client/lib/simplecov_formatter_json.rb | 2 -- test/client/lib/slim_json_reporter.rb | 2 -- test/client/lib/test_metrics_limits.rb | 2 -- test/server/diff_summary_test.rb | 2 -- test/server/differ_test.rb | 2 -- test/server/differ_test_base.rb | 2 -- test/server/external_disk_writer_test.rb | 2 -- test/server/external_gitter_test.rb | 2 -- test/server/external_sheller_test.rb | 2 -- test/server/externals_test.rb | 2 -- test/server/git_diff_parse_filenames_test.rb | 2 -- test/server/git_diff_parser_test.rb | 2 -- test/server/http_adapter_stub.rb | 2 -- test/server/http_json_hash/http.rb | 2 -- test/server/http_json_hash/requester.rb | 2 -- test/server/http_json_hash/service.rb | 2 -- test/server/http_json_hash/unpacker.rb | 2 -- test/server/http_proxy_response_test.rb | 2 -- test/server/lib/check_metrics.rb | 2 -- test/server/lib/coverage.rb | 2 -- test/server/lib/coverage_metrics_limits.rb | 2 -- test/server/lib/id58_test_base.rb | 1 - test/server/lib/run.sh | 2 +- test/server/lib/simplecov_formatter_json.rb | 2 -- test/server/lib/slim_json_reporter.rb | 2 -- test/server/lib/test_metrics_limits.rb | 2 -- test/server/prober_test.rb | 2 -- test/server/raising_disk_writer.rb | 2 -- test/server/saver.rb | 2 -- test/server/spy_sheller.rb | 2 -- test/server/utf8_clean_test.rb | 2 -- 74 files changed, 8 insertions(+), 143 deletions(-) diff --git a/source/client/client.rb b/source/client/client.rb index 5c81a0b7..ad4313fa 100644 --- a/source/client/client.rb +++ b/source/client/client.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'http_json_args' require 'json' require 'rack' diff --git a/source/client/config/config.ru b/source/client/config/config.ru index 49100785..f2f1039e 100644 --- a/source/client/config/config.ru +++ b/source/client/config/config.ru @@ -1,5 +1,3 @@ -# frozen_string_literal: true - $stdout.sync = true $stderr.sync = true diff --git a/source/client/config/puma.rb b/source/client/config/puma.rb index feb02ae9..ae91e4c5 100755 --- a/source/client/config/puma.rb +++ b/source/client/config/puma.rb @@ -1,5 +1,4 @@ #!/usr/bin/env puma -# frozen_string_literal: true environment('production') rackup("#{__dir__}/config.ru") diff --git a/source/client/config/up.sh b/source/client/config/up.sh index 993c89ef..eab01aef 100755 --- a/source/client/config/up.sh +++ b/source/client/config/up.sh @@ -1,9 +1,10 @@ -#!/bin/bash -Eeu +#!/usr/bin/env bash +set -Eeu readonly PORT="${CYBER_DOJO_DIFFER_CLIENT_PORT}" readonly MY_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -export RUBYOPT='-W2' +export RUBYOPT='-W2 --enable-frozen-string-literal' puma \ --port=${PORT} \ diff --git a/source/client/differ.rb b/source/client/differ.rb index 57d52daa..d63884ce 100644 --- a/source/client/differ.rb +++ b/source/client/differ.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'http_json_hash/service' module External diff --git a/source/client/html_demo.rb b/source/client/html_demo.rb index bc6385fe..9572afc9 100644 --- a/source/client/html_demo.rb +++ b/source/client/html_demo.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ' class HtmlDemo diff --git a/source/client/http_json_args.rb b/source/client/http_json_args.rb index 15427c27..0bfb69a2 100644 --- a/source/client/http_json_args.rb +++ b/source/client/http_json_args.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - class HttpJsonArgs def get(path) case path diff --git a/source/client/http_json_hash/http.rb b/source/client/http_json_hash/http.rb index dcf4a3ac..f6b7f2e5 100644 --- a/source/client/http_json_hash/http.rb +++ b/source/client/http_json_hash/http.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'net/http' module HttpJsonHash diff --git a/source/client/http_json_hash/requester.rb b/source/client/http_json_hash/requester.rb index 59c293b0..9dcc3622 100644 --- a/source/client/http_json_hash/requester.rb +++ b/source/client/http_json_hash/requester.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'http' require 'json' require 'uri' diff --git a/source/client/http_json_hash/service.rb b/source/client/http_json_hash/service.rb index 22f759be..be4a61c6 100644 --- a/source/client/http_json_hash/service.rb +++ b/source/client/http_json_hash/service.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'requester' require_relative 'unpacker' diff --git a/source/client/http_json_hash/service_error.rb b/source/client/http_json_hash/service_error.rb index 68909b32..33a82891 100644 --- a/source/client/http_json_hash/service_error.rb +++ b/source/client/http_json_hash/service_error.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'json' module HttpJsonHash diff --git a/source/client/http_json_hash/unpacker.rb b/source/client/http_json_hash/unpacker.rb index 50aee331..0fa2388e 100644 --- a/source/client/http_json_hash/unpacker.rb +++ b/source/client/http_json_hash/unpacker.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'service_error' require 'json' diff --git a/source/client/saver.rb b/source/client/saver.rb index 6e2a2036..a0cb6074 100644 --- a/source/client/saver.rb +++ b/source/client/saver.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'http_json_hash/service' module External diff --git a/source/server/app.rb b/source/server/app.rb index 047d5139..b373604b 100644 --- a/source/server/app.rb +++ b/source/server/app.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'app_base' require_relative 'differ' require_relative 'prober' diff --git a/source/server/app_base.rb b/source/server/app_base.rb index ed5aee6c..5a9b6dab 100644 --- a/source/server/app_base.rb +++ b/source/server/app_base.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'silently' silently { require 'sinatra/contrib' } # N x "warning: method redefined" require_relative 'http_json_hash/service' diff --git a/source/server/config/config.ru b/source/server/config/config.ru index 8d654b6b..340f48da 100644 --- a/source/server/config/config.ru +++ b/source/server/config/config.ru @@ -1,5 +1,3 @@ -# frozen_string_literal: true - $stdout.sync = true $stderr.sync = true diff --git a/source/server/config/puma.rb b/source/server/config/puma.rb index feb02ae9..ae91e4c5 100755 --- a/source/server/config/puma.rb +++ b/source/server/config/puma.rb @@ -1,5 +1,4 @@ #!/usr/bin/env puma -# frozen_string_literal: true environment('production') rackup("#{__dir__}/config.ru") diff --git a/source/server/config/up.sh b/source/server/config/up.sh index fd805e2f..0e76842c 100755 --- a/source/server/config/up.sh +++ b/source/server/config/up.sh @@ -1,9 +1,10 @@ -#!/bin/bash -Eeu +#!/usr/bin/env bash +set -Eeu readonly PORT="${CYBER_DOJO_DIFFER_PORT}" readonly MY_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -export RUBYOPT='-W2' +export RUBYOPT='-W2 --enable-frozen-string-literal' puma \ --port=${PORT} \ diff --git a/source/server/differ.rb b/source/server/differ.rb index 93ef3ab4..c5ec8592 100644 --- a/source/server/differ.rb +++ b/source/server/differ.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'git_differ' require_relative 'git_diff_parser' diff --git a/source/server/external/disk_writer.rb b/source/server/external/disk_writer.rb index f4ec27b3..dde1c380 100644 --- a/source/server/external/disk_writer.rb +++ b/source/server/external/disk_writer.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - module External class DiskWriter def write(pathed_filename, content) diff --git a/source/server/external/gitter.rb b/source/server/external/gitter.rb index 1bed68a9..a1a22bc3 100644 --- a/source/server/external/gitter.rb +++ b/source/server/external/gitter.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - module External class Gitter def initialize(externals) diff --git a/source/server/external/http.rb b/source/server/external/http.rb index 3366dead..8dc0255f 100644 --- a/source/server/external/http.rb +++ b/source/server/external/http.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'net/http' module External diff --git a/source/server/external/saver.rb b/source/server/external/saver.rb index 8db6e274..3b7f976c 100644 --- a/source/server/external/saver.rb +++ b/source/server/external/saver.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative '../http_json_hash/service' module External diff --git a/source/server/external/sheller.rb b/source/server/external/sheller.rb index fbe5d467..e8fa1565 100644 --- a/source/server/external/sheller.rb +++ b/source/server/external/sheller.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative '../utf8_clean' require 'open3' diff --git a/source/server/externals.rb b/source/server/externals.rb index e1766412..7cfdbfd9 100644 --- a/source/server/externals.rb +++ b/source/server/externals.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'external/disk_writer' require_relative 'external/gitter' require_relative 'external/http' diff --git a/source/server/git_diff_parse_filenames.rb b/source/server/git_diff_parse_filenames.rb index 4726adc8..4ae4c126 100644 --- a/source/server/git_diff_parse_filenames.rb +++ b/source/server/git_diff_parse_filenames.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - module GitDiffParseFilenames def parse_old_new_filenames(header) old_filename, new_filename = old_new_filenames(header[0]) diff --git a/source/server/git_diff_parser.rb b/source/server/git_diff_parser.rb index 8448744a..e9d2f5ef 100644 --- a/source/server/git_diff_parser.rb +++ b/source/server/git_diff_parser.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'git_diff_parse_filenames' class GitDiffParser diff --git a/source/server/git_differ.rb b/source/server/git_differ.rb index 7d9d5d27..65c3c347 100644 --- a/source/server/git_differ.rb +++ b/source/server/git_differ.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - class GitDiffer def initialize(external) @external = external diff --git a/source/server/http_json_hash/requester.rb b/source/server/http_json_hash/requester.rb index a2a43d81..120b66d6 100644 --- a/source/server/http_json_hash/requester.rb +++ b/source/server/http_json_hash/requester.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'json' require 'uri' diff --git a/source/server/http_json_hash/service.rb b/source/server/http_json_hash/service.rb index 691b45a6..5b331d81 100644 --- a/source/server/http_json_hash/service.rb +++ b/source/server/http_json_hash/service.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'requester' require_relative 'unpacker' diff --git a/source/server/http_json_hash/service_error.rb b/source/server/http_json_hash/service_error.rb index ef502f5d..97147bbd 100644 --- a/source/server/http_json_hash/service_error.rb +++ b/source/server/http_json_hash/service_error.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - module HttpJsonHash class ServiceError < RuntimeError def initialize(name, path, args, body, message) diff --git a/source/server/http_json_hash/unpacker.rb b/source/server/http_json_hash/unpacker.rb index 918d1d7a..bc63206d 100644 --- a/source/server/http_json_hash/unpacker.rb +++ b/source/server/http_json_hash/unpacker.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'service_error' require 'json' diff --git a/source/server/prober.rb b/source/server/prober.rb index 4afcb497..c25294a7 100644 --- a/source/server/prober.rb +++ b/source/server/prober.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - class Prober def initialize(externals) @externals = externals diff --git a/source/server/silently.rb b/source/server/silently.rb index c93358f2..ed3e558a 100644 --- a/source/server/silently.rb +++ b/source/server/silently.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - def silently old_stderr = $stderr $stderr = StringIO.new diff --git a/source/server/utf8_clean.rb b/source/server/utf8_clean.rb index 0960024e..aaae1f5e 100644 --- a/source/server/utf8_clean.rb +++ b/source/server/utf8_clean.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - module Utf8 def self.clean(str) # force an encoding change - if encoding is already utf-8 diff --git a/test/client/client_test_base.rb b/test/client/client_test_base.rb index e7957918..0ec56bc4 100755 --- a/test/client/client_test_base.rb +++ b/test/client/client_test_base.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'lib/id58_test_base' require_app 'differ' require_app 'saver' diff --git a/test/client/differ_client_test.rb b/test/client/differ_client_test.rb index 73da0aae..64cbbefc 100755 --- a/test/client/differ_client_test.rb +++ b/test/client/differ_client_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'client_test_base' require 'cgi' diff --git a/test/client/http_response_unpacker_test.rb b/test/client/http_response_unpacker_test.rb index 61aee832..5325ff19 100644 --- a/test/client/http_response_unpacker_test.rb +++ b/test/client/http_response_unpacker_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'client_test_base' require_app 'http_json_hash/unpacker' require 'ostruct' diff --git a/test/client/lib/check_metrics.rb b/test/client/lib/check_metrics.rb index 0a7358dc..ab3185e8 100644 --- a/test/client/lib/check_metrics.rb +++ b/test/client/lib/check_metrics.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'json' def coloured(arg) diff --git a/test/client/lib/coverage.rb b/test/client/lib/coverage.rb index ba19afa2..c5bbba57 100644 --- a/test/client/lib/coverage.rb +++ b/test/client/lib/coverage.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'simplecov' require_relative 'simplecov_formatter_json' diff --git a/test/client/lib/coverage_metrics_limits.rb b/test/client/lib/coverage_metrics_limits.rb index 213464d3..d2011cc7 100644 --- a/test/client/lib/coverage_metrics_limits.rb +++ b/test/client/lib/coverage_metrics_limits.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - def metrics [ [ nil ], diff --git a/test/client/lib/id58_test_base.rb b/test/client/lib/id58_test_base.rb index eda9cce5..01ba0f08 100644 --- a/test/client/lib/id58_test_base.rb +++ b/test/client/lib/id58_test_base.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'English' require 'minitest/autorun' require 'minitest/reporters' diff --git a/test/client/lib/run.sh b/test/client/lib/run.sh index f8daa329..8bb6e878 100755 --- a/test/client/lib/run.sh +++ b/test/client/lib/run.sh @@ -15,10 +15,10 @@ require '${MY_DIR}/coverage.rb' require file }" -export RUBYOPT='-W2' mkdir -p "${COVERAGE_ROOT}" set +e +export RUBYOPT='-W2 --enable-frozen-string-literal' ruby -e "${SCRIPT}" -- ${TEST_ARGS[@]} 2>&1 | tee "${COVERAGE_ROOT}/${TEST_LOG}" STATUS=${PIPESTATUS[0]} set -e diff --git a/test/client/lib/simplecov_formatter_json.rb b/test/client/lib/simplecov_formatter_json.rb index bc9c3536..215dc51e 100644 --- a/test/client/lib/simplecov_formatter_json.rb +++ b/test/client/lib/simplecov_formatter_json.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'simplecov' require 'json' diff --git a/test/client/lib/slim_json_reporter.rb b/test/client/lib/slim_json_reporter.rb index b18646bd..76f4bdc9 100644 --- a/test/client/lib/slim_json_reporter.rb +++ b/test/client/lib/slim_json_reporter.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'json' require 'minitest/reporters' diff --git a/test/client/lib/test_metrics_limits.rb b/test/client/lib/test_metrics_limits.rb index 93037538..1c4efd02 100644 --- a/test/client/lib/test_metrics_limits.rb +++ b/test/client/lib/test_metrics_limits.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - def metrics [ [ nil ], diff --git a/test/server/diff_summary_test.rb b/test/server/diff_summary_test.rb index 29880c57..3494f594 100644 --- a/test/server/diff_summary_test.rb +++ b/test/server/diff_summary_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' class DiffSummaryTest < DifferTestBase diff --git a/test/server/differ_test.rb b/test/server/differ_test.rb index dc6c8412..1be37edc 100644 --- a/test/server/differ_test.rb +++ b/test/server/differ_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' class DifferTest < DifferTestBase diff --git a/test/server/differ_test_base.rb b/test/server/differ_test_base.rb index f07692e4..b6e7dfe7 100755 --- a/test/server/differ_test_base.rb +++ b/test/server/differ_test_base.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'lib/id58_test_base' require_relative 'saver' require_app 'externals' diff --git a/test/server/external_disk_writer_test.rb b/test/server/external_disk_writer_test.rb index 20b39e4b..dcf085a9 100755 --- a/test/server/external_disk_writer_test.rb +++ b/test/server/external_disk_writer_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' class ExternalDiskWriterTest < DifferTestBase diff --git a/test/server/external_gitter_test.rb b/test/server/external_gitter_test.rb index 74804dbd..91a64b52 100755 --- a/test/server/external_gitter_test.rb +++ b/test/server/external_gitter_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' require_relative 'spy_sheller' diff --git a/test/server/external_sheller_test.rb b/test/server/external_sheller_test.rb index 50746071..e90c78fd 100755 --- a/test/server/external_sheller_test.rb +++ b/test/server/external_sheller_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' class ExternalShellerTest < DifferTestBase diff --git a/test/server/externals_test.rb b/test/server/externals_test.rb index b284713b..47685f75 100755 --- a/test/server/externals_test.rb +++ b/test/server/externals_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' class ExternalsTest < DifferTestBase diff --git a/test/server/git_diff_parse_filenames_test.rb b/test/server/git_diff_parse_filenames_test.rb index e8a8fb4d..a1364afa 100644 --- a/test/server/git_diff_parse_filenames_test.rb +++ b/test/server/git_diff_parse_filenames_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' require_app 'git_diff_parse_filenames' diff --git a/test/server/git_diff_parser_test.rb b/test/server/git_diff_parser_test.rb index a52af258..4e3d3476 100755 --- a/test/server/git_diff_parser_test.rb +++ b/test/server/git_diff_parser_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' class GitDiffParserTest < DifferTestBase diff --git a/test/server/http_adapter_stub.rb b/test/server/http_adapter_stub.rb index cb9a05d3..757077e7 100644 --- a/test/server/http_adapter_stub.rb +++ b/test/server/http_adapter_stub.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'ostruct' class HttpAdapterStub diff --git a/test/server/http_json_hash/http.rb b/test/server/http_json_hash/http.rb index b76ec154..8a68b1ec 100644 --- a/test/server/http_json_hash/http.rb +++ b/test/server/http_json_hash/http.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'net/http' module Test; end diff --git a/test/server/http_json_hash/requester.rb b/test/server/http_json_hash/requester.rb index 51274253..da68c78e 100644 --- a/test/server/http_json_hash/requester.rb +++ b/test/server/http_json_hash/requester.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'http' require 'json' require 'uri' diff --git a/test/server/http_json_hash/service.rb b/test/server/http_json_hash/service.rb index c968a041..b1bdcc85 100644 --- a/test/server/http_json_hash/service.rb +++ b/test/server/http_json_hash/service.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'requester' require_relative 'unpacker' diff --git a/test/server/http_json_hash/unpacker.rb b/test/server/http_json_hash/unpacker.rb index 6596af3e..60532e9e 100644 --- a/test/server/http_json_hash/unpacker.rb +++ b/test/server/http_json_hash/unpacker.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'json' module Test diff --git a/test/server/http_proxy_response_test.rb b/test/server/http_proxy_response_test.rb index c76af862..fb5dbb23 100644 --- a/test/server/http_proxy_response_test.rb +++ b/test/server/http_proxy_response_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' require_relative 'http_adapter_stub' diff --git a/test/server/lib/check_metrics.rb b/test/server/lib/check_metrics.rb index 0a7358dc..ab3185e8 100644 --- a/test/server/lib/check_metrics.rb +++ b/test/server/lib/check_metrics.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'json' def coloured(arg) diff --git a/test/server/lib/coverage.rb b/test/server/lib/coverage.rb index b2f37ab5..68ab75e5 100644 --- a/test/server/lib/coverage.rb +++ b/test/server/lib/coverage.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'simplecov' require_relative 'simplecov_formatter_json' diff --git a/test/server/lib/coverage_metrics_limits.rb b/test/server/lib/coverage_metrics_limits.rb index db783255..e366e72d 100644 --- a/test/server/lib/coverage_metrics_limits.rb +++ b/test/server/lib/coverage_metrics_limits.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - def metrics [ [ nil ], diff --git a/test/server/lib/id58_test_base.rb b/test/server/lib/id58_test_base.rb index 1ef8a480..01ba0f08 100644 --- a/test/server/lib/id58_test_base.rb +++ b/test/server/lib/id58_test_base.rb @@ -1,4 +1,3 @@ -# frozen_string_literal: true require 'English' require 'minitest/autorun' require 'minitest/reporters' diff --git a/test/server/lib/run.sh b/test/server/lib/run.sh index f8daa329..8bb6e878 100755 --- a/test/server/lib/run.sh +++ b/test/server/lib/run.sh @@ -15,10 +15,10 @@ require '${MY_DIR}/coverage.rb' require file }" -export RUBYOPT='-W2' mkdir -p "${COVERAGE_ROOT}" set +e +export RUBYOPT='-W2 --enable-frozen-string-literal' ruby -e "${SCRIPT}" -- ${TEST_ARGS[@]} 2>&1 | tee "${COVERAGE_ROOT}/${TEST_LOG}" STATUS=${PIPESTATUS[0]} set -e diff --git a/test/server/lib/simplecov_formatter_json.rb b/test/server/lib/simplecov_formatter_json.rb index bc9c3536..215dc51e 100644 --- a/test/server/lib/simplecov_formatter_json.rb +++ b/test/server/lib/simplecov_formatter_json.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'simplecov' require 'json' diff --git a/test/server/lib/slim_json_reporter.rb b/test/server/lib/slim_json_reporter.rb index b18646bd..76f4bdc9 100644 --- a/test/server/lib/slim_json_reporter.rb +++ b/test/server/lib/slim_json_reporter.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require 'json' require 'minitest/reporters' diff --git a/test/server/lib/test_metrics_limits.rb b/test/server/lib/test_metrics_limits.rb index c9eb0dba..c2472bb2 100644 --- a/test/server/lib/test_metrics_limits.rb +++ b/test/server/lib/test_metrics_limits.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - def metrics [ [ nil ], diff --git a/test/server/prober_test.rb b/test/server/prober_test.rb index ead89ee0..2c3fa3b1 100644 --- a/test/server/prober_test.rb +++ b/test/server/prober_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' require 'ostruct' diff --git a/test/server/raising_disk_writer.rb b/test/server/raising_disk_writer.rb index 35952fe6..913eb64a 100644 --- a/test/server/raising_disk_writer.rb +++ b/test/server/raising_disk_writer.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - class RaisingDiskWriter attr_reader :pathed_filename diff --git a/test/server/saver.rb b/test/server/saver.rb index de4a13d1..08f8fc7d 100644 --- a/test/server/saver.rb +++ b/test/server/saver.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'http_json_hash/service' module Test diff --git a/test/server/spy_sheller.rb b/test/server/spy_sheller.rb index 00063bc9..7f7efebc 100644 --- a/test/server/spy_sheller.rb +++ b/test/server/spy_sheller.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - class SpySheller def initialize @spied = [] diff --git a/test/server/utf8_clean_test.rb b/test/server/utf8_clean_test.rb index 26092e7d..a90d5c91 100755 --- a/test/server/utf8_clean_test.rb +++ b/test/server/utf8_clean_test.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - require_relative 'differ_test_base' require_app 'utf8_clean' From 29b3569ddab51083e052116d01dc7025962b23bd Mon Sep 17 00:00:00 2001 From: JonJagger Date: Thu, 12 Feb 2026 12:39:59 +0000 Subject: [PATCH 2/4] Update rubocop config --- .rubocop.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 93b33e07..71f7cba2 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -51,6 +51,11 @@ Style/FetchEnvVar: Exclude: - source/server/app_base.rb +Style/FrozenStringLiteralComment: + Exclude: + - source/**/* + - test/**/* + Style/HashConversion: Exclude: - source/server/app_base.rb From b04373b6bb8cbab093ee64f903b5e017465b336b Mon Sep 17 00:00:00 2001 From: JonJagger Date: Thu, 12 Feb 2026 12:40:28 +0000 Subject: [PATCH 3/4] Update rubocop config --- .rubocop.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index 71f7cba2..b89318cd 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -54,7 +54,6 @@ Style/FetchEnvVar: Style/FrozenStringLiteralComment: Exclude: - source/**/* - - test/**/* Style/HashConversion: Exclude: From 5f8eca36622af759e27bb458d705d75f12108682 Mon Sep 17 00:00:00 2001 From: JonJagger Date: Fri, 13 Feb 2026 09:53:19 +0000 Subject: [PATCH 4/4] Remove snyk-container-scan from main workflow --- .github/workflows/main.yml | 45 ------------------------------------- .github/workflows/readme.md | 5 +++-- .kosli.yml | 2 -- 3 files changed, 3 insertions(+), 49 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 79bf18b3..4f3db271 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -286,50 +286,6 @@ jobs: --type=coverage-metrics - snyk-container-scan: - runs-on: ubuntu-latest - needs: [build-image] - env: - IMAGE_NAME: ${{ needs.build-image.outputs.tagged_image_name }} - KOSLI_FINGERPRINT: ${{ needs.build-image.outputs.digest }} - SARIF_FILENAME: snyk.container.scan.json - steps: - - name: Download docker image - uses: cyber-dojo/download-artifact@main - with: - image_digest: ${{ needs.build-image.outputs.digest }} - - - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Setup Snyk - uses: snyk/actions/setup@master - - - name: Run Snyk container scan - env: - SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} - run: - snyk container test ${IMAGE_NAME} - --policy-path=.snyk - --sarif - --sarif-file-output="${SARIF_FILENAME}" - - - name: Setup Kosli CLI - if: ${{ github.ref == 'refs/heads/main' && (success() || failure()) }} - uses: kosli-dev/setup-cli-action@v2 - with: - version: ${{ vars.KOSLI_CLI_VERSION }} - - - name: Attest evidence to Kosli - if: ${{ github.ref == 'refs/heads/main' && (success() || failure()) }} - run: - kosli attest snyk - --attachments=.snyk - --name=differ.snyk-container-scan - --scan-results="${SARIF_FILENAME}" - - sonarcloud-scan: runs-on: ubuntu-latest needs: [build-image] @@ -361,7 +317,6 @@ jobs: - rubocop-lint - unit-tests - integration-tests - - snyk-container-scan - snyk-code-scan - sonarcloud-scan env: diff --git a/.github/workflows/readme.md b/.github/workflows/readme.md index e5b9c686..5c7783bd 100644 --- a/.github/workflows/readme.md +++ b/.github/workflows/readme.md @@ -3,8 +3,6 @@ ## main.yml main.yml runs when there is a pushed commit. -Reports to https://app.kosli.com -The workflow to look in if you want to learn about [Kosli](https://kosli.com). The main structure in this workflow is: - The build-image job calls a [reusable-workflow](https://github.com/cyber-dojo/reusable-actions-workflows) which: - builds the image @@ -16,6 +14,9 @@ The main structure in this workflow is: - They load it from the Github Action cache using [cyber-dojo/download-artifact@main](https://github.com/cyber-dojo/download-artifact) - The kosli-attest commands use the fingerprint returned from the build-image job +Reports compliance to https://app.kosli.com +The workflow to look in if you want to learn about [Kosli](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/). + ## deploy-manually-to-aws-beta.yml Deliberately run a non-compliant (but functional) artifact to https://beta.cyber-dojo.org for Kosli demo purposes. diff --git a/.kosli.yml b/.kosli.yml index 2d6aae6c..9be5a196 100644 --- a/.kosli.yml +++ b/.kosli.yml @@ -9,8 +9,6 @@ trail: attestations: - name: rubocop-lint type: junit - - name: snyk-container-scan - type: snyk - name: snyk-code-scan type: snyk - name: unit-test