Skip to content

Github Workflows

tpronk edited this page May 18, 2021 · 3 revisions

Home - Github Workflows


Overview

GitHub Workflows let you perform compilation, deployment, and testing, via jobs that run on virtual machines. The workflows can be found via the "Actions" tab in the PsychoJS repo. Environment variables that are used to connect to the stager and BrowserStack are stored as GitHub Secrets. Below we list the GitHub Workflows that are available.

Automated Test (short)

This workflow:

  1. Deploys the test experiments with a build of a branch/tag/PR of the PsychoJS library to the stager.
  2. Runs a set of tests via BrowserStack, uploading test logs to the stager. By default the tests with label short are run on the platforms that belong to subset.
  3. Per platform, one BrowserStack session is launched, running the set of tests in sequence. If any of the tests fail, the sessions aborts.
  4. The results are uploaded to the stager, where the Karma results can be found in https://staging.psychopy.org/results_karma/master/short/short/ and the WDIO results in https://staging.psychopy.org/results_wdio/master/short/short/

The workflow can be triggered in two ways:

  • It's triggered automatically on a push or a pull request from a branch that is part of the PsychoJS repo
  • It can be triggered manually, in which case all relevant test settings, such as label and platform can be specified. This way, tests can be performed on forks of PsychoJS as well.

Automated Test (full)

This workflow:

  1. Cleans up the test logs
  2. Deploys the test experiments with a build of a branch/tag/PR of the PsychoJS library to the stager.
  3. Runs a set of tests via BrowserStack, uploading test logs to the stager. By default the tests with label full are run on all platforms.
  4. Per platform and test, one BrowserStack session is launched, aborting the session if any assertion fails, uploading the results to the stager.
  5. Finally, the test logs of each testrun are combined into two joint testlogs, one for the Karma logs and one for the WDIO logs. These can be found at https://staging.psychopy.org/results_joined/master/full/

The workflow is triggered in two ways:

  • Automatically every Saturday night.
  • It can be triggered manually, in which case all relevant test settings, such as label and platform can be specified. This way, tests can be performed on forks of PsychoJS as well.

Clone this wiki locally