rails_template_18f 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile.lock +49 -45
  4. data/README.md +102 -29
  5. data/exe/rails_template_18f +0 -21
  6. data/lib/generators/rails_template18f/active_storage/active_storage_generator.rb +2 -2
  7. data/lib/generators/rails_template18f/auditree/auditree_generator.rb +34 -3
  8. data/lib/generators/rails_template18f/auditree/templates/bin/auditree.tt +85 -11
  9. data/lib/generators/rails_template18f/auditree/templates/github/actions/auditree-cmd/action.yml.tt +17 -6
  10. data/lib/generators/rails_template18f/auditree/templates/github/workflows/auditree-validation.yml.tt +2 -6
  11. data/lib/generators/rails_template18f/circleci/templates/circleci/config.yml.tt +8 -7
  12. data/lib/generators/rails_template18f/cloud_gov_config/cloud_gov_config_generator.rb +1 -1
  13. data/lib/generators/rails_template18f/github_actions/github_actions_generator.rb +0 -1
  14. data/lib/generators/rails_template18f/github_actions/templates/github/dependabot.yml.tt +25 -0
  15. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/assemble-ssp.yml.tt +12 -3
  16. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/brakeman-analysis.yml +1 -1
  17. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/rspec.yml.tt +9 -1
  18. data/lib/generators/rails_template18f/github_actions/templates/github/workflows/{validate-ssp.yml.tt → validate-ssp.yml} +1 -1
  19. data/lib/generators/rails_template18f/newrelic/newrelic_generator.rb +1 -1
  20. data/lib/generators/rails_template18f/oscal/oscal_generator.rb +14 -1
  21. data/lib/generators/rails_template18f/oscal/templates/bin/trestle.tt +4 -1
  22. data/lib/generators/rails_template18f/oscal/templates/github/actions/trestle-cmd/action.yml.tt +16 -0
  23. data/lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb +1 -1
  24. data/lib/rails_template18f/version.rb +1 -1
  25. data/rails-template-18f.gemspec +3 -3
  26. data/railsrc +2 -0
  27. data/railsrc-hotwire +2 -0
  28. data/template.rb +19 -12
  29. data/templates/lib/tasks/scanning.rake +1 -1
  30. metadata +12 -12
  31. data/lib/generators/rails_template18f/github_actions/templates/github/actions/trestle-cmd/action.yml +0 -20
  32. data/lib/rails_template18f/app_updater.rb +0 -19
@@ -2,7 +2,7 @@ name: "Run an auditree-devtools command"
2
2
  description: "Sets up workspace for running a single command in auditree-devtools"
3
3
  inputs:
4
4
  tag:
5
- description: auditree-devtools tag to use. Defaults to <%= docker_auditree_tag %>
5
+ description: auditree-devtools tag to use.
6
6
  required: false
7
7
  default: <%= docker_auditree_tag %>
8
8
  cmd:
@@ -10,7 +10,8 @@ inputs:
10
10
  required: true
11
11
  email:
12
12
  description: Git user email to attribute to evidence updates
13
- required: true
13
+ required: false
14
+ default: "<%= git_email %>"
14
15
  config_template:
15
16
  description: Auditree config file template
16
17
  required: false
@@ -19,13 +20,23 @@ inputs:
19
20
  description: OSCAL Component Definition being used as baseline for assessment results
20
21
  required: false
21
22
  default: doc/compliance/oscal/component-definitions/devtools_cloud_gov/component-definition.json
23
+ volume:
24
+ description: Freeform volume string to mount another file in the auditree image
25
+ required: false
26
+ default: ""
22
27
  runs:
23
28
  using: "composite"
24
29
  steps:
25
30
  - name: Run cmd
26
31
  shell: bash
32
+ if: ${{ inputs.volume == '' }}
33
+ run:
34
+ bin/auditree -t ${{ inputs.tag }} -a ${{ inputs.config_template }} -c ${{ inputs.cdef }}
35
+ -e "${{ inputs.email }}" ${{ inputs.cmd }}
36
+
37
+ - name: Run cmd with volume
38
+ shell: bash
39
+ if: ${{ inputs.volume != '' }}
27
40
  run:
