Sha256: e092440a9ec9b620a816324fbe281453553eb9f14f9d360256cb5d84d29928f8

Contents?: true

Size: 1.02 KB

Versions: 11

Compression:

Stored size: 1.02 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_status = client.repository_workflow_runs(repo_info[:slug])[:workflow_runs].
              select { |run| run[:head_branch] == 'master' }.
              max_by { |run| run[:created_at] }[:conclusion]
            error "Last workflow status for repository #{repo_info[:slug]} is #{last_status}" unless last_status == 'success'
          end
        end

      end

    end

  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
hybrid_platforms_conductor-33.8.1 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.8.0 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.7.4 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.7.3 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.7.2 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.7.1 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.7.0 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.6.0 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.5.1 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.5.0 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb
hybrid_platforms_conductor-33.4.0 lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb