Skip to content

Commit

Permalink
v0.1.0.pre.4
Browse files Browse the repository at this point in the history
  • Loading branch information
utarsuno committed Nov 24, 2020
1 parent 28c9077 commit b917baa
Show file tree
Hide file tree
Showing 115 changed files with 2,515 additions and 2,686 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ vendor/

# wip
services/ruuuby/f93/
/services/ruuuby_server/
/services/ruuuby_server/ruuuby_server/
services/temp/

#
Expand Down
1,146 changes: 573 additions & 573 deletions CHANGELOG.md

Large diffs are not rendered by default.

13 changes: 11 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,19 @@ ENV BUILD_CORE_LIBS git wget curl vim build-base readline readline-dev openssl-d
ENV SERVICE_OS="alpine"
ENV SERVICE_OS_VERSION="TODO:"

#ENV RUBY_GC_HEAP_INIT_SLOTS=40000
#ENV RUBY_GC_HEAP_FREE_SLOTS=16384
#ENV RUBY_GC_HEAP_GROWTH_FACTOR=1.6180
#ENV RUBY_GC_HEAP_GROWTH_MAX_SLOTS=0
#ENV RUBY_GC_HEAP_GROWTH_MAX_SLOTS=0
#ENV RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO=0.25
#ENV RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO=0.60
#ENV RUBY_GC_MALLOC_LIMIT_MAX=67108864

# TODO: clean up consistency, just use bitwise flags
ENV BUNDLE_SILENCE_ROOT_WARNING=1
ENV RUUUBY_F00 "b04|b05
ENV RUUUBY_F01 "b01|b03|b04{debug}"
ENV RUUUBY_F12 "b00"
ENV RUUUBY_F26 "b00"
ENV RUUUBY_F98 "11"
ENV RUUUBY_OS_CURRENT "linux"
Expand All @@ -65,7 +74,7 @@ ENV RBENV_ROOT /usr/local/rbenv
# TODO: UPDATE TO 3.0.0
# https://cache.ruby-lang.org/pub/ruby/3.0/
ENV RUBY_VERSION 2.7.1
#ENV GEM_VERSION "3.2.0.rc.1"
ENV RBENV_VERSION "3.0.0-preview1"
ENV GEM_VERSION "3.2.0.rc.2"
ENV BUNDLER_VERSION "bundler:2.2.0.rc.2"
ENV CONFIGURE_OPTS --disable-install-doc
Expand Down
5 changes: 0 additions & 5 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,4 @@

source 'https://rubygems.org'

group :db do
gem 'pg'
gem 'activerecord'
end

gemspec
11 changes: 11 additions & 0 deletions History.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@

= `v0.1.0.pre.4` / 2020-11-24

* continue `DB` migrations
* apply miscellaneous clean ups
* (*unofficially*) add gems{`rails`, `keycutter`, `github-linguist`}
* remove `rng` tests among others while reviewing scope of needed `statistics formulas` and approaches
* start of (critically needed) migration for more formal `CICD`
* begin preparation for proper git branching w/ `git hooks` on both `client` and `server` side
* begin preparation for proper build pipelines (w/ hybrid of code and one of the many great `CICD` frameworks)
* iterative refactor of mapping between features & code; `Ruuuby Dockerization` to resume following more cleanup

= `v0.1.0.pre.3` / 2020-11-16

* add gem{`open3`}
Expand Down
80 changes: 46 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# Ruuuby [![Gem Version](https://badge.fury.io/rb/ruuuby.svg)](https://badge.fury.io/rb/ruuuby)

