Skip to content

Commit

Permalink
PO-489 - Add Github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
mkraeml committed Oct 4, 2024
1 parent 9693587 commit c118fdc
Show file tree
Hide file tree
Showing 3 changed files with 290 additions and 0 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/admin.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Admin
on:
pull_request:

permissions:
contents: read
id-token: write

jobs:
eslint:
runs-on: ubuntu-latest
steps:
- uses: octo-sts/action@main
id: octo-sts
with:
scope: shopware
identity: ${{ github.event.repository.name }}
- uses: shopware/github-actions/setup-extension@main
with:
extensionName: ${{ github.event.repository.name }}
install: true
installAdmin: true
dependencies: |
[
{
"name":"SwagCommercial",
"repo": "https://github.com/shopware/SwagCommercial.git",
"token": "${{ steps.octo-sts.outputs.token }}"
},
{
"name":"SwagCmsExtensions",
"repo": "https://github.com/shopware/SwagCmsExtensions.git",
"token": "${{ steps.octo-sts.outputs.token }}"
}
]
extraRepositories: |
{
"${{ github.event.repository.name }}": {
"type": "path",
"url": "custom/plugins/${{ github.event.repository.name }}",
"symlink": true
},
"SwagCommercial": {
"type": "path",
"url": "custom/plugins/SwagCommercial",
"symlink": true
},
"SwagCmsExtensions": {
"type": "path",
"url": "custom/plugins/SwagCmsExtensions",
"symlink": true
}
}
- name: Prepare ESLint
run: |
bin/console bundle:dump
composer admin:generate-entity-schema-types
- name: Run ESLint
env:
ADMIN_PATH: ${{ github.workspace }}/src/Administration/Resources/app/administration
working-directory: custom/plugins/${{ github.event.repository.name }}/src/Resources/app/administration
run: |
npm run lint-fix
npm run lint
166 changes: 166 additions & 0 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
name: PHP checks

on:
push:
branches:
- trunk
pull_request:
workflow_dispatch:
workflow_call:

permissions:
contents: read
id-token: write

jobs:
phpstan:
runs-on: ubuntu-latest
strategy:
matrix:
PLATFORM_BRANCH: ["6.6.0.0", "trunk"]
fail-fast: false
steps:
- uses: octo-sts/action@main
id: octo-sts
with:
scope: shopware
identity: ${{ github.event.repository.name }}
- uses: shopware/github-actions/setup-extension@main
with:
extensionName: ${{ github.event.repository.name }}
install: true
installAdmin: true
installStorefront: true
dependencies: |
[
{
"name":"SwagCommercial",
"repo": "https://github.com/shopware/SwagCommercial.git",
"token": "${{ steps.octo-sts.outputs.token }}"
},
{
"name":"SwagCmsExtensions",
"repo": "https://github.com/shopware/SwagCmsExtensions.git",
"token": "${{ steps.octo-sts.outputs.token }}"
}
]
extraRepositories: |
{
"${{ github.event.repository.name }}": {
"type": "path",
"url": "custom/plugins/${{ github.event.repository.name }}",
"symlink": true
},
"SwagCommercial": {
"type": "path",
"url": "custom/plugins/SwagCommercial",
"symlink": true
},
"SwagCmsExtensions": {
"type": "path",
"url": "custom/plugins/SwagCmsExtensions",
"symlink": true
}
}
- name: Prepare phpstan
working-directory: custom/plugins/${{ github.event.repository.name }}
run: |
composer dump-autoload --dev -d "${GITHUB_WORKSPACE}/custom/plugins/SwagCmsExtensions"
composer dump-autoload --dev -d "${GITHUB_WORKSPACE}/custom/plugins/SwagCommercial"
sed -i 's|reportUnmatchedIgnoredErrors: true|reportUnmatchedIgnoredErrors: false|' ./phpstan.neon.dist
if [[ "${{ matrix.PLATFORM_BRANCH }}" == "6.6.0.0" ]]; then
sed -i '/type_perfect/d' ./phpstan.neon.dist
sed -i '/narrow_return: true/d' ./phpstan.neon.dist
sed -i '/no_mixed: true/d' ./phpstan.neon.dist
sed -i '/null_over_false: true/d' ./phpstan.neon.dist
fi
- run: |
symfony composer -d custom/plugins/${{ github.event.repository.name }} run phpstan
validate-openapi-typescript:
runs-on: ubuntu-latest
steps:
- name: Setup Extension
uses: shopware/github-actions/setup-extension@main
env:
runner: ${{ runner.environment }}
with:
extensionName: ${{ github.event.repository.name }}
install: true
installAdmin: true
installStorefront: true
extraRepositories: |
{
"${{ github.event.repository.name }}": {
"type": "path",
"url": "custom/plugins/${{ github.event.repository.name }}",
"symlink": true
}
}
- working-directory: custom/plugins/${{ github.event.repository.name }}
run: |
${GITHUB_WORKSPACE}/bin/console bundle:dump
composer init:admin
composer openapi:generate
git update-index --refresh || printf ''
git diff-index "${{ github.sha }}" --quiet -- src/Resources/app/administration/src/types/openapi.d.ts || (echo "Please run 'composer openapi:generate' to update openapi.d.ts" && exit 1)
phpunit:
runs-on: ubuntu-latest
env:
REDIS_URL: redis://127.0.0.1:6379
services:
redis:
image: redis:latest
steps:
- uses: octo-sts/action@main
id: octo-sts
with:
scope: shopware
identity: ${{ github.event.repository.name }}
- uses: shopware/github-actions/setup-extension@main
with:
extensionName: ${{ github.event.repository.name }}
install: true
installAdmin: true
installStorefront: true
dependencies: |
[
{
"name":"SwagCommercial",
"repo": "https://github.com/shopware/SwagCommercial.git",
"token": "${{ steps.octo-sts.outputs.token }}"
},
{
"name":"SwagCmsExtensions",
"repo": "https://github.com/shopware/SwagCmsExtensions.git",
"token": "${{ steps.octo-sts.outputs.token }}"
}
]
extraRepositories: |
{
"${{ github.event.repository.name }}": {
"type": "path",
"url": "custom/plugins/${{ github.event.repository.name }}",
"symlink": true
},
"SwagCommercial": {
"type": "path",
"url": "custom/plugins/SwagCommercial",
"symlink": true
},
"SwagCmsExtensions": {
"type": "path",
"url": "custom/plugins/SwagCmsExtensions",
"symlink": true
}
}
- name: Run PHPUnit
run: |
php -d pcov.enabled=1 -d pcov.directory=$PWD/src -d pcov.exclude='~(vendor|tests|node_modules)~'
${GITHUB_WORKSPACE}/vendor/bin/phpunit
--configuration phpunit.xml.dist
--log-junit ${GITHUB_WORKSPACE}/phpunit.junit.xml
--coverage-cobertura ${GITHUB_WORKSPACE}/cobertura.xml
--coverage-text
60 changes: 60 additions & 0 deletions .github/workflows/storefront.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Storefront
on:
pull_request:

permissions:
contents: read
id-token: write

jobs:
eslint:
runs-on: ubuntu-latest
steps:
- uses: octo-sts/action@main
id: octo-sts
with:
scope: shopware
identity: ${{ github.event.repository.name }}
- uses: shopware/github-actions/setup-extension@main
with:
extensionName: ${{ github.event.repository.name }}
install: true
installStorefront: true
dependencies: |
[
{
"name":"SwagCommercial",
"repo": "https://github.com/shopware/SwagCommercial.git",
"token": "${{ steps.octo-sts.outputs.token }}"
},
{
"name":"SwagCmsExtensions",
"repo": "https://github.com/shopware/SwagCmsExtensions.git",
"token": "${{ steps.octo-sts.outputs.token }}"
}
]
extraRepositories: |
{
"${{ github.event.repository.name }}": {
"type": "path",
"url": "custom/plugins/${{ github.event.repository.name }}",
"symlink": true
},
"SwagCommercial": {
"type": "path",
"url": "custom/plugins/SwagCommercial",
"symlink": true
},
"SwagCmsExtensions": {
"type": "path",
"url": "custom/plugins/SwagCmsExtensions",
"symlink": true
}
}
- name: Run ESLint
env:
STOREFRONT_PATH: ${{ github.workspace }}/src/Storefront/Resources/app/storefront
working-directory: custom/plugins/${{ github.event.repository.name }}
run: |
composer init:storefront
composer lint:storefront:ci

0 comments on commit c118fdc

Please sign in to comment.