Skip to content

.

. #6

name: Regression Test the Grader
permissions:
id-token: write
contents: read
on:
push:
branches:
- main
jobs:
build-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Install OIDC Client from Core Package
run: npm install @actions/[email protected] @actions/http-client
- name: Get Id Token
uses: actions/github-script@v7
id: idtoken
with:
script: |
const coredemo = require('@actions/core')
let id_token = await coredemo.getIDToken()
coredemo.setOutput('id_token', id_token)
- name: Retrieve regression test matrix
id: set-matrix
run: |
response=$(curl -H "Authorization: ${{ steps.idtoken.outputs.id_token }}" https://khoury-classroom-dev.ngrok.pizza/api/autograder/regression-tests)
echo "matrix=$response" >> $GITHUB_OUTPUT
shell: bash
smoke-test:
name: Submit and Grade Assignment
needs: build-matrix
runs-on: ubuntu-latest
strategy:
matrix: ${{fromJson(needs.build-matrix.outputs.matrix)}}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
with:
path: submission
- name: Debug matrix
run: |
echo "matrix: ${{ toJSON(matrix) }}"
echo "config: ${{ matrix.config }}"
echo "id: ${{ matrix.id }}"
shell: bash
- name: Collect Submission and Run Grader
uses: neu-se/autograder-action@main
with:
grading_server: 'https://khoury-classroom-dev.ngrok.pizza'
handout_repo: 'pawtograder/example-assignment-java-handout'
regression_test_job: '${{ matrix.id }}'