-
Notifications
You must be signed in to change notification settings - Fork 0
62 lines (55 loc) · 1.9 KB
/
Copy pathrepository-checks.yml
File metadata and controls
62 lines (55 loc) · 1.9 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
name: Repository checks
"on":
pull_request:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
jobs:
checks:
name: repository checks
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- name: Checkout without persisted credentials
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Check shell syntax
shell: bash
run: |
set -euo pipefail
while IFS= read -r script; do
bash -n "$script"
done < <(find scripts services -type f -name '*.sh' -print | sort)
- name: Run ShellCheck
shell: bash
run: |
set -euo pipefail
mapfile -t scripts < <(find scripts services -type f -name '*.sh' -print | sort)
# These repository-wide warnings are intentional: SOURCE_REF and
# host_service_pid are populated by sourced helpers, and ulimit
# flags are provided by the concrete runtime-image shells.
shellcheck --severity=warning --exclude=SC2034,SC2154,SC3045 "${scripts[@]}"
- name: Test external release and source contracts
run: |
set -euo pipefail
scripts/test-external-release.sh
scripts/test-external-workflows.sh
scripts/test-external-source-build.sh
scripts/test-dockerhub-release.sh
scripts/test-poll-service-releases.sh
scripts/test-portable-audit.sh
- name: Test artifact contracts
run: |
set -euo pipefail
scripts/test-license-compliance.sh
scripts/test-upstream-release.sh
scripts/test-extract-upstream-archive.sh
scripts/test-upstream-artifact.sh
scripts/test-oci-mirror.sh
scripts/test-ecr-mirror.sh
scripts/test-upstream-runtime.sh
services/vector/test-smoke.sh