Skip to content

Commit

Permalink
add unit-tests workflow; auto run tests with both jest + pytest
Browse files Browse the repository at this point in the history
* Adds an automated unit-tests workflow with GitHub Actions
-- This workflow has 2 tasks that run in parallel. Both start by setting up an environment with `setup.sh`. Then, one runs `run_pytest.sh` and the other runs `run_jest.sh`.

* Adds execute permissions to all *.sh files in `bin`

Co-authored-by: Jack Greenlee <[email protected]>
  • Loading branch information
jpfleischer and JGreenlee authored Oct 23, 2024
1 parent a9fdffd commit e8ae9dc
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 1 deletion.
48 changes: 48 additions & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# taken from https://github.com/e-mission/e-mission-server/blob/master/.github/workflows/test-with-manual-install.yml

name: unit-tests

# Controls when the action will run. Triggers the workflow on push or pull request
on:
push:
pull_request:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
test-pytest:
# The type of runner that the job will run on
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Run setup.sh
shell: bash -l {0}
run: |
source bin/setup.sh
- name: Run pytest
shell: bash -l {0}
run: |
source bin/run_pytest.sh
test-jest:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20'

- name: Run setup.sh
shell: bash -l {0}
run: |
source bin/setup.sh
- name: Run jest tests
shell: bash -l {0}
run: |
source bin/run_jest.sh
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This repository uses the [Transcrypt](https://www.transcrypt.org/) library to co

## Setup

```
```bash
. bin/setup.sh
```

Expand Down Expand Up @@ -126,3 +126,7 @@ There may be testing scenarios that must significantly diverge between Python an
```bash
. bin/run_jest.sh
```

### GitHub Actions

The unit tests also run via an Actions workflow, which executes both `run_pytest.sh` and `run_jest.sh` on each commit or PR to `master`.
Empty file modified bin/compile_to_js.sh
100644 → 100755
Empty file.
Empty file modified bin/run_jest.sh
100644 → 100755
Empty file.
Empty file modified bin/run_pytest.sh
100644 → 100755
Empty file.
Empty file modified bin/setup.sh
100644 → 100755
Empty file.

0 comments on commit e8ae9dc

Please sign in to comment.