Workflows für REDAXO 5 Addons

Overview

Github-Workflows für REDAXO 5 Addons

In diesem Repository findet ihr Workflows für eure REDAXO-Addons. Diese sollen euch als Hilfe für den Einstieg dienen. Informationen rund um Workflows und Actions könnt ihr in der offiziellen Dokumentation finden: https://docs.github.com/en/actions.

Workflows verwenden

Um die Workflows in eurem Github Repository zu verwenden, müsst ihr alle Dateien (außer README.md) aus diesem Repository in eures Kopieren. Die Ordnerstruktur muss bestehen bleiben. Weiter müssen die Actions in eurem Repository aktiviert sein. Die Einstellungen findet ihr unter: Settings > Actions > General > Allow all actions and reusable workflows.

Ein Workflow ist über eine .yml definiert, diese befinden sich im Ordner .github/workflows.

Weitere Informationen könnt ihr in den Kommentaren des jeweiligen Workflow finden.

Um PHPUnit, PestPHP oder Nightwatchjs zu nutzen, müssen vorher natürlich noch die Tests definiert werden. Alle Tests müssen sich im Ordner tests befinden. Tests für PHPUnit oder PestPHP zusätzlich im Unterordner unit, für Nightwatchjs im Unterordner e2e. Unit-Tests müssen mit _test enden, z.B. addon_test.php. Diese Struktur kann frei angepasst werden. Für PHPUnit und PestPHP in phpunit.xml.dist, für Nightwatchjs in nightwatch.conf.js.

Was im Workflow passiert

Schaut man sich den Workflow phpunit/phpunit.yml an, kann man relativ einfach herausfinden was in diesem passiert.

Neben Namen definiert man zunächst wann dieser aufgerufen werden soll. In diesem Fall bei einem Push oder Pull request in den Branch master oder main. Danach wird eine virtuelle Maschine mit der neuesten Ubuntu Version gestartet. Möchte man einen Workflow überspringen, fügt man der Commit-Message einfach eine der folgenden Befehle hinzu: [skip ci], [ci skip], [no ci], [skip actions], [actions skip].

Nun folgen die Schritte die für den eigentlichen Workflow relevant sind:

  1. PHP (8.0) aufsetzten, diverse Erweiterungen installieren.
  2. Den aktuellen REDAXO release runterladen und in den Ordner redaxo_cms entpacken. Dieser wird im Addon selbst angelegt.
  3. MySQL starten und eine Datenbank mit dem Namen redaxo5 anlegen.
  4. REDAXO über den Konsolenbefehl installieren.
  5. Das Addon in den redaxo_cms-Ordner verschieben und installieren. In diesem Schritt könnt ihr noch weitere Addons installieren, falls diese benötigt werden.
  6. Abhängigkeiten aus der composer.json installieren, aktuell nur phpunit.
  7. PHPUnit ausführen. PHPUnit wird über ein Script aufgerufen, das in der composer.json definiert ist.

PHPUnit/PestPHP lokal ausführen

PHPUnit/PestPHP kann auch lokal ausgeführt werden. Voraussetzung ist, dass das Addon in der regulären REDAXO Struktur liegt (redaxo\src\addons\mein_addon). Im Addon-Ordner müssen dann die entsprechenden Composer-Packages installiert werden. Das passiert über ein Terminal mit composer install. Danach kann PHPUnit/PestPHP mit composer test aufgerufen werden.

Nightwatchjs/Playwright lokal ausführen

Auch Nightwatchjs/Playwright kann lokal ausgeführt werden. Wie auch bei den Unit-Tests ist Voraussetzung, dass das Addon in der regulären REDAXO Struktur liegt (redaxo\src\addons\mein_addon). Im Addon-Ordner müssen dann die entsprechenden Node-Module installiert werden. Das passiert über ein Terminal mit npm install. Weiter muss eine .env-Datei angelegt werden. In dieser muss die LAUNCH_URL (URL der REDAXO-Seite) eingefügt werden, z.B.: LAUNCH_URL=http://local.dev/. Danach kann Nightwatchjs mit npm test aufgerufen werden.

TODO

  • Workflow für E2E Tests anlegen
  • Workflow für Playwright anlegen
  • Workflow für REXStan bzw. PHPStan anlegen
  • Workflow für Pest anlegen (als alternative zu PHPUnit)
  • Beispiel im jeweiligen Workflow anlegen
You might also like...

Github Actions and Workflows that make maintaining Magento2 projects and modules easier.

Magento 2 GitHub Actions Opinionated Github Actions and Workflows to make building, testing, and maintaining Magento 2 Modules easier. README if you a

Dec 21, 2022

