16 changes: 13 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,19 +131,29 @@ You can install all needed gems for spec tests into the modules directory by
running:

```sh
bundle install --path .vendor/ --without development system_tests release --jobs "$(nproc)"
bundle config set --local path '.vendor/'
bundle config set --local without 'development system_tests release'
bundle install --jobs "$(nproc)"
```

If you also want to run acceptance tests:

```sh
bundle install --path .vendor/ --with system_tests --without development release --jobs "$(nproc)"
bundle config set --local path '.vendor/'
bundle config set --local without 'development release'
bundle config set --local with 'system_tests'
bundle install --jobs "$(nproc)"
```

Our all in one solution if you don't know if you need to install or update gems:

```sh
bundle install --path .vendor/ --with system_tests --without development release --jobs "$(nproc)"; bundle update; bundle clean
bundle config set --local path '.vendor/'
bundle config set --local without 'development release'
bundle config set --local with 'system_tests'
bundle install --jobs "$(nproc)"
bundle update
bundle clean
```

As an alternative to the `--jobs "$(nproc)` parameter, you can set an
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@

name: CI

on: pull_request
on:
pull_request: {}
push:
branches:
- main
- master

concurrency:
group: ${{ github.ref_name }}
Expand All @@ -13,6 +18,4 @@ concurrency:
jobs:
puppet:
name: Puppet
uses: voxpupuli/gha-puppet/.github/workflows/beaker.yml@v1
with:
pidfile_workaround: 'false'
uses: voxpupuli/gha-puppet/.github/workflows/beaker.yml@v2
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
jobs:
release:
name: Release
uses: voxpupuli/gha-puppet/.github/workflows/release.yml@v1
uses: voxpupuli/gha-puppet/.github/workflows/release.yml@v2
with:
allowed_owner: 'voxpupuli'
secrets:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@
.*.sw?
/.yardoc/
/Guardfile
bolt-debug.log
.rerun.json
2 changes: 1 addition & 1 deletion .msync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# Managed by modulesync - DO NOT EDIT
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/

modulesync_config_version: '7.0.0'
modulesync_config_version: '8.0.1'
8 changes: 5 additions & 3 deletions .overcommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,12 @@ PreCommit:
enabled: true
description: 'Runs rubocop on modified files only'
command: ['bundle', 'exec', 'rubocop']
PuppetLint:
RakeTarget:
enabled: true
description: 'Runs puppet-lint on modified files only'
command: ['bundle', 'exec', 'puppet-lint']
description: 'Runs lint on modified files only'
targets:
- 'lint'
command: ['bundle', 'exec', 'rake']
YamlSyntax:
enabled: true
JsonSyntax:
Expand Down
1 change: 1 addition & 0 deletions .pmtignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@
/.yardoc/
/.yardopts
/Dockerfile
/HISTORY.md
5 changes: 0 additions & 5 deletions .rspec

This file was deleted.

4 changes: 0 additions & 4 deletions .rspec_parallel

This file was deleted.

3 changes: 1 addition & 2 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
inherit_from: .rubocop_todo.yml

# Managed by modulesync - DO NOT EDIT
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/

inherit_from: .rubocop_todo.yml
inherit_gem:
voxpupuli-test: rubocop.yml
23 changes: 20 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,24 @@ All notable changes to this project will be documented in this file.
Each new release typically also includes the latest modulesync defaults.
These should not affect the functionality of the module.

## [v10.1.0](https://github.com/voxpupuli/puppet-php/tree/v10.1.0) (2023-11-22)
## [v10.2.0](https://github.com/voxpupuli/puppet-php/tree/v10.2.0) (2024-06-04)

[Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v10.1.0...v10.2.0)

**Implemented enhancements:**

