-
Notifications
You must be signed in to change notification settings - Fork 75
120 lines (113 loc) · 3.6 KB
/
lint.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
name: Lint
on:
pull_request:
merge_group:
push:
branches:
- "main"
jobs:
run_checker:
uses: ./.github/workflows/reusable-run-checker.yml
proto:
runs-on: ubuntu-latest
needs: run_checker
if: needs.run_checker.outputs.run_lint_proto == 'true'
steps:
- uses: actions/checkout@v4
- uses: bufbuild/buf-setup-action@v1
with:
version: "1.15.1"
github_token: ${{ github.token }}
- uses: bufbuild/buf-lint-action@v1
- run: buf format -d --exit-code
# Run breaking changes against each module, running against whole workspace
# fails if new packages are added
- uses: bufbuild/buf-breaking-action@v1
with:
input: "proto/primitives"
against: "buf.build/astria/primitives"
- uses: bufbuild/buf-breaking-action@v1
with:
input: "proto/executionapis"
against: "buf.build/astria/execution-apis"
- uses: bufbuild/buf-breaking-action@v1
with:
input: "proto/sequencerblockapis"
against: "buf.build/astria/sequencerblock-apis"
- uses: bufbuild/buf-breaking-action@v1
with:
input: "proto/protocolapis"
against: "buf.build/astria/protocol-apis"
- uses: bufbuild/buf-breaking-action@v1
with:
input: "proto/composerapis"
against: "buf.build/astria/composer-apis"
rust:
runs-on: ubuntu-22.04
needs: run_checker
if: needs.run_checker.outputs.run_lint_rust == 'true'
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2024-02-07
components: rustfmt
- name: run rustfmt
run: cargo fmt --all -- --check
toml:
runs-on: ubuntu-22.04
needs: run_checker
if: needs.run_checker.outputs.run_lint_toml == 'true'
steps:
- uses: actions/checkout@v4
- name: download taplo
run: |
curl -fsSL https://github.com/tamasfe/taplo/releases/download/0.8.1/taplo-full-linux-x86_64.gz \
| gzip -d - \
| install -m 755 /dev/stdin /usr/local/bin/taplo
- name: run taplo
run: taplo format --check
markdown:
runs-on: ubuntu-22.04
needs: run_checker
if: needs.run_checker.outputs.run_lint_markdown == 'true'
steps:
- uses: actions/checkout@v4
- uses: DavidAnson/markdownlint-cli2-action@v11
with:
globs: |
**/*.md
#.github
charts:
runs-on: ubuntu-latest
needs: run_checker
if: needs.run_checker.outputs.run_lint_charts == 'true'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
check-latest: true
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Run chart-testing (lint)
if: steps.list-changed.outputs.changed == 'true'
run: ct lint --target-branch ${{ github.event.repository.default_branch }}
lint:
needs: [proto, rust, toml, markdown, charts]
if: ${{ always() && !cancelled() }}
uses: ./.github/workflows/reusable-success.yml
with:
success: ${{ !contains(needs.*.result, 'failure') }}