-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (88 loc) · 2.67 KB
/
ci.yaml
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: main CI workflow for PR
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
branches: [main]
env:
WASI_TARGET: wasm32-unknown-unknown
FLUVIO_URL: https://hub.infinyon.cloud/install/install.sh
FLUVIO_CHANNEL: stable
jobs:
check:
name: Check widgets
runs-on: ubuntu-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: install wasm target
run: rustup target add ${{ env.WASI_TARGET }}
- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
timeout-minutes: 10
- name: Fmt check
run: make fmt
- name: Clippy check
run: make clippy
build-web:
name: Build web lib
runs-on: ubuntu-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: install wasm target
run: rustup target add ${{ env.WASI_TARGET }}
- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
timeout-minutes: 10
- name: Build web
run: make -C crates/fluvio-web build
build-widget:
name: Build widget
runs-on: ubuntu-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: install wasm target
run: rustup target add ${{ env.WASI_TARGET }}
- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
timeout-minutes: 10
- name: install trunk
run: |
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
cargo binstall trunk
- name: Build widget
run: make -C widgets/counter build
# To satisfy the merge queue check
done:
name: Done
needs:
- check
- build-web
- build-widget
runs-on: ubuntu-latest
if: always()
steps:
- name: Dump needs context
env:
CONTEXT: ${{ toJson(needs) }}
run: |
echo -e "\033[33;1;4mDump context\033[0m"
echo -e "$CONTEXT\n"
- name: Report failure on cancellation
if: ${{ contains(needs.*.result, 'cancelled') || cancelled() }}
run: exit 1
- name: Failing test and build
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1
- name: Successful test and build
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: exit 0