Git Product home page Git Product logo

easymark-testbed-action's Introduction

EasyMark Testbed Submission Action

This action submits the repository (or a subdirectory) to an EasyMark instance for automated testing.

Inputs

easymark-instance

Required
The base URL of the EasyMark instance to submit to.
Example: https://example.org/

easymark-token

Required
Your login token for EasyMark. There is currently no way to allow a program access to your account (probably by design) so you have to provide your login token to this action.
You should use Secrets to prevent your access token from being leaked.

task-id

Required
The internal ID of the task. You can find it in the second line of the log when you submit something for this task, or you can find it in a form element using your browsers dev tools.

directory

If your submission is not the whole repository but instead a subfolder, you can specify the directory that should be zipped here.

timeout

At the time of writing there is (supposedly) a bug in EasyMark that does not mark runs as finished. They will remain in the RUNNING state for a long time and the action would have to wait for it to finish.

To avoid waiting for too long you can specify the time that the action should wait for the run to finish. If the run doesn't finish in time the current output will be printed and the output state will be set to TIMEOUT. The value of this parameter is roughly equivalent to seconds of waiting.

Outputs

status

The status of the submission will be provided in this variable. The action will fail when an error occurs and additionally the status output variable will contain the status code.

Value Description
SUCCESS All tests passed successfully.
ERROR Something is wrong with your submission. Either it doesn't compile or tests are failing.
CANCELLED The test run was cancelled in the web interface while it was running.
TIMEOUT EasyMark didn't report a valid status in the defined timeout period.
FINISHED_EASYMARK_ERROR EasyMark encountered an internal error.

Example usage

name: EasyMark Test
on:
  push:

jobs:
  easymark:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Submit to EasyMark
        uses: profiluefter/[email protected]
        with:
          easymark-instance: ${{ secrets.EASYMARK_INSTANCE }}
          easymark-token: ${{ secrets.EASYMARK_TOKEN }}
          task-id: a80acdbf-61bd-411c-b171-23185e70f76a

Todo

  • The action currently does not log itself out, so you will end up with many open sessions. This could be solved using a cleanup script or directly in the action.

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.