-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #512 from dodona-edu/tests/js-integration
Add JavaScript integration tests
- Loading branch information
Showing
12 changed files
with
19,253 additions
and
98 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Inherit from the Docker image for Dodona. | ||
FROM dodona/dodona-tested | ||
|
||
# Go back to being root. | ||
USER root | ||
WORKDIR / | ||
|
||
# Install some additional dependencies needed for testing. | ||
RUN pip install --no-cache-dir --upgrade pytest pytest-mock pytest-xdist jinja2 marko syrupy | ||
|
||
# The source of the judge is available in TESTED_SOURCE. | ||
CMD pytest -n auto ${TESTED_SOURCE}/tests/test_integration_javascript.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,56 @@ | ||
name: Integration tests | ||
|
||
on: [ workflow_dispatch ] | ||
on: [ pull_request ] | ||
|
||
env: | ||
EXERCISES_COMMIT: 4a2094135abe972eb38072be129171f685c18ec3 | ||
|
||
jobs: | ||
# Runs the test suite in a slightly modified Docker image used by Dodona. | ||
# This is the closest to actually running the production environment there is. | ||
dodona-docker: | ||
tests-dodona: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: docker build -t "local-image" -f ${{ github.workspace }}/.github/dodona-image.dockerfile --network=host . | ||
name: Build Dodona Docker image | ||
- run: docker run -v ${{ github.workspace }}:/github/workspace -e TESTED_SOURCE=/github/workspace local-image | ||
name: Run tests in Dodona Docker image | ||
# Runs in the Docker image to check if the JS exercises still work. | ||
javascript-dodona: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: | | ||
echo "$JAVASCRIPT_EXERCISES_KEY" > private | ||
chmod 0600 private | ||
GIT_SSH_COMMAND='ssh -o "StrictHostKeyChecking no" -i private' git clone git@github.ugent.be:Scriptingtalen/javascript-oefeningen.git | ||
rm private | ||
env: | ||
JAVASCRIPT_EXERCISES_KEY: ${{ secrets.JAVASCRIPT_EXERCISES_KEY }} | ||
- run: git checkout $EXERCISES_COMMIT | ||
working-directory: ./javascript-oefeningen | ||
- run: docker build -t "integration-image" -f ${{ github.workspace }}/.github/dodona-image-integration.dockerfile --network=host . | ||
name: Build Dodona Docker image | ||
- run: docker run -v ${{ github.workspace }}:/github/workspace -e TESTED_SOURCE=/github/workspace -e EXERCISE_REPO=/github/workspace/javascript-oefeningen integration-image | ||
name: Run integration tests in Dodona Docker image | ||
# Runs in the repo to check if the JS exercises still work. | ||
javascript-repository: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: DeterminateSystems/nix-installer-action@main | ||
- uses: DeterminateSystems/magic-nix-cache-action@main | ||
- run: echo "${GITHUB_WORKSPACE}" >> $GITHUB_PATH | ||
- run: | | ||
echo "$JAVASCRIPT_EXERCISES_KEY" > private | ||
chmod 0600 private | ||
GIT_SSH_COMMAND='ssh -o "StrictHostKeyChecking no" -i private' git clone git@github.ugent.be:Scriptingtalen/javascript-oefeningen.git | ||
rm private | ||
env: | ||
JAVASCRIPT_EXERCISES_KEY: ${{ secrets.JAVASCRIPT_EXERCISES_KEY }} | ||
- run: git checkout $EXERCISES_COMMIT | ||
working-directory: ./javascript-oefeningen | ||
- run: nix run .#devShell -- run-intergation-tests | ||
env: | ||
EXERCISE_REPO: ${{ github.workspace }}/javascript-oefeningen |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.