Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
55 changes: 55 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Contributing to this module

Thank you for contributing to this module! This module follows the [Voxpupuli](https://voxpupuli.org) coding standards.

## Getting Started

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests locally
5. Submit a pull request

## Testing

Before submitting a pull request, please ensure that:

1. All existing tests pass
2. Any new functionality includes appropriate tests
3. Code follows the style guidelines (run `bundle exec rake rubocop`)
4. Puppet manifests are validated (run `bundle exec rake syntax`)

To run all tests:

```bash
bundle install
bundle exec rake test
```

## Code Style

This module follows the [Puppet Language Style Guide](https://puppet.com/docs/puppet/latest/style_guide.html) and uses RuboCop for Ruby code style enforcement.

Run style checks:

```bash
bundle exec rake rubocop
bundle exec rake lint
```

## Commit Messages

Please write clear, concise commit messages that explain what your changes do and why.

## Pull Requests

- Keep pull requests focused on a single feature or fix
- Include tests for new functionality
- Update documentation as needed
- Reference any related issues in the PR description

## Questions?

If you have questions about contributing, please open an issue or reach out to the maintainers.

Thank you for contributing!
39 changes: 39 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## Pull Request Description

<!-- Please provide a clear and concise description of your changes -->

## Related Issues

<!-- Link to any related issues, e.g., "Fixes #123" -->

## Motivation and Context

<!-- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?

<!-- Please describe how you tested your changes -->

- [ ] Spec tests pass locally
- [ ] Acceptance tests pass (if applicable)
- [ ] Manual testing performed

## Types of changes

<!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation update

## Checklist

<!-- Go over all the following points, and put an `x` in all the boxes that apply. -->

- [ ] My code follows the code style of this project
- [ ] I have updated the documentation accordingly
- [ ] I have added tests to cover my changes
- [ ] All new and existing tests passed
- [ ] I have run `bundle exec rake rubocop` and fixed any issues
- [ ] I have run `bundle exec rake lint` and fixed any issues
56 changes: 56 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: CI

on:
pull_request:
push:
branches:
- main

permissions:
contents: read

jobs:
unit:
name: 'Unit tests'
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
fail-fast: false
matrix:
include:
- puppet: "~> 7.0"
ruby: "2.7"
- puppet: "~> 8.0"
ruby: "3.2"
env:
PUPPET_GEM_VERSION: ${{ matrix.puppet }}
steps:
- name: Checkout Source
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Run unit tests
run: |
bundle exec rake parallel_spec

static:
name: 'Static validations'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout Source
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.7"
bundler-cache: true
- name: Run static validations
run: |
bundle exec rake check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop syntax lint metadata_lint
33 changes: 33 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Release

on:
push:
tags:
- 'v*'

permissions:
contents: read

jobs:
deploy:
name: 'Deploy to Puppet Forge'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout Source
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.7"
bundler-cache: true
- name: Build and publish module
run: |
bundle exec rake module:push
env:
BLACKSMITH_FORGE_USERNAME: ${{ secrets.FORGE_USERNAME }}
BLACKSMITH_FORGE_PASSWORD: ${{ secrets.FORGE_PASSWORD }}
37 changes: 0 additions & 37 deletions .gitlab-ci.yml

This file was deleted.

30 changes: 22 additions & 8 deletions .sync.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,22 @@
# This file can be used to customize the files managed by PDK.
#
# See https://github.com/puppetlabs/pdk-templates/blob/main/README.md
# for more information.
#
# See https://github.com/puppetlabs/pdk-templates/blob/main/config_defaults.yml
# for the default values.
--- {}
---
# This file is managed via modulesync and should not be edited manually.
# See https://github.com/voxpupuli/modulesync_config for details.

.github/workflows/ci.yml:
override: true
.github/workflows/release.yml:
override: true

Gemfile:
required:
':development':
- gem: 'voxpupuli-test'
version: '~> 7.0'
- gem: 'voxpupuli-acceptance'
version: '~> 2.0'

Rakefile:
override: false

spec/spec_helper.rb:
override: false
45 changes: 0 additions & 45 deletions .travis.yml

This file was deleted.

30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,36 @@

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org).

## [Unreleased]

### Changed
- **BREAKING**: Minimum Puppet version raised to 7.0 (dropped Puppet 6 support)
- Migrated from Travis CI to GitHub Actions
- Updated to voxpupuli coding standards
- Updated Gemfile to use voxpupuli-test and voxpupuli-acceptance gems
- Updated metadata.json to support Puppet 7 and 8
- Modernized documentation format in manifests (Puppet Strings format)
- Improved README.md with comprehensive documentation

### Fixed
- Fixed default country code from 'UK' to 'GB' (correct ISO 3166-1 alpha-2 code)

### Removed
- Removed .travis.yml (replaced with GitHub Actions)
- Removed .gitlab-ci.yml (not needed)
- Removed appveyor.yml (replaced with GitHub Actions)
- Dropped support for Puppet 6.x

### Added
- GitHub Actions CI workflow
- GitHub Actions release workflow
- .github/CONTRIBUTING.md
- .github/PULL_REQUEST_TEMPLATE.md
- Updated .sync.yml with voxpupuli modulesync configuration

## Release 0.1.2

**Features**
Expand Down
Loading
Loading