-
-
Notifications
You must be signed in to change notification settings - Fork 0
64 lines (64 loc) · 2.27 KB
/
Copy pathverify.yml
File metadata and controls
64 lines (64 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# SPDX-FileCopyrightText: The devcontainer.java Authors
# SPDX-License-Identifier: 0BSD
name: Verify
on:
pull_request:
branches: [main]
permissions:
contents: read
jobs:
github-actions:
name: github-actions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: reviewdog/action-actionlint@6fb7acc99f4a1008869fa8a0f09cfca740837d9d # v1
with:
fail_on_error: true
filter_mode: nofilter
reuse:
name: reuse
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- uses: fsfe/reuse-action@676e2d560c9a403aa252096d99fcab3e1132b0f5 # v6
mvn:
runs-on: ubuntu-latest
steps:
- id: checkout
name: Clone Git Repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
- id: graal
name: Set up GraalVM
uses: graalvm/setup-graalvm@0def53c0fd8534bc13416c9469f5be45265824fd # v1
with:
version: latest
java-version: 25
github-token: ${{ secrets.GITHUB_TOKEN }}
- id: cache
name: Cache Maven Repository
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
# The native profile runs PMD + SpotBugs (bound to verify) and builds and runs the
# native-image smoke check, so a green run proves both code quality and native compatibility.
- id: verify
name: Verify Project
run: mvn --batch-mode --activate-profiles=native verify
verify:
# Single required check: mark only this one required in branch protection and
# new jobs are covered automatically.
name: Verify
needs: [github-actions, reuse, mvn]
if: always()
runs-on: ubuntu-latest
steps:
- name: Verify every job succeeded or skipped
env:
NEEDS: ${{ toJSON(needs) }}
run: |
bad=$(echo "$NEEDS" | jq -r 'to_entries[] | select(.value.result != "success" and .value.result != "skipped") | "\(.key)=\(.value.result)"')
[ -z "$bad" ] || { echo "::error::$bad"; exit 1; }