diff --git a/.github/workflows/ruby_tests.yml b/.github/workflows/ruby_tests.yml index 84c44a8a..06b32866 100644 --- a/.github/workflows/ruby_tests.yml +++ b/.github/workflows/ruby_tests.yml @@ -1,79 +1,23 @@ -name: Ruby Testing -on: - pull_request: -env: - BUNDLE_WITHOUT: journald:development:console:libvirt - RAILS_ENV: test - DATABASE_URL: postgresql://postgres:@localhost/test - DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL: true -jobs: - test_ruby: - runs-on: ubuntu-latest - services: - postgres: - image: postgres:12.1 - ports: ['5432:5432'] - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - strategy: - fail-fast: false - matrix: - foreman-core-branch: [develop] - foreman-ansible-branch: [master] - foreman-rex-branch: [master] - foreman-puppet-branch: [master] - ruby-version: [2.7] - steps: - - name: Install build packages - run: | - sudo apt-get update - sudo apt-get install build-essential libcurl4-openssl-dev zlib1g-dev libpq-dev - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby-version }} - bundler-cache: true - - uses: actions/checkout@v2 - with: - repository: theforeman/foreman - ref: ${{ matrix.foreman-core-branch }} - - uses: actions/checkout@v2 - with: - path: foreman_openscap - - name: Run rubocop for OpenSCAP - run: | - bundle install - bundle exec rubocop - working-directory: foreman_openscap - - uses: actions/checkout@v2 - with: - repository: theforeman/foreman_ansible - ref: ${{ matrix.foreman-ansible-branch }} - path: foreman_ansible - - uses: actions/checkout@v2 - with: - repository: theforeman/foreman_remote_execution - ref: ${{ matrix.foreman-rex-branch }} - path: foreman_remote_execution - - uses: actions/checkout@v2 - with: - repository: theforeman/foreman_puppet - ref: ${{ matrix.foreman-puppet-branch }} - path: foreman_puppet - - name: Setup Bundler - run: | - echo "gem 'foreman_openscap', path: './foreman_openscap'" > bundler.d/foreman_openscap.local.rb - echo "gem 'foreman_ansible', path: './foreman_ansible'" > bundler.d/foreman_ansible.local.rb - echo "gem 'foreman_remote_execution', path: './foreman_remote_execution'" > bundler.d/foreman_remote_execution.local.rb - echo "gem 'foreman_puppet', path: './foreman_puppet'" > bundler.d/foreman_puppet.local.rb - - name: Bundle install - run: | - bundle install - - name: Run migrations - run: | - bundle exec rake db:create - bundle exec rake db:migrate - - name: Run plugin tests - run: | - bundle exec rake test:foreman_openscap - - name: Run selected core tests - run: bundle exec rake test:foreman_openscap_extensions +--- + name: Ruby Testing + + on: pull_request + + concurrency: + group: ${{ github.head_ref }} + cancel-in-progress: true + + jobs: + rubocop: + name: Rubocop + uses: theforeman/actions/.github/workflows/rubocop.yml@v0 + + test_ruby: + name: Ruby + needs: rubocop + uses: theforeman/actions/.github/workflows/foreman_plugin.yml@v0 + with: + plugin: foreman_openscap + # https://github.com/theforeman/foreman/pull/9989 + foreman_repository: ofedoren/foreman + foreman_version: foreman-on-ruby-3-letsgooo diff --git a/gemfile.d/foreman_ansible.rb b/gemfile.d/foreman_ansible.rb new file mode 100644 index 00000000..accea3eb --- /dev/null +++ b/gemfile.d/foreman_ansible.rb @@ -0,0 +1 @@ +gem 'foreman_ansible', github: 'theforeman/foreman_ansible' diff --git a/gemfile.d/foreman_openscap.rb b/gemfile.d/foreman_openscap.rb deleted file mode 100644 index 81a3a901..00000000 --- a/gemfile.d/foreman_openscap.rb +++ /dev/null @@ -1,2 +0,0 @@ -# Add ansible for tests on Jenkins -gem 'foreman_ansible' diff --git a/gemfile.d/foreman_puppet.rb b/gemfile.d/foreman_puppet.rb new file mode 100644 index 00000000..8cb902b6 --- /dev/null +++ b/gemfile.d/foreman_puppet.rb @@ -0,0 +1 @@ +gem 'foreman_puppet', github: 'theforeman/foreman_puppet' diff --git a/gemfile.d/foreman_remote_execution.rb b/gemfile.d/foreman_remote_execution.rb new file mode 100644 index 00000000..e5908320 --- /dev/null +++ b/gemfile.d/foreman_remote_execution.rb @@ -0,0 +1 @@ +gem 'foreman_remote_execution', github: 'theforeman/foreman_remote_execution' diff --git a/lib/tasks/foreman_openscap_tasks.rake b/lib/tasks/foreman_openscap_tasks.rake index 63a00687..e1e45f98 100644 --- a/lib/tasks/foreman_openscap_tasks.rake +++ b/lib/tasks/foreman_openscap_tasks.rake @@ -86,6 +86,12 @@ namespace :test do test_dir = File.join(File.dirname(__FILE__), '../..', 'test') t.libs << ["test", test_dir] t.pattern = "#{test_dir}/**/*_test.rb" + t.test_files = [ + Rails.root.join('test/unit/foreman/access_permissions_test.rb'), + Rails.root.join('test/controllers/api/v2/hosts_controller_test.rb'), + Rails.root.join('test/controllers/api/v2/hostgroups_controller_test.rb'), + Rails.root.join("test/models/hosts/*_test.rb"), + ] t.verbose = true t.warning = false end