-
Notifications
You must be signed in to change notification settings - Fork 520
119 lines (97 loc) · 2.66 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
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
jobs:
checks:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/[email protected]
with:
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/[email protected]
with:
python-version: '3.12'
- name: Install prerequisites
if: always()
run: |
bin/install_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: 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