feat: add unit test action (#2)

This commit is contained in:
Damien Retzinger
2022-06-25 16:39:58 -04:00
committed by GitHub
parent 4bc0854cfc
commit 72b1f25310
4 changed files with 112 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
name: Unit Test
on:
push:
branches:
- main
paths-ignore:
- "docs/**"
- README.md
pull_request:
branches:
- main
paths-ignore:
- "docs/**"
- README.md
jobs:
install-test:
strategy:
matrix:
php_version:
- 7.4
- 8.1
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./unit-test
with:
source_folder: _test/demo-package
php_version: ${{ matrix.php_version }}
composer_auth: ${{ secrets.COMPOSER_AUTH }}
+6
View File
@@ -9,6 +9,9 @@
"email": "damienwebdev@gmail.com" "email": "damienwebdev@gmail.com"
} }
], ],
"scripts": {
"test": "./vendor/bin/phpunit Test/Unit"
},
"archive": { "archive": {
"exclude": [ "exclude": [
"/docs", "/docs",
@@ -37,5 +40,8 @@
"config": { "config": {
"preferred-install": "dist", "preferred-install": "dist",
"sort-packages": true "sort-packages": true
},
"require-dev": {
"phpunit/phpunit": "^9.5"
} }
} }
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
colors="true"
columns="max"
beStrictAboutTestsThatDoNotTestAnything="false">
<php>
<ini name="memory_limit" value="-1"/>
<ini name="date.timezone" value="America/Los_Angeles"/>
<ini name="xdebug.max_nesting_level" value="200"/>
</php>
</phpunit>
+63
View File
@@ -0,0 +1,63 @@
name: "Unit Test"
author: "Graycore"
description: "A Github Action that runs the Unit Tests of a Magento Package"
inputs:
php_version:
required: true
default: "8.1"
description: "PHP Version to use"
source_folder:
required: true
default: .
description: "The source folder of the package"
test_command:
required: true
default: composer run test
description: "The test command"
composer_auth:
required: true
description: "Composer Authentication Credentials"
runs:
using: "composite"
steps:
- name: Set PHP Version
uses: shivammathur/setup-php@v2
with:
php-version: ${{ inputs.php_version }}
- name: Get Composer Cache Directory
shell: bash
working-directory: ${{ inputs.source_folder }}
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: "Cache Composer Packages"
uses: actions/cache@v3
with:
key: 'composer | v3 | "$(Agent.OS)" | composer.lock | ${{ inputs.php_version }}'
path: ${{ steps.composer-cache.outputs.dir }}
- run: composer install
name: Require and attempt install
working-directory: ${{ inputs.source_folder }}
shell: bash
env:
COMPOSER_CACHE_DIR: ${{ steps.composer-cache.outputs.dir }}
COMPOSER_AUTH: ${{ inputs.composer_auth }}
- run: ${{ inputs.test_command }}
name: Run Unit Tests
working-directory: ${{ inputs.source_folder }}
shell: bash
env:
COMPOSER_CACHE_DIR: ${{ steps.composer-cache.outputs.dir }}
COMPOSER_AUTH: ${{ inputs.composer_auth }}
branding:
icon: "code"
color: "green"