GithubHelp home page GithubHelp logo

isabella232 / site-audit-tool Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pantheon-systems/site-audit-tool

0.0 0.0 0.0 746 KB

Experimental project to extract Site Audit checks into a separate project

Shell 0.64% PHP 99.36%

site-audit-tool's Introduction

Experimental Site Audit Tool

Build Status Actively Maintained

This is an experimental Drush extension.

Goal: Create a Global Drush command that runs all of the checks in the Site Audit 2.x branch.

Potential future goal: Share checks between the Global Drush command in the Site Audit 3.x branch.

See the #3052993 in the Site Audit issue queue.

Usage

Ideally, this Drush command will become a dependency of the Site Audit module; if that happens, it will be available once the Site Audit module is installed into a Composer-managed site.

You may also install this module to any location that Drush searches for global or site-local commands. It does not need its vendor directory.

Development

In development, clone this repository, then set up the System Under Test (sut) via:

composer install
composer drupal:scaffold

That will set up your local project to run and test with Drush 9. To use Drush 8 instead:

composer scenario drush8

The Composer Test Scenarios project is used to manage the Composer dependencies needed to test different scenarios of this project. Running composer scenario is like running composer install; it will install the appropriate dependencies for the requested testing scenario. Run composer install to return to the default installation.

To use this extension as a global Drush command, set up your global drush.yml file as follows:

drush:
  paths:
    include:
      - '${env.home}/path/to/drush-extensions'

Then install this project to ~/path/to/drush-extensions/Commands/site-audit-tool

Running Tests

Set up for 'development' as described in "Development" section. Then, run:

composer test

Ad-hoc Testing

In development:

composer drush audit:best-practices

This will run the given Drush command against a local test Drupal site, the "system under test". Run the tests once to install the Drupal site.

Testing via Tagged Deploy

  • After your work is ready to test in a production environment, cut a new RC tag from your branch and push that tag to github.
  • Check out the cos-framework-clis repo
  • Update the drush/Dockerfile to use the tag you just pushed as the value for site_audit_tool_version
  • At present, you must build the containers locally to push them to quay.io, so from the cos-framework-clis repo:
    • cd drush
    • make build-drush10 (or whichever version needed)
    • docker push {BUILD-TAG-NAME}
      • Tag name should be something like quay.io/getpantheon/cos-drush:v10-sandbox-eco-cef2a7a-dirty-689f4da
      • If tag name is only a short name like v10, DO NOT PUSH OR YOU WILL DEPLOY IMMEDIATELY TO PRODUCTION.
  • SSH into a Ygg node
    • ygg /sites/{SITE}/environments/{ENVIRONMENT}/workflows -X POST -d '{"type": "change_environment_image", "params": {"server_type": "appserver", "container_name": "drush", "tag": "{TAG}"}}' | jq .
  • Your site will now be using the new site-audit-tool version and all related functionality can be tested.

site-audit-tool's People

Contributors

greg-1-anderson avatar helen-yan avatar rwagner00 avatar namespacebrian avatar sarahg avatar edwardangert avatar kporras07 avatar pantheon-ci-bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.