28
- docker run -v $GITHUB_WORKSPACE/${{inputs.config_template}}:/app/auditree.template.json:ro
29
- -v $GITHUB_WORKSPACE/${{inputs.cdef}}:/app/cdef.json:ro
30
- -e GITHUB_TOKEN -e CF_USERNAME -e CF_PASSWORD -e GIT_EMAIL="${{inputs.email}}"
31
- ghcr.io/gsa-tts/auditree:${{ inputs.tag }} ${{ inputs.cmd }}
41
+ bin/auditree -t ${{ inputs.tag }} -a ${{ inputs.config_template }} -c ${{ inputs.cdef }}
42
+ -e "${{ inputs.email }}" -v ${{ inputs.volume }} ${{ inputs.cmd }}
@@ -23,20 +23,16 @@ jobs:
23
23
  GITHUB_TOKEN: ${{ secrets.AUDITREE_GITHUB_TOKEN }}
24
24
  with:
25
25
  cmd: fetch
26
- email: "<%= git_email %>"
27
26
 
28
27
  - name: Check evidence
29
28
  uses: ./.github/actions/auditree-cmd
30
29
  env:
31
- CF_USERNAME: ${{ secrets.CF_USERNAME }}
32
- CF_PASSWORD: ${{ secrets.CF_PASSWORD }}
33
30
  GITHUB_TOKEN: ${{ secrets.AUDITREE_GITHUB_TOKEN }}
34
31
  with:
35
- cmd: check > doc/compliance/oscal/assessment-results/auditree/assessment-results.json
36
- email: "<%= git_email %>"
32
+ cmd: -o check
37
33
 
38
34
  - name: Save results
39
35
  uses: actions/upload-artifact@v4
40
36
  with:
41
37
  name: auditree_assessment_results
42
- path: doc/compliance/oscal/assessment-results/auditree
38
+ path: tmp/auditree/auditree.json
@@ -20,19 +20,16 @@ commands:
20
20
  description: Set up environment for running docker-trestle commands
21
21
  parameters:
22
22
  tag:
23
- description: docker-trestle tag to use. Defaults to latest
23
+ description: docker-trestle tag to use.
24
24
  type: string
25
25
  default: latest
26
26
  cmd:
27
27
  description: Command to run within docker-trestle
28
28
  type: string
29
29
  steps:
30
- - run:
31
- name: Fix directory permissions
32
- command: chmod -R a+w doc/compliance/oscal || true
33
30
  - run:
34
31
  name: Run trestle command
35
- command: docker run -v $(pwd)/doc/compliance/oscal:/app/docs:rw ghcr.io/gsa-tts/trestle:<< parameters.tag >> << parameters.cmd >><% end %>
32
+ command: docker run -u "$(id -u):$(id -g)" -v $(pwd)/doc/compliance/oscal:/app/docs:rw ghcr.io/gsa-tts/trestle:<< parameters.tag >> << parameters.cmd >><% end %>
36
33
  cg-deploy:
37
34
  description: "Login to cloud foundry space with service account credentials
38
35
  and push application using deployment configuration file."
@@ -141,7 +138,7 @@ jobs:
141
138
  steps:
142
139
  - checkout
143
140
  - trestle-cmd:
144
- cmd: trestle validate -f system-security-plans/<%= app_name %>/system-security-plan.json
141
+ cmd: validate-ssp-json
145
142
  - trestle-cmd:
146
143
  cmd: assemble-ssp-json 2> /dev/null | grep "^No changes to assembled ssp"
147
144
  assemble_ssp:
@@ -151,8 +148,12 @@ jobs:
151
148
  - checkout
152
149
  - trestle-cmd:
153
150
  cmd: trestle assemble -n <%= app_name %> system-security-plan
151
+ - trestle-cmd:
152
+ cmd: render-ssp
154
153
  - store_artifacts:
155
154
  path: doc/compliance/oscal/dist/system-security-plans/<%= app_name %>.json
155
+ - store_artifacts:
156
+ path: doc/compliance/oscal/ssp-render/<%= app_name %>_ssp.md
156
157
  <% end %>
157
158
  static_security_scans:
158
159
  docker:
@@ -161,7 +162,7 @@ jobs:
161
162
  - setup-project