A GitHub Action that allows to debug GitHub workflows using VS Code.

A GitHub Action that allows to debug GitHub workflows using VS Code.

VS Code Server Action A GitHub Action that allows to debug GitHub workflows using VS Code. Failing CI builds can be annoying especially since we don't

Dec 23, 2022

Manage GitHub resources like repositories, teams, members, integrations and workflows with the AWS CDK as Custom Resources in CloudFormation.

CDK Github Manage GitHub resources like repositories, teams, members, integrations and workflows with the AWS CDK as Custom Resources in CloudFormatio

Nov 25, 2022

Eine einfache Möglichkete Tailwindcss und Alpine.js mit REDAXO zu nutzen

TAR - Tailwindcss - Alpine.js - REDAXO Eine einfache Möglichkeit REDAXO mit Tailwindcss zu nutzen Installation: yarn install oder npm install Die gewü

Feb 24, 2022

Get started with GatsbyJS straight away without having to spend a whole day configuring your usual addons.

Get started with GatsbyJS straight away without having to spend a whole day configuring your usual addons.

Gatsby Starter Infinite Get started with GatsbyJS straight away without having to spend a whole day configuring your usual addons. This starter includ

Jun 27, 2022

Codemod to un-pod Ember apps, addons, and engines

ember-codemod-pod-to-octane Codemod to un-pod Ember apps, addons, and engines Usage Step 1. Quickly return to default Octane. cd your/project/path n

Nov 30, 2022

Termbase für Übersetung in Form eines Obsidian Vault

lang file-id authors date tags topics en 2ff3822a-cc5f-4474-ab4e-d097dcc3a215 [email protected] 2022-01-06 #needs_completion #readme #winos #setup Readme

Jan 8, 2022

Autocomplete für YForm Tabellen

🚧 WIP REDAXO-Addon: YForm Autocomplete Dieses Addon ermöglicht, Felder einer YForm-Tabelle über eine weitere automatisiert zu befüllen. Features Todo

Jun 17, 2022

Die Regenbogenkarte ist eine interaktive Karte für das Anzeigen und Entdecken von queeren (Jugend)-Gruppen.

Die Regenbogenkarte ist eine interaktive Karte für das Anzeigen und Entdecken von queeren (Jugend)-Gruppen.

Regenbogenkarte Die Regenbogenkarte ist eine interaktive Karte für das Anzeigen und Entdecken von queeren (Jugend)-Gruppen. Die Idee dahinter war, ins

Oct 26, 2022

Komponenten-Bibliothek für die Barrierefreiheit

Komponenten-Bibliothek für die Barrierefreiheit

Willkommen bei KoliBri KoliBri steht für Komponenten-Bibliothek für die Barrierefreiheit Weiter zur Dokumentation… Vision Wir stellen gemeinsam wieder

Jan 3, 2023

Alfred workflows I use. Script to automatically export.

Alfred workflows I use. Script to automatically export.

My Alfred Workflows https://rknight.me/alfred-workflows/ Alfred workflows I've made, ones that I use, and a script to automatically export mine. Icons

Dec 26, 2022

An open-source, self-hosted, low-code framework to build internal tools, web apps, admin panels, BI dashboards, workflows, and CRUD apps with YAML or JSON.

An open-source, self-hosted, low-code framework to build internal tools, web apps, admin panels, BI dashboards, workflows, and CRUD apps with YAML or JSON.

An open-source, self-hosted, low-code framework to build internal tools, web apps, admin panels, BI dashboards, workflows, and CRUD apps with YAML or JSON.

Jan 4, 2023

Drag and drop Argo Workflows tool.

Drag and drop Argo Workflows tool.

Visual Argo Workflows Live demo The goal of this project is to make it easier for everyone on a team to construct and run their own workflows. Workflo

Dec 22, 2022

SEE-EYE is a collection of useful Github actions and workflows used to build CI pipelines for TypeScript applications

SEA-EYE 👀 No frils collection of common actions and pre-made workflows for TypeScript project that uses yarn@v1 as package manager. Workflows Build -

Jun 6, 2022

Github action to collect metrics (CPU, memory, I/O, etc ...) from your workflows to help you debug and optimize your CI/CD pipeline

Github action to collect metrics (CPU, memory, I/O, etc ...) from your workflows to help you debug and optimize your CI/CD pipeline

workflow-telemetry-action A GitHub Action to track and monitor the resource metrics of your GitHub Action workflow runs. If the run is triggered via a

Dec 30, 2022

AWS Step Functions Workflows Collection

AWS Step Functions Workflows Collection This repo contains Step Functions workflows that shows how to orchestrate multiple services into business-crit

