Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6b4b4a3

Browse files
committed
ci: use setup action
1 parent 2e960c0 commit 6b4b4a3

7 files changed

Lines changed: 48 additions & 49 deletions

.github/actions/setup/action.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: "Setup Build Environment"
2+
description: "Installs Rust toolchain, configures caching, and installs system dependencies"
3+
inputs:
4+
toolchain:
5+
description: "Rust toolchain version"
6+
required: false
7+
default: "stable"
8+
components:
9+
description: "Rust toolchain components"
10+
required: false
11+
cache:
12+
description: "Enable Rust caching"
13+
required: false
14+
default: "true"
15+
packages:
16+
description: "Extra apt packages to install"
17+
required: false
18+
default: ""
19+
20+
runs:
21+
using: "composite"
22+
steps:
23+
- name: Install Rust toolchain
24+
uses: dtolnay/rust-toolchain@master
25+
with:
26+
toolchain: ${{ inputs.toolchain }}
27+
components: ${{ inputs.components }}
28+
29+
- name: Rust Cache
30+
if: inputs.cache == 'true'
31+
uses: Swatinem/rust-cache@v2
32+
33+
- name: Install system dependencies
34+
shell: bash
35+
run: |
36+
sudo apt-get update
37+
sudo apt-get install -y libasound2-dev pulseaudio-utils ${{ inputs.packages }}

.github/workflows/on-workflow-call-build.yml

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,10 @@ jobs:
2121
steps:
2222
- uses: actions/checkout@v6
2323

24-
- name: Install Rust toolchain
25-
# toolchain input is supported on @master, not @stable
26-
uses: dtolnay/rust-toolchain@master
24+
- uses: ./.github/actions/setup
2725
with:
2826
toolchain: ${{ matrix.toolchain }}
2927

30-
- uses: Swatinem/rust-cache@v2
31-
32-
- name: Install Linux audio deps
33-
run: |
34-
sudo apt-get update
35-
sudo apt-get install -y \
36-
libasound2-dev \
37-
pulseaudio-utils
38-
3928
- name: Build release
4029
run: cargo build --release
4130

.github/workflows/on-workflow-call-check.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,10 @@ jobs:
1616
steps:
1717
- uses: actions/checkout@v6
1818

19-
- name: Install Rust stable
20-
uses: dtolnay/rust-toolchain@stable
21-
22-
- name: Install system deps (ALSA required by cpal/alsa-sys)
23-
run: |
24-
sudo apt-get update
25-
sudo apt-get install -y libasound2-dev
26-
27-
- name: Install jq
28-
run: sudo apt-get install -y jq
19+
- uses: ./.github/actions/setup
20+
with:
21+
cache: "false"
22+
packages: jq
2923

3024
- name: Check crates.io version
3125
id: check

.github/workflows/on-workflow-call-format.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,6 @@ jobs:
99
steps:
1010
- uses: actions/checkout@v6
1111

12-
- name: install rust stable
13-
uses: dtolnay/rust-toolchain@stable
14-
15-
- uses: Swatinem/rust-cache@v2
16-
17-
- name: Install ALSA development libraries
18-
run: sudo apt-get update && sudo apt-get install -y libasound2-dev
12+
- uses: ./.github/actions/setup
1913

2014
- run: cargo fmt --all -- --check

.github/workflows/on-workflow-call-lint.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,8 @@ jobs:
99
steps:
1010
- uses: actions/checkout@v6
1111

12-
- name: install rust stable
13-
uses: dtolnay/rust-toolchain@stable
12+
- uses: ./.github/actions/setup
1413
with:
1514
components: rustfmt, clippy
16-
- uses: Swatinem/rust-cache@v2
17-
18-
- name: Install ALSA development libraries
19-
run: sudo apt-get update && sudo apt-get install -y libasound2-dev
2015

2116
- run: cargo clippy -- -D warnings -A incomplete_features -W clippy::dbg_macro -W clippy::print_stdout

.github/workflows/on-workflow-call-release.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@ jobs:
1111
- name: Checkout sources
1212
uses: actions/checkout@v6
1313

14-
- name: Install stable toolchain
15-
uses: dtolnay/rust-toolchain@stable
16-
17-
- name: Install ALSA development libraries
18-
run: sudo apt-get update && sudo apt-get install -y libasound2-dev
14+
- uses: ./.github/actions/setup
15+
with:
16+
cache: "false"
1917

2018
- name: Publish to crates.io
2119
env:

.github/workflows/on-workflow-call-test.yml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,7 @@ jobs:
99
steps:
1010
- uses: actions/checkout@v6
1111

12-
- name: Install Rust stable
13-
uses: dtolnay/rust-toolchain@stable
14-
15-
- uses: Swatinem/rust-cache@v2
16-
17-
- name: Install system audio deps
18-
run: |
19-
sudo apt-get update
20-
sudo apt-get install -y libasound2-dev pulseaudio-utils
12+
- uses: ./.github/actions/setup
2113

2214
- name: Run tests
2315
run: cargo test --all-features --workspace

0 commit comments

Comments
 (0)