162
163
  - run:
163
164
  name: Run Brakeman scan
164
- command: bundle exec brakeman
165
+ command: bin/brakeman --no-pager --ensure-ignore-notes
165
166
  - run:
166
167
  name: Bundle audit
167
168
  command: bundle exec rake bundler:audit
@@ -15,7 +15,7 @@ module RailsTemplate18f
15
15
  def install_climate_control
16
16
  return if gem_installed?("climate_control")
17
17
  gem_group :test do
18
- gem "climate_control", "~> 1.0"
18
+ gem "climate_control", "~> 1.2"
19
19
  end
20
20
  bundle_install
21
21
  end
@@ -24,7 +24,6 @@ module RailsTemplate18f
24
24
  if !oscal_dir_exists?
25
25
  remove_file ".github/workflows/validate-ssp.yml"
26
26
  remove_file ".github/workflows/assemble-ssp.yml"
27
- remove_dir ".github/actions/trestle-cmd"
28
27
  end
29
28
  end
30
29
 
@@ -0,0 +1,25 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ open-pull-requests-limit: 10
8
+ - package-ecosystem: npm
9
+ directory: "/"
10
+ schedule:
11
+ interval: daily
12
+ open-pull-requests-limit: 10
13
+ - package-ecosystem: github-actions
14
+ directory: "/"
15
+ schedule:
16
+ interval: daily
17
+ open-pull-requests-limit: 10<% if terraform? %>
18
+ - package-ecosystem: terraform
19
+ directories:
20
+ - "/terraform/production"
21
+ - "/terraform/staging"
22
+ schedule:
23
+ interval: weekly
24
+ open-pull-requests-limit: 10
25
+ <% end %>
@@ -4,8 +4,6 @@ on:
4
4
  workflow_dispatch:
5
5
  push:
6
6
  branches: [ main ]
7
- paths:
8
- - "doc/compliance/oscal/**"
9
7
 
10
8
  jobs:
11
9
  assemble_ssp:
@@ -19,8 +17,19 @@ jobs:
19
17
  with:
20
18
  cmd: trestle assemble -n <%= app_name %> system-security-plan
21
19
 
20
+ - name: Render final SSPP
21
+ uses: ./.github/actions/trestle-cmd
22
+ with:
23
+ cmd: render-ssp
24
+
25
+ - name: Transform SSPP to PDF
26
+ run: docker run --rm -u "$(id -u):$(id -g)" -v "$GITHUB_WORKSPACE/doc/compliance/oscal/ssp-render:/data" pandoc/latex <%= app_name %>_ssp.md -o <%= app_name %>_ssp.pdf
27
+
22
28
  - name: Save artifact
23
29
  uses: actions/upload-artifact@v4
24
30
  with:
25
31
  name: <%= app_name %>_SSPP
26
- path: doc/compliance/oscal/dist/system-security-plans/<%= app_name %>.json
32
+ path: |
33
+ doc/compliance/oscal/dist/system-security-plans/<%= app_name %>.json
34
+ doc/compliance/oscal/ssp-render/<%= app_name %>_ssp.md
35
+ doc/compliance/oscal/ssp-render/<%= app_name %>_ssp.pdf
@@ -39,7 +39,7 @@ jobs:
39
39
  - name: Scan
40
40
  continue-on-error: true
41
41
  run: |
42
- bundle exec brakeman -f sarif -o output.sarif.json .
42
+ bin/brakeman --no-pager --ensure-ignore-notes -f sarif -o output.sarif.json
43
43
 
44
44
  # Upload the SARIF file generated in the previous step
45
45
  - name: Upload SARIF
@@ -30,5 +30,13 @@ jobs:
30
30
 
31
31
  - name: Run rspec
32
32
  env:
33
- DATABASE_URL: ${{ steps.setup.outputs.database_url }}
33
+ DATABASE_URL: ${{ steps.setup.outputs.database_url }}<% if oscal_dir_exists? %>
34
+ rspec_oscal_output: tmp<% end %>
34
35
  run: bundle exec rspec
