Skip to content

contains workflow definitions and containers to speed up development & testing

Notifications You must be signed in to change notification settings

syntro-opensource/workflows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shared Workflows by Syntro

This repository contains prebuilt workflows and required containers for automated testing, building & delivery of projects (mostly Silverstripe related).

Usage - Silverstripe Project

This repository provides a ready-to-use testsuite for your Silverstripe project. It provides the following checks:

  • PHPUnit
  • PHPStan
  • Behat
  • PHPcs

Usage is straightforward:

# ...
jobs:
  silverstripe:
    name: 🧰 Silverstripe Testsuite
    uses: syntro-opensource/workflows/.github/workflows/silverstripe.yml@5
    with:
      phpunit: true
      phpunit_suite: app/tests/
      # phpunit_config_file:
      # phpunit_php_version: '8.1'
      # phpunit_build_graphql: false
      phpstan: true
      phpstan_dir: app/src/
      # phpstan_php_version: '8.1'
      phpcs: true
      phpcs_dir: app/
      # behat: false
      # behat_php_version: '8.1'

Working with Private Repositories

You can enable an SSH-Client to clone private repositories described in composer.json. Please make sure you understand the risks of adding private keys to GitHub workflow Runs! This feature can be enabled as follows:

# ...
jobs:
  silverstripe:
    name: 🧰 Silverstripe Testsuite
    uses: syntro-opensource/workflows/.github/workflows/silverstripe.yml@5
    with:
        # ...
        uses_private_repos: true
        uses_private_keys: |
            ${{ secrets.YOURPRIVATEKEY }}

We use webfactory/ssh-agent to enable this feature. You can find more information there.

For Silverstripe 4 related Checks, use the 4 branch.

Each check can be configured using inputs.

Usage - Silverstripe Modules

This repository provides a testsuite for silverstripe modules. The testsuite is used as the standard in our modules and checks Code in a fixed range of php and CMS versions:

  • PHP 8.1

  • CMS 5.0

Usage is straightforward:

# ...
jobs:
  silverstripe-module:
    name: 🧰 Silverstripe Module Testsuite
    uses: syntro-opensource/workflows/.github/workflows/silverstripe-module.yml@5
    with:
      phpunit: true
      # phpunit_config_file:
      phpstan: true
      # phpstan_config:
      # phpstan_bootstrap:
      phpcs: true

Each check can be configured using inputs.

For Silverstripe 4 related Checks, use the 4 branch.

Usage - Frontend Checks

This repository also provides a testsuite for client-side code. The suite checks:

  • ESlint
  • Stylelint
  • Jest

You can also configure which Node.js version the tests run on. The test suite defaults to 18.x.

Usage is straightforward:

# ...
jobs:
  silverstripe-client:
    name: 📦 Client Testsuite
    uses: syntro-opensource/workflows/.github/workflows/client.yml@5
    with:
      eslint: true
      eslint_dir: client/src/seo-field/
      eslint_configfile: client/src/seo-field/.eslintrc
      eslint_node-ver: 16.x
      # eslint_ext:
      # eslint_max-warnings:
      stylelint: true
      stylelint_glob: client/src/seo-field/**/*.scss
      stylelint_node-ver: 16.x
      # stylelint_max-warnings:
      jest: true
      jest_node-ver: 16.x

Each check can be configured using inputs.

Working with Private Repositories

You can enable an SSH-Client to clone private repositories described in composer.json. Please make sure you understand the risks of adding private keys to GitHub workflow Runs! This feature can be enabled as follows:

# ...
jobs:
  silverstripe:
    name: 📦 Client Testsuite
    uses: syntro-opensource/workflows/.github/workflows/client.yml@5
    with:
        # ...
        uses_private_repos: true
        uses_private_keys: |
            ${{ secrets.YOURPRIVATEKEY }}

We use webfactory/ssh-agent to enable this feature. You can find more information there.

For Silverstripe 4 related Checks, use the 4 branch.

About

contains workflow definitions and containers to speed up development & testing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published