Merge pull request #15 from voxpupuli/modulesync #113
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: 'PR Tests' | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| env: | |
| # Environment variables needed when running the task install scripts | |
| # manually. | |
| PT__installdir: ${{ github.workspace }} | |
| PT_apt_source: "https://apt.voxpupuli.org" | |
| PT_yum_source: "https://yum.voxpupuli.org" | |
| jobs: | |
| shellcheck: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install ShellCheck | |
| run: sudo apt-get install shellcheck | |
| - name: Run ShellCheck | |
| run: shellcheck -x tasks/*.sh files/*.sh | |
| reference-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| # Not testing 3.4 yet, puppet fails to load here: | |
| # bundler: failed to load command: puppet (/home/jpartlow/.rbenv/versions/3.4.3/lib/ruby/gems/3.4.0/bin/puppet) | |
| # /home/jpartlow/.rbenv/versions/3.4.3/lib/ruby/gems/3.4.0/bundler/gems/puppet-6992edd1da38/lib/puppet/feature/base.rb:21:in '<top (required)>': Cannot determine basic system flavour (Puppet::Error) | |
| ruby-version: '3.3' | |
| bundler-cache: true | |
| - name: Regenerate REFERENCE.md | |
| run: bundle exec puppet strings generate --format markdown | |
| - name: Check whether REFERENCE.md has uncommitted changes | |
| run: git diff --exit-code REFERENCE.md | |
| test-install-task-on-ubuntu: | |
| strategy: | |
| matrix: | |
| os-details: | |
| - os: ubuntu-22.04 | |
| codename: jammy | |
| # - os: ubuntu-24.04 | |
| # codename: noble | |
| # Perforce hasn't yet released bolt on 24.04. | |
| runs-on: ${{ matrix.os-details.os }} | |
| needs: shellcheck | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - id: install-bolt | |
| uses: ./.github/actions/bolt | |
| with: | |
| os-codename: ${{ matrix.os-details.codename }} | |
| - name: Run openvox-agent install task | |
| run: bolt task run openvox_bootstrap::install --targets localhost --run-as root | |
| - name: Verify openvox-agent is installed | |
| run: |- | |
| [[ "$(/opt/puppetlabs/bin/puppet --version)" =~ [0-9]+\.[0-9]+\.[0-9]+ ]] | |
| - name: Verify idempotency | |
| run: bolt task run openvox_bootstrap::install --targets localhost --run-as root | |
| test-install-task-on-other-os-via-containers: | |
| strategy: | |
| matrix: | |
| image: | |
| - almalinux:8 | |
| - almalinux:9 | |
| - rockylinux:8 | |
| - rockylinux:9 | |
| - debian:10 | |
| - debian:11 | |
| - debian:12 | |
| - fedora:42 | |
| - ubuntu:24.04 | |
| # Need to pull in the repo GPG keys for sles | |
| # - registry.suse.com/suse/sle15:15.6 | |
| needs: shellcheck | |
| runs-on: ubuntu-latest | |
| container: ${{ matrix.image }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: openvox_bootstrap | |
| - id: prep | |
| uses: ./openvox_bootstrap/.github/actions/container_task_prep | |
| - name: Run openvox-agent install task manually | |
| env: | |
| PT_collection: openvox8 | |
| run: ./openvox_bootstrap/tasks/install_linux.sh | |
| - name: Verify openvox-agent is installed | |
| run: /opt/puppetlabs/bin/puppet --version | grep -E '8\.[0-9]+' | |
| - name: Verify idempotency | |
| env: | |
| PT_collection: openvox8 | |
| run: ./openvox_bootstrap/tasks/install_linux.sh | |
| test-install-version: | |
| strategy: | |
| matrix: | |
| image: | |
| - rockylinux:9 | |
| - fedora:41 | |
| - debian:12 | |
| - ubuntu:24.04 | |
| # Need to pull in the repo GPG keys for sles | |
| # - registry.suse.com/suse/sle15:15.6 | |
| needs: shellcheck | |
| runs-on: ubuntu-latest | |
| container: ${{ matrix.image }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: openvox_bootstrap | |
| - id: prep | |
| uses: ./openvox_bootstrap/.github/actions/container_task_prep | |
| - name: Run openvox-agent install task manually | |
| env: | |
| PT_version: "8.14.0" | |
| run: ./openvox_bootstrap/tasks/install_linux.sh | |
| - name: Verify openvox-agent is installed | |
| run: /opt/puppetlabs/bin/puppet --version | grep '8.14.0' | |
| - name: Verify idempotency | |
| env: | |
| PT_version: "8.14.0" | |
| run: ./openvox_bootstrap/tasks/install_linux.sh | |
| test-install-package: | |
| strategy: | |
| matrix: | |
| image: | |
| - rockylinux:9 | |
| # openvox-server not currently built for fedora | |
| # - fedora:41 | |
| - debian:12 | |
| - ubuntu:24.04 | |
| # Need to pull in the repo GPG keys for sles | |
| # - registry.suse.com/suse/sle15:15.6 | |
| needs: shellcheck | |
| runs-on: ubuntu-latest | |
| container: ${{ matrix.image }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: openvox_bootstrap | |
| - id: prep | |
| uses: ./openvox_bootstrap/.github/actions/container_task_prep | |
| - name: Run openvox-agent install task manually | |
| env: | |
| PT_package: "openvox-server" | |
| run: ./openvox_bootstrap/tasks/install_linux.sh | |
| - name: Verify openvox-server is installed | |
| run: /opt/puppetlabs/bin/puppetserver --version | grep -E '8\.[0-9]+' | |
| - name: Verify idempotency | |
| env: | |
| PT_package: "openvox-server" | |
| run: ./openvox_bootstrap/tasks/install_linux.sh | |
| test-install-package-version: | |
| strategy: | |
| matrix: | |
| image: | |
| - rockylinux:9 | |
| # openvox-server not currently built for fedora | |
| #- fedora:41 | |
| - debian:12 | |
| - ubuntu:24.04 | |
| # Need to pull in the repo GPG keys for sles | |
| # - registry.suse.com/suse/sle15:15.6 | |
| needs: shellcheck | |
| runs-on: ubuntu-latest | |
| container: ${{ matrix.image }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: openvox_bootstrap | |
| - id: prep | |
| uses: ./openvox_bootstrap/.github/actions/container_task_prep | |
| - name: Run openvox-agent install task manually | |
| env: | |
| PT_package: "openvox-server" | |
| PT_version: "8.8.0" | |
| run: ./openvox_bootstrap/tasks/install_linux.sh | |
| - name: Verify openvox-server is installed | |
| run: /opt/puppetlabs/bin/puppetserver --version | grep '8.8.0' | |
| - name: Verify idempotency | |
| env: | |
| PT_package: "openvox-server" | |
| PT_version: "8.8.0" | |
| run: ./openvox_bootstrap/tasks/install_linux.sh |