Class: RailsTemplate18f::Generators::GithubActionsGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- RailsTemplate18f::Generators::GithubActionsGenerator
- Includes:
- Base, CloudGovOptions
- Defined in:
- lib/generators/rails_template18f/github_actions/github_actions_generator.rb
Instance Method Summary collapse
- #install_actions ⇒ Object
- #update_boundary_diagram ⇒ Object
- #update_oscal_docs ⇒ Object
- #update_readme ⇒ Object
Instance Method Details
#install_actions ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/generators/rails_template18f/github_actions/github_actions_generator.rb', line 18 def install_actions directory "github", ".github" if !terraform_manage_spaces? remove_file ".github/workflows/terraform-production.yml" remove_file ".github/workflows/deploy-production.yml" end end |
#update_boundary_diagram ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/generators/rails_template18f/github_actions/github_actions_generator.rb', line 51 def update_boundary_diagram boundary_filename = "doc/compliance/apps/application.boundary.md" insert_into_file boundary_filename, <<EOB, after: "Boundary(cicd, \"CI/CD Pipeline\") {\n" System_Ext(githuball, "GitHub w/ GitHub Actions", "GSA-controlled code repository and Continuous Integration Service") EOB insert_into_file boundary_filename, <<~EOB, before: "@enduml" Rel(developer, githuball, "Publish code", "git ssh (22)") Rel(githuball, cg_api, "Deploy App", "Auth: SpaceDeployer Service Account, https (443)") EOB end |
#update_oscal_docs ⇒ Object
62 63 64 |
# File 'lib/generators/rails_template18f/github_actions/github_actions_generator.rb', line 62 def update_oscal_docs copy_oscal_component "github_actions" end |
#update_readme ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/generators/rails_template18f/github_actions/github_actions_generator.rb', line 26 def update_readme if file_content("README.md").match?(/^## CI\/CD$/) insert_into_file "README.md", readme_cicd, after: "## CI/CD\n" insert_into_file "README.md", readme_staging_deploy, after: "#### Staging\n" insert_into_file "README.md", readme_prod_deploy, after: "#### Production\n" insert_into_file "README.md", readme_credentials, after: "#### Credentials and other Secrets\n" else append_to_file "README.md", <<~EOM ## CI/CD #{readme_cicd} ### Deployment #### Staging #{readme_staging_deploy} #### Production #{readme_prod_deploy} #### Credentials and other Secrets #{readme_credentials} EOM end end |