- Add support for Debian 12 \(bookworm\) [\#687](https://github.com/voxpupuli/puppet-php/pull/687) ([jcharaoui](https://github.com/jcharaoui))

**Fixed bugs:**

- fix remi-php56 repo gpgkey file [\#689](https://github.com/voxpupuli/puppet-php/pull/689) ([luoymu](https://github.com/luoymu))

**Merged pull requests:**

- disable Arch Linux testing because it is breaking the CI constantly [\#709](https://github.com/voxpupuli/puppet-php/pull/709) ([rwaffen](https://github.com/rwaffen))
- Remove legacy top-scope syntax [\#706](https://github.com/voxpupuli/puppet-php/pull/706) ([smortex](https://github.com/smortex))

## [v10.1.0](https://github.com/voxpupuli/puppet-php/tree/v10.1.0) (2023-11-28)

[Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v10.0.0...v10.1.0)

Expand Down Expand Up @@ -200,7 +217,7 @@ These should not affect the functionality of the module.
- Fpm config results in "expects a Hash value, got Tuple" [\#536](https://github.com/voxpupuli/puppet-php/issues/536)
- composer created as folder not binary file [\#535](https://github.com/voxpupuli/puppet-php/issues/535)
- Forge Release [\#528](https://github.com/voxpupuli/puppet-php/issues/528)
- Invalid tag '::php::config' on node ... [\#177](https://github.com/voxpupuli/puppet-php/issues/177)
- Invalid tag 'php::config' on node ... [\#177](https://github.com/voxpupuli/puppet-php/issues/177)

**Merged pull requests:**

Expand All @@ -222,7 +239,7 @@ These should not affect the functionality of the module.

- Remove hard dependency from apt-transport-https [\#454](https://github.com/voxpupuli/puppet-php/issues/454)
- use php::global::php\_version for php::repo::\* version [\#222](https://github.com/voxpupuli/puppet-php/issues/222)
- refactor ::php::repo::debian to use the version variable [\#219](https://github.com/voxpupuli/puppet-php/issues/219)
- refactor php::repo::debian to use the version variable [\#219](https://github.com/voxpupuli/puppet-php/issues/219)
- push back hard dependency on hiera [\#215](https://github.com/voxpupuli/puppet-php/issues/215)
- Support PHP 7.0 on FreeBSD [\#207](https://github.com/voxpupuli/puppet-php/issues/207)
- set default version for debian buster and add support for buster [\#530](https://github.com/voxpupuli/puppet-php/pull/530) ([lelutin](https://github.com/lelutin))
Expand Down
24 changes: 0 additions & 24 deletions Dockerfile

This file was deleted.

10 changes: 4 additions & 6 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
source ENV['GEM_SOURCE'] || 'https://rubygems.org'

group :test do
gem 'voxpupuli-test', '~> 7.0', :require => false
gem 'voxpupuli-test', '~> 7.2', :require => false
gem 'coveralls', :require => false
gem 'simplecov-console', :require => false
gem 'puppet_metadata', '~> 3.0', :require => false
gem 'puppet_metadata', '~> 4.0', :require => false
end

group :development do
Expand All @@ -16,13 +16,11 @@ group :development do
end

group :system_tests do
gem 'voxpupuli-acceptance', '~> 2.0', :require => false
gem 'voxpupuli-acceptance', '~> 3.0', :require => false
end

group :release do
gem 'github_changelog_generator', '>= 1.16.1', :require => false
gem 'voxpupuli-release', '~> 3.0', :require => false
gem 'faraday-retry', '~> 2.1', :require => false
gem 'voxpupuli-release', '~> 3.0', :require => false
end

gem 'rake', :require => false
Expand Down
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ This originally was a fork of [jippi/puppet-php](https://github.com/jippi/puppet
Quickest way to get started is simply `include`'ing the _`php` class_.

```puppet
include '::php'
include 'php'
```

Or, you can override defaults and specify additional custom
configurations by declaring `class { '::php': }` with parameters:
configurations by declaring `class { 'php': }` with parameters:

```puppet
class { '::php':
class { 'php':
ensure => latest,
manage_repos => true,
fpm => true,
Expand All @@ -37,11 +37,11 @@ class { '::php':
Optionally the PHP version or configuration root directory can be changed also:

```puppet
class { '::php::globals':
class { 'php::globals':
php_version => '7.0',
config_root => '/etc/php/7.0',
}->
class { '::php':
class { 'php':
manage_repos => true
}
```
Expand All @@ -63,7 +63,7 @@ In the following example the PHP options and timezone will be set in
all PHP configurations, i.e. the PHP cli application and all php-fpm pools.

```puppet
class { '::php':
class { 'php':
settings => {
'PHP/max_execution_time' => '90',
'PHP/max_input_time' => '300',
Expand All @@ -82,7 +82,7 @@ as parameter `extensions` on the main `php` class. They are
activated for all activated SAPIs.

```puppet
class { '::php':
class { 'php':
extensions => {
bcmath => { },
imagick => {
Expand Down Expand Up @@ -128,7 +128,7 @@ see [its documentation](REFERENCE.md#php--fpm--pool).
By default, php-fpm is set up to run as Apache. If you need to customize that user, you can do that like so:

```puppet
class { '::php':
class { 'php':
fpm_user => 'nginx',
fpm_group => 'nginx',
}
Expand Down Expand Up @@ -343,11 +343,11 @@ This ensures that the module will create configurations in the directory
manage the SCL repo's by your own.

```puppet
class { '::php::globals':
class { 'php::globals':
php_version => 'rh-php71',
rhscl_mode => 'rhscl',
}
-> class { '::php':
-> class { 'php':
manage_repos => false
}
```
Expand All @@ -359,7 +359,7 @@ this module, since this module specifies an extension by name and derives the na
from it. To manage extensions of SCL packages you must use the following parameters:

```puppet
class { '::php':
class { 'php':
...
extensions => {
'soap' => {
Expand Down
2 changes: 1 addition & 1 deletion manifests/cli.pp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

if $inifile != $php::params::config_root_inifile {
# only create a cli specific inifile if the filenames are different
::php::config { 'cli':
php::config { 'cli':
file => $inifile,
config => $real_settings,
}
Expand Down
2 changes: 1 addition & 1 deletion manifests/extension/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@

$config_root_ini = pick_default($php::config_root_ini, $php::params::config_root_ini)
if $real_ensure != 'absent' {
::php::config { $title:
php::config { $title:
file => "${config_root_ini}/${ini_prefix}${ini_name}.ini",
config => $final_settings,
}
Expand Down
2 changes: 1 addition & 1 deletion manifests/fpm/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@
}

if $inifile != $php::params::config_root_inifile {
::php::config { 'fpm':
php::config { 'fpm':
file => $inifile,
config => $settings,
}
Expand Down
4 changes: 4 additions & 0 deletions manifests/globals.pp
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
'Debian' => $facts['os']['release']['major'] ? {
'10' => '7.3',
'11' => '7.4',
'12' => '8.2',
default => fail("Unsupported Debian release: ${fact('os.release.major')}"),
},
'Ubuntu' => $facts['os']['release']['major'] ? {
Expand Down Expand Up @@ -84,6 +85,9 @@
}
}
} else {
if $flavor == 'zend' and versioncmp($facts['os']['release']['major'], '11') > 0 {
fail("Zend PHP is unsupported on this Debian release: ${fact('os.release.major')}")
}
case $globals_php_version {
/^5\.6/,
/^7\.[0-9]/,
Expand Down
4 changes: 2 additions & 2 deletions manifests/repo/debian.pp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
}
include 'apt'

if ($dotdeb and $facts['os']['release']['major'] in ['6', '7', '8']) {
if ($dotdeb and versioncmp($facts['os']['release']['major'], '9') < 1) {
apt::source { 'source_php_dotdeb':
location => $location,
repos => $repos,
Expand All @@ -50,7 +50,7 @@
}
}

if ($sury and $facts['os']['release']['major'] in ['9', '10', '11']) {
if ($sury and versioncmp($facts['os']['release']['major'], '9') >= 0) {
apt::source { 'source_php_sury':
location => 'https://packages.sury.org/php/',
repos => 'main',
Expand Down
2 changes: 1 addition & 1 deletion manifests/repo/redhat.pp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
mirrorlist => "https://rpms.remirepo.net/enterprise/${releasever}/php56/mirror",
enabled => 1,
gpgcheck => 1,
gpgkey => 'https://rpms.remirepo.net/RPM-GPG-KEY-remi',
gpgkey => 'https://rpms.remirepo.net/RPM-GPG-KEY-remi2023',
priority => 1,
}
}
8 changes: 3 additions & 5 deletions metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{

Check warning on line 1 in metadata.json

View workflow job for this annotation

GitHub Actions / Puppet / Static validations

Skipping EOL operating system Ubuntu 18.04

Check warning on line 1 in metadata.json

View workflow job for this annotation

GitHub Actions / Puppet / Static validations

Skipping EOL operating system FreeBSD 11
"name": "puppet-php",
"version": "10.1.0",
"version": "10.2.0",
"author": "Vox Pupuli",
"summary": "Generic PHP module that supports many platforms",
"license": "MIT",
Expand Down Expand Up @@ -49,7 +49,8 @@
"operatingsystem": "Debian",
"operatingsystemrelease": [
"10",
"11"
"11",
"12"
]
},
{
Expand Down Expand Up @@ -78,9 +79,6 @@
},
{
"operatingsystem": "OpenSUSE"
},
{
"operatingsystem": "Archlinux"
}
]
}
Loading