Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
376d0cd
init
damienwebdev Jun 25, 2022
26a016b
Test
damienwebdev Jun 25, 2022
1302c0e
test2
damienwebdev Jun 25, 2022
66cee80
tmp
damienwebdev Jun 25, 2022
f9490ba
test
damienwebdev Jun 25, 2022
65aa50c
test
damienwebdev Jun 25, 2022
44c5743
test
damienwebdev Jun 25, 2022
7340681
test
damienwebdev Jun 25, 2022
cc64680
test
damienwebdev Jun 25, 2022
d246f94
test
damienwebdev Jun 25, 2022
f02fcdb
test
damienwebdev Jun 25, 2022
60fdafa
test
damienwebdev Jun 25, 2022
42a4ad1
test
damienwebdev Jun 25, 2022
f08097f
test
damienwebdev Jun 25, 2022
e9c12e3
test
damienwebdev Jun 25, 2022
c736b06
test
damienwebdev Jun 25, 2022
1a8077d
test
damienwebdev Jun 25, 2022
3ad62c2
test
damienwebdev Jun 25, 2022
5caa5fb
test
damienwebdev Jun 25, 2022
50f6f4e
test
damienwebdev Jun 25, 2022
57ad4d9
test
damienwebdev Jun 25, 2022
4693d10
test
damienwebdev Jun 25, 2022
1127967
test
damienwebdev Jun 25, 2022
26b5618
test
damienwebdev Jun 25, 2022
b814b6d
test
damienwebdev Jun 25, 2022
6a98746
test
damienwebdev Jun 25, 2022
9ebb1c8
test
damienwebdev Jun 25, 2022
05083c0
test
damienwebdev Jun 25, 2022
8102bcc
test
damienwebdev Jun 25, 2022
e550749
test
damienwebdev Jun 25, 2022
fce066a
test
damienwebdev Jun 25, 2022
87c84bd
test
damienwebdev Jun 25, 2022
cee8672
test
damienwebdev Jun 25, 2022
42462b8
test
damienwebdev Jun 25, 2022
928f4b1
test
damienwebdev Jun 25, 2022
3bea404
test
damienwebdev Jun 25, 2022
7ff18af
test
damienwebdev Jun 25, 2022
2b96809
test
damienwebdev Jun 25, 2022
e12bc5d
test
damienwebdev Jun 25, 2022
084463c
test
damienwebdev Jun 25, 2022
e94a701
test
damienwebdev Jun 25, 2022
92bbb80
test
damienwebdev Jun 25, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .github/workflows/install.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Installation Test

on:
push:
branches:
- main
paths-ignore:
- "docs/**"
- README.md
pull_request:
branches:
- main
paths-ignore:
- "docs/**"
- README.md

jobs:
install-test:
strategy:
matrix:
magento:
- magento/project-community-edition:>=2.3 <2.4
- magento/project-community-edition:>=2.4.0 <2.4.1
- magento/project-community-edition:>=2.4.1 <2.4.2
- magento/project-community-edition:>=2.4.2 <2.4.3
- magento/project-community-edition:>=2.4.3 <2.4.4
- magento/project-community-edition:>=2.4.4 <2.4.5
- magento/project-community-edition
include:

- magento: magento/project-community-edition:>=2.3 <2.4
php_version: 7.4
composer_version: 1

- magento: magento/project-community-edition:>=2.4.0 <2.4.1
php_version: 7.4
composer_version: 1

- magento: magento/project-community-edition:>=2.4.1 <2.4.2
php_version: 7.4
composer_version: 1

- magento: magento/project-community-edition:>=2.4.2 <2.4.3
php_version: 7.4
composer_version: 2

- magento: magento/project-community-edition:>=2.4.3 <2.4.4
php_version: 7.4
composer_version: 2

- magento: magento/project-community-edition:>=2.4.4 <2.4.5
php_version: 8.1
composer_version: 2

- magento: magento/project-community-edition
composer_version: 2
php_version: 8.1

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./installation-test
with:
composer_version: ${{ matrix.composer_version }}
php_version: ${{ matrix.php_version }}
magento_version: ${{ matrix.magento }}
composer_auth: ${{ secrets.COMPOSER_AUTH }}
package_name: graycore/magento2-demo-package
source_folder: $GITHUB_WORKSPACE/_test/demo-package
1 change: 1 addition & 0 deletions _test/demo-package/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
vendor/
3 changes: 3 additions & 0 deletions _test/demo-package/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Magento 2 Demo Package

