Git Product home page Git Product logo

ruwanl / govcms7 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from govcms/govcms7

0.0 0.0 0.0 37.2 MB

Current stable release of the main Drupal 7 GovCMS distribution, with releases mirrored at https://www.drupal.org/project/govcms

Home Page: https://www.govcms.gov.au/

License: GNU General Public License v2.0

PHP 95.29% CSS 1.10% JavaScript 0.39% Ruby 0.15% HTML 0.03% Makefile 0.17% Gherkin 1.35% Shell 0.06% Rich Text Format 0.01% SCSS 1.45%

govcms7's Introduction

govCMS

CircleCI

Note: This release is not Acquia specific. Please continue to use 2.x release if you are in Acquia.

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Local development environment setup

  1. Make sure that you have Docker, Pygmy and Ahoyinstalled.
  2. Checkout project repository git clone [email protected]:govCMS/govCMS.git
  3. ahoy up
  4. ahoy make
  5. ahoy install
  6. http://govcms.docker.amazee.io

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Once built, the profile files will be symlinked into /app/profiles/govcms.

List of available Ahoy workflow commands:

   build        Build project.
   cli          Start a shell inside CLI container.
   drush        Run drush commands in the CLI service container.
   install      Install the profile.
   lint         Lint code
   login        Login to a website.
   logs         Show Docker logs.
   make         Install local dependencies.
   ps           List running Docker containers.
   pull         Pull latest docker images.
   push         Push all docker images.
   release      Push all docker images.
   restart      Restart Docker containers.
   run          Run command inside CLI container.
   stop         Stop Docker containers.
   test         Run all tests.
   test-behat   Run behat tests.
   test-phpunit Run phpunit tests.
   up           Build project.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • tests/behat - The directory where behat *.feature files are stored.

The ability to test a govCMS build is built into the repository with all tests run by Circle CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

ahoy test-behat
ahoy test-phpunit

Individual tests may be run by specifying the target for commands:

ahoy test-behat -- tests/behat/features/home.feature

Debugging CLI

To debug CLI commands, such as Behat tests, using XDEBUG:

  1. ahoy cli to get into test container.
  2. cd tests/behat
  3. . xdebug.sh ../../vendor/bin/behat path/to/test.feature

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Releasing govCMS

See RELEASE.md

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

govcms7's People

Contributors

kimpepper avatar xtfer avatar typhonius avatar suhyeonh avatar pandaskii avatar fiasco avatar rcaracaus avatar drupal-spider avatar aleayr avatar timeisenhuth avatar fubarhouse avatar gollyg avatar ruwanl avatar seanhamlin avatar jptaranto avatar larowlan avatar feng-shui avatar nickschuch avatar boztek avatar gargsuchi avatar jshrssll avatar deanvucic avatar sonnykt avatar govcms-public avatar mstrelan avatar paulkilla avatar invisigoth avatar joshuarussell avatar colinpaulwatson avatar srowlands 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.