36
+ <% if oscal_dir_exists? %>
37
+ - name: Save assessment results
38
+ uses: actions/upload-artifact@v4
39
+ with:
40
+ name: <%= app_name %>_assessment
41
+ path: tmp/oscal
42
+ <% end %>
@@ -16,7 +16,7 @@ jobs:
16
16
  - name: Validate SSP
17
17
  uses: ./.github/actions/trestle-cmd
18
18
  with:
19
- cmd: trestle validate -f system-security-plans/<%= app_name %>/system-security-plan.json
19
+ cmd: validate-ssp-json
20
20
 
21
21
  check_ssp:
22
22
  name: Check assembly is current
@@ -24,7 +24,7 @@ module RailsTemplate18f
24
24
 
25
25
  def install_gem
26
26
  return if gem_installed?("newrelic_rpm")
27
- gem "newrelic_rpm", "~> 9.10"
27
+ gem "newrelic_rpm", "~> 9.12"
28
28
  bundle_install
29
29
  end
30
30
 
@@ -10,6 +10,7 @@ module RailsTemplate18f
10
10
  class_option :oscal_repo, desc: "GitHub Repo to store compliance documents within. Leave blank to check docs into the app repo"
11
11
  class_option :tag, desc: "Which docker-trestle tag to use. Defaults to `latest`"
12
12
  class_option :branch, desc: "Name of the branch to switch to when using a submodule. Defaults to `main`"
13
+ class_option :ci, desc: "Name of CI to generate files for. Defaults to system already in use"
13
14
 
14
15
  desc <<~DESC
15
16
  Description:
@@ -42,6 +43,12 @@ module RailsTemplate18f
42
43
  template "doc/compliance/oscal/trestle-config.yaml"
43
44
  end
44
45
 
46
+ def copy_github_actions
47
+ if use_github_actions?
48
+ directory "github", ".github"
49
+ end
50
+ end
51
+
45
52
  def update_readme
46
53
  if file_content("README.md").match?("## Documentation")
47
54
  insert_into_file "README.md", readme_contents, after: "## Documentation\n"
@@ -66,6 +73,8 @@ module RailsTemplate18f
66
73
  # Trestle working files
67
74
  doc/compliance/oscal/.trestle/_trash
68
75
  doc/compliance/oscal/.trestle/cache
76
+ # Trestle renders
77
+ doc/compliance/oscal/ssp-render/#{app_name}_ssp.*
69
78
  EOM
70
79
  end
71
80
  end
@@ -76,7 +85,11 @@ module RailsTemplate18f
76
85
  end
77
86
 
78
87
  def docker_trestle_tag
79
- options[:tag].present? ? options[:tag] : "latest"
88
+ options[:tag].present? ? options[:tag] : "20240912"
89
+ end
90
+
91
+ def use_github_actions?
92
+ options[:ci] == "github" || file_exists?(".github/workflows")
80
93
  end
81
94
 
82
95
  def readme_contents
@@ -1,10 +1,13 @@
1
1
  #! /usr/bin/env bash
2
2
 
3
+ trestle_tag="<%= docker_trestle_tag %>"
4
+
3
5
  command="bash"
4
6
  if [ "$1" != "" ]; then
5
7
  command=$1
8
+ shift 1
6
9
  fi
7
10
 
8
11
  oscal_location="$(dirname "$(realpath "$0")")/../doc/compliance/oscal"
9
12
 
10
- docker run -it --rm -v $oscal_location:/app/docs:rw ghcr.io/gsa-tts/trestle:<%= docker_trestle_tag %> $command
13
+ docker run -it --rm -v $oscal_location:/app/docs:rw ghcr.io/gsa-tts/trestle:$trestle_tag $command "$@"
@@ -0,0 +1,16 @@
1
+ name: "Run a docker-trestle command"
2
+ description: "Sets up workspace for running a single command in docker-trestle"
3
+ inputs:
4
+ tag:
5
+ description: docker-trestle tag to use.
6
+ required: false
7
+ default: <%= docker_trestle_tag %>
8
+ cmd:
9
+ description: Command to run within docker-trestle
10
+ required: true
11
+ runs:
12
+ using: "composite"
13
+ steps:
14
+ - name: Run cmd
15
+ shell: bash
16
+ run: docker run -u "$(id -u):$(id -g)" -v $GITHUB_WORKSPACE/doc/compliance/oscal:/app/docs:rw ghcr.io/gsa-tts/trestle:${{ inputs.tag }} ${{ inputs.cmd }}
@@ -14,7 +14,7 @@ module RailsTemplate18f
14
14
 
