summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md37
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md20
-rw-r--r--.github/workflows/L10n-update.yml20
-rw-r--r--.github/workflows/php.yml95
4 files changed, 172 insertions, 0 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..4734b80
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,37 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+## Describe the bug
+A clear and concise description of what the issue is.
+
+## To Reproduce
+Provide a link to a live example, or an unambiguous set of steps to reproduce this issue. Include configuration, logs, etc. to reproduce, if relevant.
+
+1.
+2.
+3.
+4.
+
+## Expected behavior
+A clear and concise description of what you expected to happen.
+
+## Screenshots
+If applicable, add screenshots to help explain your problem.
+
+## Your Environment
+Include as many relevant details about the environment you experienced the problem in
+
+* Icinga Web 2 version and modules (System - About):
+* Web browser used:
+* Icinga 2 version used (`icinga2 --version`):
+* PHP version used (`php --version`):
+* Server operating system and version:
+
+## Additional context
+Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..a7621fd
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+## Is your feature request related to a problem? Please describe.
+A clear and concise description of what the problem is. Ex. I'm always using this feature but am missing [...]
+
+## Describe the solution you'd like
+A clear and concise description of what you want to happen.
+
+## Describe alternatives you've considered
+A clear and concise description of any alternative solutions or features you've considered.
+
+## Additional context
+Add any other context or screenshots about the feature request here.
diff --git a/.github/workflows/L10n-update.yml b/.github/workflows/L10n-update.yml
new file mode 100644
index 0000000..45599e8
--- /dev/null
+++ b/.github/workflows/L10n-update.yml
@@ -0,0 +1,20 @@
+name: L10n Update
+
+on:
+ push:
+ branches:
+ - main
+
+jobs:
+ trigger-update:
+ name: L10n Update Trigger
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Repository dispatch
+ uses: peter-evans/repository-dispatch@v1
+ with:
+ token: ${{ secrets.ICINGABOT_TOKEN }}
+ repository: Icinga/L10n
+ event-type: update
+ client-payload: '{"origin": "${{ github.repository }}", "commit": "${{ github.sha }}"}'
diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml
new file mode 100644
index 0000000..37078bb
--- /dev/null
+++ b/.github/workflows/php.yml
@@ -0,0 +1,95 @@
+name: PHP Tests
+
+on:
+ push:
+ branches:
+ - main
+ - release/*
+ pull_request:
+ branches:
+ - main
+
+jobs:
+ lint:
+ name: Static analysis for php ${{ matrix.php }} on ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2']
+ os: ['ubuntu-latest']
+
+ steps:
+ - name: Checkout code base
+ uses: actions/checkout@v3
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ tools: phpcs
+
+ - name: Setup dependencies
+ run: |
+ composer require -n --no-progress overtrue/phplint
+ git clone --depth 1 https://github.com/Icinga/icingaweb2.git vendor/icingaweb2
+ git clone --depth 1 https://github.com/Icinga/icingadb-web.git vendor/icingadb-web
+ git clone --depth 1 https://github.com/Icinga/icingaweb2-module-director.git vendor/icingaweb2-module-director
+ git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-library.git vendor/icinga-php-library
+ git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-thirdparty.git vendor/icinga-php-thirdparty
+
+ - name: PHP Lint
+ if: ${{ ! cancelled() }}
+ run: ./vendor/bin/phplint -n --exclude={^vendor/.*} -- .
+
+ - name: PHP CodeSniffer
+ if: ${{ ! cancelled() }}
+ run: phpcs
+
+ - name: PHPStan
+ if: ${{ ! cancelled() }}
+ uses: php-actions/phpstan@v3
+
+ test:
+ name: Unit tests with php ${{ matrix.php }} on ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
+
+ env:
+ phpunit-version: 8.5
+
+ strategy:
+ fail-fast: false
+ matrix:
+ php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2']
+ os: ['ubuntu-latest']
+
+ steps:
+ - name: Checkout code base
+ uses: actions/checkout@v3
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ tools: phpunit:${{ matrix.phpunit-version || env.phpunit-version }}
+
+ - name: Setup Icinga Web
+ run: |
+ git clone --depth 1 https://github.com/Icinga/icingaweb2.git _icingaweb2
+ ln -s `pwd` _icingaweb2/modules/businessprocess
+
+ - name: Setup Libraries
+ run: |
+ mkdir _libraries
+ git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-library.git _libraries/ipl
+ git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-thirdparty.git _libraries/vendor
+
+ - name: Setup dependencies
+ run: composer require -d _icingaweb2 -n --no-progress mockery/mockery
+
+ - name: PHPUnit
+ env:
+ ICINGAWEB_LIBDIR: _libraries
+ ICINGAWEB_CONFIGDIR: test/config
+ run: phpunit --verbose --bootstrap _icingaweb2/test/php/bootstrap.php