rails_template_18f 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)