15
15
  def install_gem
16
16
  return if gem_installed?("sidekiq")
17
- gem "sidekiq", "~> 7.2"
17
+ gem "sidekiq", "~> 7.3"
18
18
  bundle_install
19
19
  end
20
20
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsTemplate18f
4
- VERSION = "1.1.0"
4
+ VERSION = "1.2.0"
5
5
  end
@@ -31,12 +31,12 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  # For more information and examples about making a new gem, checkout our
33
33
  # guide at: https://bundler.io/guides/creating_gem.html
34
- spec.add_dependency "railties", "~> 7.1.0"
35
- spec.add_dependency "activesupport", "~> 7.1.0"
34
+ spec.add_dependency "railties", "~> 7.2.0"
35
+ spec.add_dependency "activesupport", "~> 7.2.0"
36
36
  spec.add_dependency "thor", "~> 1.3"
37
37
  spec.add_dependency "colorize", "~> 1.1"
38
38
 
39
39
  spec.add_development_dependency "rspec", "~> 3.13"
40
40
  spec.add_development_dependency "ammeter", "~> 1.1"
41
- spec.add_development_dependency "standard", "~> 1.36"
41
+ spec.add_development_dependency "standard", "~> 1.40"
42
42
  end
data/railsrc CHANGED
@@ -9,3 +9,5 @@
9
9
  --css=postcss
10
10
  --template=template.rb
11
11
  --database=postgresql
12
+ --skip-rubocop
13
+ --skip-ci
data/railsrc-hotwire CHANGED
@@ -7,3 +7,5 @@
7
7
  --css=postcss
8
8
  --template=template.rb
9
9
  --database=postgresql
10
+ --skip-rubocop
11
+ --skip-ci
data/template.rb CHANGED
@@ -39,14 +39,16 @@ def print_announcements
39
39
  end
40
40
  end
41
41
 
42
- unless Gem::Dependency.new("rails", "~> 7.1.0").match?("rails", Rails.gem_version)
43
- warn "This template requires Rails 7.1.x"
42
+ unless Gem::Dependency.new("rails", "~> 7.2.0").match?("rails", Rails.gem_version)
43
+ warn "This template requires Rails 7.2.x"
44
44
  if Gem::Dependency.new("rails", "~> 6.1.0").match?("rails", Rails.gem_version)
45
45
  warn "See the rails-6 branch https://github.com/gsa-tts/rails-template/tree/rails-6"
46
46
  elsif Gem::Dependency.new("rails", "~> 7.0.0").match?("rails", Rails.gem_version)
47
47
  warn "See the rails-7.0 branch https://github.com/gsa-tts/rails-template/tree/rails-7.0"
48
- elsif Gem::Dependency.new("rails", "~> 7.2.0").match?("rails", Rails.gem_version)
49
- warn "We haven't updated the template for Rails 7.2 yet! Please file an issue so we can get the template updated"
48
+ elsif Gem::Dependency.new("rails", "~> 7.1.0").match?("rails", Rails.gem_version)
49
+ warn "See the rails-7.1 branch https://github.com/gsa-tts/rails-template/tree/rails-7.1"
50
+ elsif Gem::Dependency.new("rails", ">= 7.3.0").match?("rails", Rails.gem_version)
51
+ warn "We haven't updated the template for Rails >= 7.3 yet! Please file an issue so we can get the template updated"
50
52
  else
51
53
  warn "We didn't recognize the version of Rails you are using: #{Rails.version}"
52
54
  end
@@ -71,6 +73,9 @@ if compliance_trestle_submodule && compliance_trestle_repo.blank?
71
73
  end
72
74
  # only ask about auditree if we're also using docker-trestle
73
75
  auditree = compliance_trestle ? yes?("Run compliance checks with auditree? (y/n)") : false
76
+ if auditree
77
+ auditree_evidence_repo = ask("What is the https address of your auditree evidence repo? (Leave blank to fill in later)")
78
+ end
74
79
 
75
80
  terraform = yes?("Create terraform files for cloud.gov services? (y/n)")
76
81
  @cloud_gov_organization = ask("What is your cloud.gov organization name? (Leave blank to fill in later)")
@@ -111,9 +116,8 @@ EOM
111
116
  if compliance_trestle
112
117
  after_bundle do
113
118
  generator_arguments = []
114
- if compliance_trestle_submodule
115
- generator_arguments << "--oscal_repo=#{compliance_trestle_repo}"
116
- end
119
+ generator_arguments << "--oscal_repo=#{compliance_trestle_repo}" if compliance_trestle_submodule
120
+ generator_arguments << "--ci=github" if @github_actions
117
121
  generate "rails_template18f:oscal", *generator_arguments
118
122
  end
119
123
  register_announcement("OSCAL Documentation", <<~EOM)
@@ -183,7 +187,7 @@ after_bundle do
183
187
  end
184
188
 
185
189
  # updates for OWASP scan to pass
186
- gem "secure_headers", "~> 6.3"
190
+ gem "secure_headers", "~> 6.7"
187
191
  initializer "secure_headers.rb", <<~EOM
188
192
  SecureHeaders::Configuration.default do |config|
189
193
  # CSP settings are handled by Rails
@@ -224,9 +228,8 @@ uncomment_lines csp_initializer, "content_security_policy_nonce"
224
228
  gem_group :development, :test do
225
229
  gem "rspec-rails", "~> 6.1"
226
230
  gem "dotenv-rails", "~> 3.1"
227
- gem "brakeman", "~> 6.1"
228
231
  gem "bundler-audit", "~> 0.9"
229
- gem "standard", "~> 1.36"
232
+ gem "standard", "~> 1.40"
230
233
  end
231
234
  if ENV["RT_DEV"] == "true"
232
235
  gem "rails_template_18f", group: :development, path: ENV["PWD"]
@@ -462,8 +465,11 @@ end
462
465
 
463
466
  if auditree
464
467
  after_bundle do
465
- generate "rails_template18f:auditree"
468
+ generate "rails_template18f:auditree", "--evidence_locker=#{auditree_evidence_repo}"
466
469
  end
470
+ register_announcement "Auditree", <<~EOM
471
+ * Don't forget to follow the initial setup instructions for Auditree in the main README
472
+ EOM
467
473
  end
468
474
 
469
475
  # setup production credentials file
@@ -495,7 +501,8 @@ EOM
495
501
  # ensure this is the very last step
496
502
  after_bundle do
497
503
  if run_db_setup
498
- rails_command "db:setup"
504
+ rails_command "db:create"
505
+ rails_command "db:migrate"
499
506
  end
500
507
 
501
508
  # x86_64-linux is required to install gems on any linux system such as cloud.gov or CI pipelines
@@ -2,7 +2,7 @@ desc "Run brakeman with potential non-0 return code"
2
2
  task :brakeman do
3
3
  # -z flag makes it return non-0 if there are any warnings
4
4
  # -q quiets output
5
- unless system("brakeman -z -q") # system is true if return is 0, false otherwise
5
+ unless system("bin/brakeman -z -q") # system is true if return is 0, false otherwise
6
6
  abort("Brakeman detected one or more code problems, please run it manually and inspect the output.")
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_template_18f
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Ahearn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-20 00:00:00.000000000 Z
11
+ date: 2024-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 7.1.0
19
+ version: 7.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 7.1.0
26
+ version: 7.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 7.1.0
33
+ version: 7.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 7.1.0
40
+ version: 7.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: thor
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.36'
103
+ version: '1.40'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.36'
110
+ version: '1.40'
111
111
  description:
112
112
  email:
113
113
  - ryan.ahearn@gsa.gov
@@ -154,7 +154,7 @@ files:
154
154
  - lib/generators/rails_template18f/github_actions/templates/github/actions/run-server/action.yml
155
155
  - lib/generators/rails_template18f/github_actions/templates/github/actions/setup-languages/action.yml.tt
156
156
  - lib/generators/rails_template18f/github_actions/templates/github/actions/setup-project/action.yml.tt
