Merge pull request #1 from adunning/dependabot/maven/org.junit.jupite… #7
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: "25" | |
| cache: maven | |
| cache-dependency-path: | | |
| pom.xml | |
| .mvn/wrapper/maven-wrapper.properties | |
| - name: Verify | |
| run: ./mvnw -B -q verify | |
| - name: Smoke Test | |
| run: | | |
| tmpdir="$(mktemp -d)" | |
| repo="${tmpdir}/repo" | |
| mkdir -p "${repo}" | |
| cd "${repo}" | |
| git init -q | |
| git config user.name "CI" | |
| git config user.email "ci@example.com" | |
| cat > "${tmpdir}/schema.rng" <<'EOF' | |
| <grammar xmlns="http://relaxng.org/ns/structure/1.0"> | |
| <start> | |
| <element name="root"> | |
| <empty/> | |
| </element> | |
| </start> | |
| </grammar> | |
| EOF | |
| cp "${tmpdir}/schema.rng" "${repo}/schema.rng" | |
| cat > "${repo}/valid.xml" <<'EOF' | |
| <?xml version="1.0"?> | |
| <?xml-model href="schema.rng" schematypens="http://relaxng.org/ns/structure/1.0"?> | |
| <root/> | |
| EOF | |
| git add schema.rng valid.xml | |
| git commit -qm "Initial XML" | |
| XML_MODEL_VALIDATOR_WORKSPACE="${repo}" \ | |
| XML_MODEL_VALIDATOR_CACHE_HOME="${tmpdir}/cache" \ | |
| XML_MODEL_VALIDATOR_INPUT_JOBS="0" \ | |
| bash "${GITHUB_WORKSPACE}/entrypoint.sh" | |
| cat > "${repo}/changed.xml" <<'EOF' | |
| <?xml version="1.0"?> | |
| <?xml-model href="schema.rng" schematypens="http://relaxng.org/ns/structure/1.0"?> | |
| <root/> | |
| EOF | |
| before_sha="$(git rev-parse HEAD)" | |
| git add changed.xml | |
| git commit -qm "Changed XML" | |
| cat > "${tmpdir}/push-event.json" <<EOF | |
| {"before":"${before_sha}"} | |
| EOF | |
| XML_MODEL_VALIDATOR_WORKSPACE="${repo}" \ | |
| XML_MODEL_VALIDATOR_CACHE_HOME="${tmpdir}/cache" \ | |
| XML_MODEL_VALIDATOR_INPUT_CHANGED_ONLY="true" \ | |
| GITHUB_EVENT_NAME="push" \ | |
| GITHUB_SHA="$(git rev-parse HEAD)" \ | |
| GITHUB_EVENT_PATH="${tmpdir}/push-event.json" \ | |
| XML_MODEL_VALIDATOR_INPUT_JOBS="0" \ | |
| bash "${GITHUB_WORKSPACE}/entrypoint.sh" | |
| origin_repo="${tmpdir}/origin.git" | |
| pr_repo="${tmpdir}/pr-repo" | |
| git init -q --bare "${origin_repo}" | |
| git clone -q "${origin_repo}" "${pr_repo}" | |
| cd "${pr_repo}" | |
| git config user.name "CI" | |
| git config user.email "ci@example.com" | |
| git checkout -qb main | |
| cat > schema.rng <<'EOF' | |
| <grammar xmlns="http://relaxng.org/ns/structure/1.0"> | |
| <start> | |
| <element name="root"> | |
| <empty/> | |
| </element> | |
| </start> | |
| </grammar> | |
| EOF | |
| cat > base.xml <<'EOF' | |
| <?xml version="1.0"?> | |
| <?xml-model href="schema.rng" schematypens="http://relaxng.org/ns/structure/1.0"?> | |
| <wrong/> | |
| EOF | |
| git add schema.rng base.xml | |
| git commit -qm "Base branch" | |
| git push -q -u origin main | |
| git checkout -qb feature | |
| cat > pr-changed.xml <<'EOF' | |
| <?xml version="1.0"?> | |
| <?xml-model href="schema.rng" schematypens="http://relaxng.org/ns/structure/1.0"?> | |
| <root/> | |
| EOF | |
| echo note > note.txt | |
| git add pr-changed.xml note.txt | |
| git commit -qm "Feature branch" | |
| XML_MODEL_VALIDATOR_WORKSPACE="${pr_repo}" \ | |
| XML_MODEL_VALIDATOR_CACHE_HOME="${tmpdir}/cache" \ | |
| XML_MODEL_VALIDATOR_INPUT_CHANGED_ONLY="true" \ | |
| GITHUB_EVENT_NAME="pull_request" \ | |
| GITHUB_BASE_REF="main" \ | |
| GITHUB_SHA="$(git rev-parse HEAD)" \ | |
| XML_MODEL_VALIDATOR_INPUT_JOBS="0" \ | |
| bash "${GITHUB_WORKSPACE}/entrypoint.sh" |