It does nothing, intentionally...
12 changes: 12 additions & 0 deletions _test/demo-package/Test/Integration/TestItWorks.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php

namespace Graycore\DemoPackage\Test\Integration;

class TestItWorks extends \PHPUnit\Framework\TestCase
{

public function testItWorks()
{
$this->assertEquals(true, true);
}
}
12 changes: 12 additions & 0 deletions _test/demo-package/Test/Unit/TestItWorks.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php

namespace Graycore\DemoPackage\Test\Unit;

class TestItWorks extends \PHPUnit\Framework\TestCase
{

public function testItWorks()
{
$this->assertEquals(true, true);
}
}
41 changes: 41 additions & 0 deletions _test/demo-package/composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"name": "graycore/magento2-demo-package",
"description": "A Magento 2 Demostration Package",
"type": "magento2-module",
"license": "MIT",
"authors": [
{
"name": "Damien Retzinger",
"email": "[email protected]"
}
],
"archive": {
"exclude": [
"/docs",
"/Test",
"README.md"
]
},
"minimum-stability": "stable",
"autoload": {
"psr-4": {
"Graycore\\DemoPackage\\": ""
},
"files": [
"registration.php"
]
},
"require": {
"magento/framework": "^102.0 || ^103.0"
},
"repositories": {
"0": {
"type": "composer",
"url": "https://repo.magento.com/"
}
},
"config": {
"preferred-install": "dist",
"sort-packages": true
}
}
8 changes: 8 additions & 0 deletions _test/demo-package/etc/module.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Graycore_DemoPackage" setup_version="1.0.0">
<sequence>
<module name="Magento_Framework" />
</sequence>
</module>
</config>
5 changes: 5 additions & 0 deletions _test/demo-package/registration.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php declare(strict_types=1);

use \Magento\Framework\Component\ComponentRegistrar;

ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Graycore_DemoPackage', __DIR__);
95 changes: 95 additions & 0 deletions installation-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: "Installation Test"
author: "Graycore"
description: " A Github Action that tests the installability of a Magento Package"

inputs:
php_version:
required: true
default: "8.1"
description: "PHP Version to use"

cache_key:
required: true
default: "2"
description: "The cache key used to hold Composer Packages"

composer_version:
required: true
default: "2"
description: "The version of composer to use"

source_folder:
required: true
default: $GITHUB_WORKSPACE
description: "The source folder of the package"

package_name:
required: true
description: "The name of the package"

magento_directory:
required: true
default: "../magento2"
description: "The folder where Magento will be installed"

magento_version:
required: true
default: "magento/project-community-edition"
description: "The version of Magento to test against"

magento_repository:
required: true
default: "https://repo.magento.com/"
description: "Where to install Magento from"

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 }}

- run: composer self-update --${{ inputs.composer_version }}
name: Pin to Composer Version ${{ inputs.composer_version }}
shell: bash

- run: composer create-project --repository-url="${{ inputs.magento_repository }}" "${{ inputs.magento_version }}" ${{ inputs.magento_directory }} --no-install
shell: bash
env:
COMPOSER_AUTH: ${{ inputs.composer_auth }}
name: Create Magento ${{ inputs.magento_version }} Project

- name: Get Composer Cache Directory
shell: bash
working-directory: ${{ inputs.magento_directory }}
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.composer_version }} | ${{ inputs.php_version }} | ${{ inputs.magento_version }}'
path: ${{ steps.composer-cache.outputs.dir }}

- run: composer config repositories.local path ${{ inputs.source_folder }}
name: Add Github Repo for Testing
working-directory: ${{ inputs.magento_directory }}
shell: bash

- run: composer require ${{ inputs.package_name }} "@dev" --no-update && composer install
name: Require and attempt install
working-directory: ${{ inputs.magento_directory }}
shell: bash
env:
COMPOSER_CACHE_DIR: ${{ steps.composer-cache.outputs.dir }}
COMPOSER_AUTH: ${{ inputs.composer_auth }}

branding:
icon: "code"
color: "green"