157
- - lib/generators/rails_template18f/github_actions/templates/github/actions/trestle-cmd/action.yml
157
+ - lib/generators/rails_template18f/github_actions/templates/github/dependabot.yml.tt
158
158
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/assemble-ssp.yml.tt
159
159
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/brakeman-analysis.yml
160
160
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/dependency-scans.yml
@@ -166,7 +166,7 @@ files:
166
166
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/rspec.yml.tt
167
167
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-production.yml
168
168
  - lib/generators/rails_template18f/github_actions/templates/github/workflows/terraform-staging.yml
169
- - lib/generators/rails_template18f/github_actions/templates/github/workflows/validate-ssp.yml.tt
169
+ - lib/generators/rails_template18f/github_actions/templates/github/workflows/validate-ssp.yml
170
170
  - lib/generators/rails_template18f/github_actions/templates/oscal/component-definitions/github_actions/component-definition.json.tt
171
171
  - lib/generators/rails_template18f/i18n/i18n_generator.rb
172
172
  - lib/generators/rails_template18f/i18n/templates/config/locales/en.yml.tt
@@ -181,6 +181,7 @@ files:
181
181
  - lib/generators/rails_template18f/oscal/oscal_generator.rb
182
182
  - lib/generators/rails_template18f/oscal/templates/bin/trestle.tt
183
183
  - lib/generators/rails_template18f/oscal/templates/doc/compliance/oscal/trestle-config.yaml.tt
184
+ - lib/generators/rails_template18f/oscal/templates/github/actions/trestle-cmd/action.yml.tt
184
185
  - lib/generators/rails_template18f/rails_erd/rails_erd_generator.rb
185
186
  - lib/generators/rails_template18f/rails_erd/templates/erdconfig
186
187
  - lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb
@@ -199,7 +200,6 @@ files:
199
200
  - lib/generators/rails_template18f/terraform/templates/terraform/staging/providers.tf.tt
200
201
  - lib/generators/rails_template18f/terraform/templates/terraform/staging/variables.tf
201
202
  - lib/generators/rails_template18f/terraform/terraform_generator.rb
202
- - lib/rails_template18f/app_updater.rb
203
203
  - lib/rails_template18f/generators.rb
204
204
  - lib/rails_template18f/generators/base.rb
205
205
  - lib/rails_template18f/generators/cloud_gov_options.rb
@@ -273,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
273
273
  - !ruby/object:Gem::Version
274
274
  version: '0'
275
275
  requirements: []
276
- rubygems_version: 3.5.9
276
+ rubygems_version: 3.5.11
277
277
  signing_key:
278
278
  specification_version: 4
279
279
  summary: Generators for creating an 18F-flavored Rails app
@@ -1,20 +0,0 @@
1
- name: "Run a docker-trestle command"
2
- description: "Sets up workspace for running a single command in docker-trestle"
3
- inputs:
4
- tag:
5
- description: docker-trestle tag to use. Defaults to latest
6
- required: false
7
- default: latest
8
- cmd:
9
- description: Command to run within docker-trestle
10
- required: true
11
- runs:
12
- using: "composite"
13
- steps:
14
- - name: Enable writing to trestle directories
15
- shell: bash
16
- run: chmod -R a+w $GITHUB_WORKSPACE/doc/compliance/oscal
17
-
18
- - name: Run cmd
19
- shell: bash
20
- run: docker run -v $GITHUB_WORKSPACE/doc/compliance/oscal:/app/docs:rw ghcr.io/gsa-tts/trestle:latest ${{ inputs.cmd }}
@@ -1,19 +0,0 @@
1
- require "rails/app_updater"
2
-
3
- module AppUpdaterOptions
4
- extend ActiveSupport::Concern
5
-
6
- class_methods do
7
- def generator_options
8
- options = super
9
- # These options all end up hardcoded to true in the default `rails app:update`
10
- options[:skip_active_job] = !defined?(ActiveJob::Railtie)
11
- options[:skip_action_mailbox] = !defined?(ActionMailbox::Engine)
12
- options[:skip_action_text] = !defined?(ActionText::Engine)
13
- options[:skip_test] = !defined?(Rails::TestUnitRailtie)
14
- options
15
- end
16
- end
17
- end
18
-
19
- Rails::AppUpdater.prepend(AppUpdaterOptions)