Coder Social home page Coder Social logo

assertoor-github-action's Introduction

Assertoor Github Action

assertoor-github-action is a GitHub Action designed to interface with the Assertoor API for Ethereum Testnet testing. Assertoor is specialized in assessing the overall network stability and executing specific beacon chain actions, such as deposits and exits. This capability makes it an essential tool for developers looking to ensure the reliability and robustness of their Ethereum-based applications before proceeding to the main network.

This GitHub Action is particularly useful when combined with Kurtosis, a platform that streamlines the setup and management of multi-client Ethereum networks. However, its flexibility allows for deployment in various other testing scenarios that utilize Assertoor to conduct tests.

Features

  • Polling Assertoor API: Automatically polls the Assertoor API to monitor the execution status of your Ethereum Testnet tests.
  • Execution Status Checks: The action concludes successfully once all tests have passed, or it fails immediately if any test fails, facilitating a rapid feedback loop.
  • Optional Log Streaming: For those seeking deeper insights into the test execution process, the action offers the capability to stream Assertoor logs. It's worth noting that this feature requires integration with Kurtosis and specifying the Kurtosis enclave name.

Prerequisites

To utilize this GitHub Action, you'll need an operational instance of Assertoor, accessible via a URL. Instructions for setting up Assertoor can be found at ethpandaops/assertoor.

Usage

This action necessitates the provision of the Assertoor API URL as input. It then continuously polls this API to verify the execution status of all tests.

Basic Setup

Incorporate the assertoor-github-action into your GitHub Actions workflow with the following setup:

jobs:
  assertoor-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # Spin up Kurtosis enclave with ethereum-package
      # ...

      - name: Assertoor Status Check
        uses: ethpandaops/assertoor-github-action@v1
        with:
          assertoor_api_url: "http://assertoor-url"

With Kurtosis and Log Streaming

For those leveraging Kurtosis for Ethereum Testnet management and wishing to include log streaming, here's a sample configuration:

jobs:
  kurtosis-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # Spin up Kurtosis enclave with ethereum-package
      # ...

      - name: Assertoor Status Check
        uses: ethpandaops/assertoor-github-action@v1
        with:
          # Specify the Kurtosis enclave name to grab assertoor url and for log streaming
          kurtosis_enclave_name: 'assertoor-test'

Inputs

  • assertoor_api_url: The URL to your Assertoor API endpoint.
  • kurtosis_enclave_name: The name of your Kurtosis enclave, necessary for log streaming.

Outputs

This action defines the following outputs for use in subsequent steps of your workflow:

  • result: Final Test status (success / failure).
  • test_overview: Assertoor Test overview.
  • failed_test_details: Failed Assertoor Test details.

Contributing

Contributions to assertoor-github-action are warmly welcomed. Please refer to the project's issues and pull request sections for guidelines on contributing.

License

Refer to the repository's license file for information on the licensing of this GitHub Action and the associated software.

assertoor-github-action's People

Contributors

pk910 avatar

Stargazers

Andrew Davis avatar

Watchers

 avatar Jamie Pitts avatar Sam Calder-Mason avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.