Dec 25, 2022

Create deployment files and configure GitHub Actions workflows to deploy applications to Azure Kubernetes Service (AKS).

Create deployment files and configure GitHub Actions workflows to deploy applications to Azure Kubernetes Service (AKS).

Azure Kubernetes Service (AKS) DevX (Developer experience) Extension for Visual Studio Code (Preview) The AKS DevX extension for Visual Studio Code (P

Oct 1, 2022

GitHub Actions - Workflows as Code (WAC)

GitHub Actions - Workflows as Code (WAC)

github-actions-wac GitHub Actions - Workflows as Code (WaC). Table of Contents Installation Overview Examples Reference Functions createWorkflow CLI b

Dec 23, 2022

Windmill: Open-source platform and runtime to turn any scripts into internal apps, integrations and workflows

Windmill: Open-source platform and runtime to turn any scripts into internal apps, integrations and workflows

. Open-source and self-hostable alternative to Airplane, Pipedream, Superblocks and a simplified Temporal with autogenerated UIs to trigger flows and

Jan 4, 2023
Comments
  • `.gitignore` im Root löschen?

    `.gitignore` im Root löschen?

    Ist mir gerade nur nebenbei aufgefallen. Man könnte die Datei womöglich löschen zur besseren Übersicht. Und auch die gitignores in den Unterordnern sollten zum besseren Verständnis besser nur genau das enthalten, was für das Projekt notwendig ist.

    Das Ignorieren von typischen Ressourcen wie System, IDEs, etc. bleibt normalerweise den Devs überlassen, die sich dafür eine gitignore auf höherer Ebene anlegen, die sich nach unten hin vererbt.

    opened by schuer 3
Owner
Friends Of REDAXO
Gemeinsame REDAXO-Entwicklung!
Friends Of REDAXO
Autocomplete für YForm Tabellen

?? WIP REDAXO-Addon: YForm Autocomplete Dieses Addon ermöglicht, Felder einer YForm-Tabelle über eine weitere automatisiert zu befüllen. Features Todo

Thorben 2 Jun 17, 2022
Die Regenbogenkarte ist eine interaktive Karte für das Anzeigen und Entdecken von queeren (Jugend)-Gruppen.

Regenbogenkarte Die Regenbogenkarte ist eine interaktive Karte für das Anzeigen und Entdecken von queeren (Jugend)-Gruppen. Die Idee dahinter war, ins

Queer Lexikon 9 Oct 26, 2022
Komponenten-Bibliothek für die Barrierefreiheit

Willkommen bei KoliBri KoliBri steht für Komponenten-Bibliothek für die Barrierefreiheit Weiter zur Dokumentation… Vision Wir stellen gemeinsam wieder

KoliBri - The accessible component library 31 Jan 3, 2023
Drag and drop Argo Workflows tool.

Visual Argo Workflows Live demo The goal of this project is to make it easier for everyone on a team to construct and run their own workflows. Workflo

Artem Golub 38 Dec 22, 2022
SEE-EYE is a collection of useful Github actions and workflows used to build CI pipelines for TypeScript applications

SEA-EYE ?? No frils collection of common actions and pre-made workflows for TypeScript project that uses yarn@v1 as package manager. Workflows Build -

Tino Thamjarat 10 Jun 6, 2022
Github action to collect metrics (CPU, memory, I/O, etc ...) from your workflows to help you debug and optimize your CI/CD pipeline

workflow-telemetry-action A GitHub Action to track and monitor the resource metrics of your GitHub Action workflow runs. If the run is triggered via a

Thundra 32 Dec 30, 2022
AWS Step Functions Workflows Collection

AWS Step Functions Workflows Collection This repo contains Step Functions workflows that shows how to orchestrate multiple services into business-crit

AWS Samples 76 Dec 25, 2022
Create deployment files and configure GitHub Actions workflows to deploy applications to Azure Kubernetes Service (AKS).

Azure Kubernetes Service (AKS) DevX (Developer experience) Extension for Visual Studio Code (Preview) The AKS DevX extension for Visual Studio Code (P

Microsoft Azure 11 Oct 1, 2022
GitHub Actions - Workflows as Code (WAC)

github-actions-wac GitHub Actions - Workflows as Code (WaC). Table of Contents Installation Overview Examples Reference Functions createWorkflow CLI b

Webiny 21 Dec 23, 2022
Windmill: Open-source platform and runtime to turn any scripts into internal apps, integrations and workflows

. Open-source and self-hostable alternative to Airplane, Pipedream, Superblocks and a simplified Temporal with autogenerated UIs to trigger flows and

Windmill Labs, Inc 1.6k Jan 4, 2023