Add Nextflow support #119
Workflow file for this run
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
name: Integration tests | |
on: | |
pull_request: | |
pull_request_target: | |
types: [labeled] | |
env: | |
EXERCISES_COMMIT: 31ef0f174efaeba2a37415115e7fd0332573d9b2 | |
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. | |
tests-dodona: | |
if: ${{ github.event.action != 'labeled' || (github.event.action == 'labeled' && github.event.label.name == 'run tests') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
repository: ${{ github.event.pull_request.head.repo.full_name }} | |
- 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: | |
if: ${{ github.event.action != 'labeled' || (github.event.action == 'labeled' && github.event.label.name == 'run tests') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
repository: ${{ github.event.pull_request.head.repo.full_name }} | |
- run: | | |
echo "$JAVASCRIPT_EXERCISES_KEY" > private | |
chmod 0600 private | |
GIT_SSH_COMMAND='ssh -o "StrictHostKeyChecking no" -i private' git clone [email protected]: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: | |
if: ${{ github.event.action != 'labeled' || (github.event.action == 'labeled' && github.event.label.name == 'run tests') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
repository: ${{ github.event.pull_request.head.repo.full_name }} | |
- 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 [email protected]: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 |