| for resource | reference |
| ------------------: | :---------------------------------------------------------- |
| latest version | [`0.1.0.pre.3`](https://rubygems.org/gems/ruuuby/versions/0.1.0.pre.3-x86_64-darwin-19) |
| stable version | [`0.0.49`](https://rubygems.org/gems/ruuuby/versions/0.0.49-x86_64-darwin-18) |
| changelog | [`CHANGELOG.md`](https://github.com/utarsuno/ruuuby/blob/master/CHANGELOG.md) with in progress migration to [`[History.txt format]`](https://guides.rubygems.org/releasing-rubygems/) |
| `JIT` testing | `RUBYOPT="--jit --jit-warnings --jit-wait --jit-max-cache=1337 --jit-verbose=2 --jit-debug -w" ./bin/console/ruuuby` |
| common<br>non-ascii | ``,``,``,``,``,``,``,``,``,``,``,`π`,``,`𝚽`<br>`η̂`,`μ`,``,`𝔠`,`𝔦`,`𝔣`,`Λ`,`λ`,``,``,`𝑓`,``,`τ`,``,`𝚡`,`𝛿`,`σ`,``,``<br>`𝔹`,``,``,`𝕎`,``,``,`𝔸ᵣ`,``,`𝕋`,`𝕀`,``,`𝕌`,`𝕊`,`🅱`<br>`±`,`Ω`,`γ`,`Ψ`,`ρ`,`δ`,``,``,``,``,``,``,``,``,``,``,``,``,``<br>`𝞽`,`θ`,`°`,`ʳ`,``,``,``,``,``,``,``,``,``,``,``,``<br>`⁻ⁿ`,``,`¹`,`²`,`³`,``,``,``,``,``,``,``,``,`▲,`▬,``<br>`¼`,`½`,`¾`,``,``,``,``,``,``,``,``,``,``,``,``,``,``<br>`📁`,`🗄️`,`💾`,`🕒`,`🎲`,`📊`,`🧟`,`💻`,`📱`,`🌐`,`❄️`,`💎`,`⚠️`,`🔑`,`✏️`,`📖`,`🏠`<br>``,`♻️`,`🍺`,`🛡`,`📅`,`🛑`,``,``,`🆔`,`🧬`<br>`🐇`,`🐋`,`🐍`,`🐫`,`🙈` |
| download source for utilized version of Ruby | [Ruby3.0.0-preview1](https://www.ruby-lang.org/en/news/2020/09/25/ruby-3-0-0-preview1-released/) |
| summary & purpose | in migration until version{`0.1.0`} |
| for resource | reference |
| ---------------------: | :---------------------------------------------------------- |
| latest version | [`0.1.0.pre.4`](https://rubygems.org/gems/ruuuby/versions/0.1.0.pre.4-x86_64-darwin-19) |
| stable version | [`0.0.49`](https://rubygems.org/gems/ruuuby/versions/0.0.49-x86_64-darwin-18) |
| copy-paste smiley face | `˙ ͜ʟ˙` |
| changelog | [`CHANGELOG.md`](https://github.com/utarsuno/ruuuby/blob/master/CHANGELOG.md) with in progress migration to [`[History.txt format]`](https://guides.rubygems.org/releasing-rubygems/) |
| `JIT` testing | `RUBYOPT="--jit --jit-warnings --jit-wait --jit-max-cache=1337 --jit-verbose=2 --jit-debug -w" ./bin/console/ruuuby` |
| common<br>non-ascii | ``,``,``,``,``,``,``,``,``,``,``,`π`,``,`𝚽`<br>`η̂`,`μ`,`𝔠`,`Λ`,`λ`,``,``,`𝑓`,``,`τ`,`χ²`,``,`𝚡`,`𝛿`,`σ`<br>`𝔹`,``,``,`𝕎`,``,``,`𝔸ᵣ`,``,`𝕋`,`𝕀`,``,`𝕌`,`𝕊`,`🅱`<br>`±`,`Ω`,`γ`,`Ψ`,`ρ`,`δ`,``,``,``,``,``,``,``,<br>``,``,``,``,``,``,``,``,``,``,``,``,``<br>`𝞽`,`θ`,`°`,`ʳ`,``,``,``,``,``,``,`𝔦`,`𝔣`,``,``<br>``,``,``,``,``,``,``,`⁻ⁿ`,``,`¹`,`²`,`³`,``,``,``,``,``,``<br>`¼`,`½`,`¾`,``,``,``,``,``,``,``,``,``,``,``,``,``,``<br>`💎`,`🌐`,`🆔`,`🛑`,``,`💻`,`🔑`,`🐋`,`🐍`,`🐫`,`🙈`<br>`📁`,`🗄️`,`💾`,`🕒`,`🎲`,`📊`,`🧟`,`❄️`,`⚠️`,`✏️`,`📖`,`🏠`<br>`📱`,`🌎`,``,`♻️`,`🍺`,`🛡`,`📅`,``,`🧬`,`🐇`,`🌽` |
| [download source for utilized version of Ruby](https://cache.ruby-lang.org/pub/ruby/3.0/) | [Ruby3.0.0-preview1](https://www.ruby-lang.org/en/news/2020/09/25/ruby-3-0-0-preview1-released/) |
| summary & purpose | in migration until version{`0.1.0`} |

### Examples

Expand All @@ -19,7 +20,7 @@

# run node.js tests on live container{A}, transfer results as file to live container{B}
qa_results = 🐋['service_js_dev'].cmd!(%w(npm test --check-leaks)).join.as_utf8
🐋['service_nginx_dev'].📁✏️('/example/file/path', qa_results)
🐋['service_nginx_dev'].📁✏️('/example/file/path.txt', qa_results)

# send chat message, triggering execution of background QA tests which involve randomness
# ‣ allowing relatively ∞ time for tests to complete, as needed
Expand Down Expand Up @@ -89,22 +90,25 @@ data = {haaallo: 'wooorld', ye: 'ee'}
### Gems:

| gem | version | :development, :runtime | notes |
| ---: | :--- | :---: | ---: |
| :---: | :---: | :---: | :--- |
| `tty-command` | [`0.10.0`](https://rubygems.org/gems/tty-command/versions/0.10.0) | ✅, ✅ | always required |
| `finite_machine` | [`0.14.0`](https://rubygems.org/gems/finite_machine/versions/0.14.0) | ✅, ✅ | always required |
| `bunny` | [`2.17.0`](https://rubygems.org/gems/bunny/versions/2.17.0) | ✅, ❌ | toggleable feature |
| `docker-api` | [`2.0.0`](https://rubygems.org/gems/docker-api/versions/2.0.0) | ✅, ❌ | toggleable feature |
| `open3` | [`0.1.0`](https://rubygems.org/gems/open3/versions/0.1.0) | ✅, ❌ | toggleable feature |
| `pg` | [`1.2.3`](https://rubygems.org/gems/pg/versions/1.2.3) | ✅, ❌ | toggleable feature |
| `activerecord` | [`6.1.0.rc1`](https://rubygems.org/gems/activerecord/versions/6.1.0.rc1) | ✅, ❌ | toggleable feature |
| `activerecord` | [`6.0.3.4`](https://rubygems.org/gems/activerecord/versions/6.0.3.4) | ✅, ❌ | toggleable feature |
| `keycutter` | [`1.0.2`](https://rubygems.org/gems/keycutter/versions/1.0.2) | ✅, ❌ | development utility |
| `rdoc` | [`6.2.1`](https://rubygems.org/gems/rdoc/versions/6.2.1) | ✅, ❌ | development utility |
| `rspec` | [`3.10.0`](https://rubygems.org/gems/rspec/versions/3.10.0) | ✅, ❌ | development utility |
| `rspec-benchmark` | [`0.6.0`](https://rubygems.org/gems/rspec-benchmark/versions/0.6.0) | ✅, ❌ | development utility |
| `rake` | [`13.0.1`](https://rubygems.org/gems/rake/versions/13.0.1) | ✅, ❌ | development utility |
| `rake-compiler` | [`1.1.1`](https://rubygems.org/gems/rake-compiler/versions/1.1.1) | ✅, ❌ | development utility |
| `rugged` | [`1.1.0`](https://rubygems.org/gems/rugged/versions/1.1.0) | ❌, ❌ | broke w/ migration, fix wip |
| `rubygems-update` | [`3.2.0.rc.2`](https://rubygems.org/gems/rubygems-update/versions/3.2.0.rc.2) | ❌, ❌ | recommended version |
| `bundler` | [`2.2.0.rc.2`](https://rubygems.org/gems/bundler/versions/2.2.0.rc.2) | ❌, ❌ | recommended version |
| `rugged` | [`1.1.0`](https://rubygems.org/gems/rugged/versions/1.1.0) | ❌, ❌ | to be (re-added) after increasing `CICD` scope |
| `github-linguist` | [`7.12.0`](https://rubygems.org/gems/github-linguist/versions/7.12.0) | ❌, ❌ | to be added after increasing `CICD` scope |
| `rails` | [`6.0.3.4`](https://rubygems.org/gems/rails/versions/6.0.3.4) | ❌, ❌ | to be added after increasing `CICD` scope |

## Overview:

Expand Down Expand Up @@ -151,7 +155,6 @@ data = {haaallo: 'wooorld', ye: 'ee'}
| class(es) | func(s) added |
| ---------------------: | :---------------------------------- |
| `File`, `Dir`, `ENV`, `NilClass`, `Vector` | `∅?` |
| `Module` | `∃⨍_alias?`, `∃⨍?` |
| `File` | `replace_expr_with`, `replace_expr_with!`, `insert_line_before_expr` |
| `Object` | ``, `ary?`, `bool?`, `hsh?`, `int?`, `flt?`, `num?`, `str?`, `chr?`, `sym?`, `matrix?`, `vec?`<br>`🛑bool❓`, `🛑int❓`, `🛑flt❓`, `🛑num❓`, `🛑ary❓`, `🛑str❓`, `🛑sym❓` |
| `String` | `♻️⟵`, `♻️⟶`, `♻️⟶∞`,`∋?`, `∌?`, `∈?`, `∉?`<br>`⬇?``downcase?`, `⬆?``upcase?`, `⬇!``downcase!`, `⬆!``upcase!`<br>`🐫?`, `🐫⬇?`, `to_🐫``🐍⬆?`, `🐍?`, `to_🐍`<br>`digit?`, `to_num`, `to_num?`, `palindrome?`<br>`as_utf8`, `iso8601?`, `to_iso8601`, `as_iso8601` |
Expand All @@ -175,30 +178,39 @@ data = {haaallo: 'wooorld', ye: 'ee'}

---

#### Runnable Commands
### Runnable Commands

> documentation to update here prior to version{0.1.0}
---

### Code Base Statistics:

| categories | attribute | value(s) | stable before version{`0.1.0`} | # of |
| -----------------: | :----------------------: | ----------: | :-----: | :---- |
| `QA` | `unit` | `1202` || tests (core functionality) |
| `QA` | `integration` | `20` || tests (state & functionality of grouped units) |
| `QA`,`performance` | `benchmarks-runtime` | || |
| `QA`,`performance` | `benchmarks-memory` | || |
| `QA` | `rng` | `2` || tests (involving statistics/randomness, ex: verifying a geometric distribution)) |
| `QA`,`DB` | `system` | `7` || tests (`integration` scaled to `micro-services` & w/ randomness involved to help encounter niche error-states) |
| `QA`,`DB` | `engine` | || |
| `QA`,`DB` | `ORM` | || |
| `QA`,`DB` | `services` | || |
| `QA`,`CICD`,`DB` | `domain` | || |
| `CICD` | `audit` | `83` || tests (anything non-functionality based) |
| `CICD` | `locale` | `66` || tests (verifying `Ruuuby` needed build configs) |
| `CICD` | `preferences` | `20` || tests (verifying preferred `OS & development configs & values`) |
| `structure` | `tech-debt` | `8` || tests (tracking missing functionality) |
| `structure` | `features` | || |
| `coverage` | `code-documentation` | `? %` || |
| `coverage` | `code-coverage-tested` | `? %` || |
#### Discrete Tests: *(relative test weights are estimated, pending formal calculations)*

| relative weight per test | testing categories | label | count | stable before version{`0.1.0`} | description |
| -----: | :----------------: | :----------------------: | :----------: | :-----: | :---- |
| `0.01` | `QA` | `unit` | `1189` || core functionality |
| `0.01` | `QA` | `tech-debt` | `9` || track missing or incorrect functionality |
| `0.01` | `CICD` | `audit` | `82` || anything non-functionality based regarding expected `code structure` |
| `0.01` | `CICD` | `preferences` | `26` || verify developer preferred `OS & dev configs/values` |
| `0.02` | `QA`,`DB` | `DB engine` | || `DB` specific `unit` tests |
| `0.05` | `QA`,`DB` | `ORM` | || `ORM` specific `unit` tests |
| `0.05` | `CICD` | `locale` | `55` || verify `Ruuuby` required (build) configs |
| `0.05` | `QA` | `integration` | `42` || state & functionality of grouped `unit` tests (especially for any set of code involving more than `1 feature`) |
| `0.10` | `QA` | `rng` | || verify data distributions (each test allowed relatively ∞ time to complete) |
| `0.15` | `QA`,`performance` | `benchmarks-runtime` | || verify ideal boundaries and variance of `runtime performance` |
| `0.15` | `QA`,`performance` | `benchmarks-memory` | || verify ideal boundaries and variance of `memory performance` |
| `0.25` | `QA`,`performance` | `benchmark-matrices` | || verify ideal `macro trends` through aggregations of data-sets from `benchmarks`, `logs`, `DB data`, etc |
| `0.50` | `QA`,`DB` | `services` | || `integration` scaled across groups of `ORM & DB` tests |
| `0.75` | `QA`,`DB` | `system` | `7` || `integration` scaled to `micro-services` w/ randomness added to help encounter niche error-states |
| `1.00` | `QA`,`CICD`,`DB` | `domain` | || `integration` scaled across groups of `micro-services` |

#### Code Coverage

| category | `%` of code covered | stable before version{`0.1.0`} |
| ---------------------: | :----------------------: | :----------------------------- |
| `features` | `?` ||
| `documentation` | `?` ||
| `full test suite` | `?` ||
| `configuration as code` | `?` ||
12 changes: 6 additions & 6 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ namespace :qa do
task :unit do
#ENV['RUUUBY_F01'] = 'b00'
ENV['RUUUBY_PERFORMANCE_LIMIT'] = 'on'
ENV['RUUUBY_AUTOLOAD_DB'] = 'off'
::Rake::Task['rspec_unit'].invoke
end

Expand All @@ -32,7 +31,6 @@ namespace :qa do
ENV['RUBYOPT'] = '-W:no-deprecated -W:no-experimental'
ENV['RUUUBY_F01'] = 'b00'
ENV['RUUUBY_PERFORMANCE_LIMIT'] = 'on'
ENV['RUUUBY_AUTOLOAD_DB'] = 'off'
ENV['RUUUBY_RSPEC_INTEGRATION'] = 'on'
::Rake::Task['rspec_integration'].execute
end
Expand All @@ -43,13 +41,12 @@ namespace :qa do
ENV['RUUUBY_PERFORMANCE_LIMIT'] = 'on'
ENV['RUUUBY_F92'] = 'b01|b02'
ENV['RUUUBY_RSPEC_INTEGRATION'] = 'off'
ENV['RUUUBY_AUTOLOAD_DB'] = 'on'
::Rake::Task['rspec_db'].invoke
::Rake::Task['rspec_db_new'].invoke
end

task :rng do
ENV['RUBYOPT'] = '-W:no-deprecated -W:no-experimental'
ENV['RUUUBY_F01'] = 'b00'
ENV['RUUUBY_F01'] = 'b01|b03|b04{debug}'
ENV['RUUUBY_PERFORMANCE_LIMIT'] = 'on'
::Rake::Task['rspec_rng'].execute
end
Expand Down Expand Up @@ -127,7 +124,9 @@ module CategoriesQA
DB_NEW = %w(
/spec/helpers/db/autoload_me
/services/ruuuby_db/spec/migration_spec
/services/ruuuby_db/spec/test/migration_spec
)
SPEC_RNG = %w(/spec/helpers/rng/autoload_me)
INTEGRATION = %w(/spec/helpers/integration/autoload_me)
LIB_BENCHMARK = %w(/spec/helpers/performance/autoload_me)
LOCALE_BASE = %w(/spec/helpers/locale/autoload_me)
Expand All @@ -140,6 +139,7 @@ module CategoriesQA
/services/dev_configs/mac/spec/locale/f92_b00_spec
/services/dev_configs/mac/spec/locale/f98_spec
/services/dev_configs/mac/spec/locale/locale_full_verification_spec
/services/dev_configs/mac/spec/locale/ruby_installation_spec
)
end
end
Expand Down Expand Up @@ -187,7 +187,7 @@ add_task_rspec('performance', '', CategoriesQA::Preload::LIB_BENCHMARK)

add_task_rspec('unit')
add_task_rspec('audit')
add_task_rspec('rng')
add_task_rspec('rng', '', CategoriesQA::Preload::SPEC_RNG)
add_task_rspec('locale', '**/*_full_verification_spec.rb', CategoriesQA::Preload::LOCALE_BASE)
add_task_rspec('preferences', '', CategoriesQA::Preload::LOCALE_FULL)
add_task_rspec('tech_debt')
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ services:
POSTGRES_USER: 'myuser'
POSTGRES_PASSWORD: 'mypassword'
POSTGRES_DB: 'env_test'
# ports:
# - 5433:5433
ports:
- 5433:5432
volumes:
- 'vol_db_test/:/var/lib/postgresql/data/'
- './services/ruuuby_db/init.sql:/docker-entrypoint-initdb.d/init.sql'
Expand Down
Loading

0 comments on commit b917baa

Please sign in to comment.