Sha256: 6d758d328b7d5d8ad72b48327fc074783c9b98d128c0aaa51623faeae5af367d

Contents?: true

Size: 1.19 KB

Versions: 8

Compression:

Stored size: 1.19 KB

Contents

require 'hybrid_platforms_conductor/github'
require 'hybrid_platforms_conductor/common_config_dsl/github'

module HybridPlatformsConductor

  module HpcPlugins

    module Test

      # Check that all repositories have a successful Github CI
      class GithubCi < HybridPlatformsConductor::Test

        extend_config_dsl_with CommonConfigDsl::Github, :init_github

        include HybridPlatformsConductor::Github

        # Check my_test_plugin.rb.sample documentation for signature details.
        def test
          for_each_github_repo do |client, repo_info|
            log_debug "Checking CI for Github repository #{repo_info[:slug]}"
            last_run = client.repository_workflow_runs(repo_info[:slug])[:workflow_runs].
              select { |run| run[:head_branch] == 'master' }.
              max_by { |run| run[:created_at] }
            if last_run.nil?
              error "No workflow run found for repository #{repo_info[:slug]}"
            else
              last_status = last_run[:conclusion]
              error "Last workflow status for repository #{repo_info[:slug]} is #{last_status}" unless last_status == 'success'
            end
          end
        end

      end

    end

  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hybrid_platforms_conductor-33.9.5 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.9.4 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.9.2 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.9.1 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.9.0 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.8.4 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.8.3 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.8.2 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb