-
Notifications
You must be signed in to change notification settings - Fork 528
130 lines (106 loc) · 2.92 KB
/
check.yml
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: check
on:
pull_request:
workflow_dispatch:
workflow_call:
inputs:
branch:
description: "ref branch for this workflow"
default: "master"
required: true
type: string
env:
CARGO_TERM_COLOR: always
permissions: {}
jobs:
checks:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4.2.2
with:
persist-credentials: false
ref: ${{ inputs.branch }}
- name: Shellcheck
if: always()
run: bin/check/shellcheck.sh
- name: Check ad hoc
if: always()
run: bin/check/ad_hoc.sh
- name: Git leaks
if: always()
uses: addnab/docker-run-action@v3
with:
image: ghcr.io/zricethezav/gitleaks:latest
options: --volume ${{ github.workspace }}:/work:rw --workdir /work --privileged --env CARGO_TERM_COLOR=always
run: gitleaks detect --verbose --config .github/workflows/config/gitleaks.toml
- name: Hadolint
if: always()
run: bin/check/hadolint.sh ./contrib/docker/Dockerfile
- name: Install Python 3.12
uses: actions/setup-python@v5.3.0
with:
python-version: '3.12'
- name: Install prerequisites
if: always()
run: |
bin/activate_python3_venv.sh
export PATH="/tmp/hurl-python3-venv/bin:$PATH"
echo "PATH=$PATH" >> $GITHUB_ENV
which python3
python3 --version
pip --version
bin/check/install_prerequisites.sh
- name: Zizmor
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: always()
run: |
pip install zizmor
bin/check/zizmor.sh --github-token ${GITHUB_TOKEN} .github/workflows/*.yml
- name: Check Rust version
if: always()
run: |
python3 -m pip install requests --quiet
bin/check/rust_version.py 7
- name: Generated
if: always()
run: bin/check/generated.sh
- name: Rustfmt
if: always()
run: bin/check/rustfmt.sh
- name: Clippy
if: always()
run: bin/check/clippy.sh
- name: Ruff
if: always()
run: bin/check/ruff.sh
- name: Check XML/HTML files
if: always()
run: bin/check/xmllint.sh
- name: Hurlfmt
if: always()
run: |
bin/release/release.sh
export PATH=target/release:$PATH
bin/check/hurlfmt.sh
- name: Check crates licence
if: always()
run: python3 bin/check/license.py
- name: Check hurl crate API changes
if: always()
run: bin/check/compatibility.sh
- name: Check doc generation
if: always()
run: bin/check/doc.sh
- name: Check Valgrind
if: always()
run: |
sudo apt-get install -y valgrind
cargo install cargo-valgrind
bin/check/valgrind.sh
- name: Check completion files
if: always()
run: |
sudo apt-get install -y zsh fish powershell
bin/check/completion.sh