Skip to content

Commit f680f8a

Browse files
authored
Unified action for installing macos deps (#7379)
* Add `install-macos-deps` action * Use new action
1 parent abfb51e commit f680f8a

File tree

2 files changed

+53
-6
lines changed

2 files changed

+53
-6
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# This action installs a few dependencies necessary to build RustPython on macOS. By default it installs
2+
# autoconf, automake and libtool, but can be configured depending on which libraries are needed:
3+
#
4+
# ```
5+
# - uses: ./.github/actions/install-macos-deps
6+
# with:
7+
# openssl: true
8+
# libtool: false
9+
# ```
10+
#
11+
# See the `inputs` section for all options and their defaults. Note that you must checkout the
12+
# repository before you can use this action.
13+
#
14+
# This action will only install dependencies when the current operating system is macOS. It will do
15+
# nothing on any other OS (Linux, Windows).
16+
17+
name: Install macOS dependencies
18+
description: Installs the dependencies necessary to build RustPython on macOS.
19+
inputs:
20+
autoconf:
21+
description: Install autoconf (autoconf)
22+
required: false
23+
default: "true"
24+
automake:
25+
description: Install automake (automake)
26+
required: false
27+
default: "true"
28+
libtool:
29+
description: Install libtool (libtool)
30+
required: false
31+
default: "true"
32+
openssl:
33+
description: Install openssl (openssl@3)
34+
required: false
35+
default: "false"
36+
runs:
37+
using: composite
38+
steps:
39+
- name: Install macOS dependencies
40+
shell: bash
41+
if: ${{ runner.os == 'macOS' }}
42+
run: >
43+
brew install
44+
${{ fromJSON(inputs.autoconf) && 'autoconf' || '' }}
45+
${{ fromJSON(inputs.automake) && 'automake' || '' }}
46+
${{ fromJSON(inputs.libtool) && 'libtool' || '' }}
47+
${{ fromJSON(inputs.openssl) && 'openssl@3' || '' }}

.github/workflows/ci.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,8 @@ jobs:
135135
components: clippy
136136
- uses: Swatinem/rust-cache@v2
137137

138-
- name: Set up the Mac environment
139-
run: brew install autoconf automake libtool
140-
if: runner.os == 'macOS'
138+
- name: Install macOS dependencies
139+
uses: ./.github/actions/install-macos-deps
141140

142141
- name: run clippy
143142
run: cargo clippy ${{ env.CARGO_ARGS }} --workspace --all-targets ${{ env.WORKSPACE_EXCLUDES }} -- -Dwarnings
@@ -299,9 +298,10 @@ jobs:
299298
with:
300299
python-version: ${{ env.PYTHON_VERSION }}
301300

302-
- name: Set up the Mac environment
303-
run: brew install autoconf automake libtool openssl@3
304-
if: runner.os == 'macOS'
301+
- name: Install macOS dependencies
302+
uses: ./.github/actions/install-macos-deps
303+
with:
304+
openssl: true
305305

306306
- name: build rustpython
307307
run: cargo build --release --verbose --features=threading,jit ${{ env.CARGO_ARGS }}

0 commit comments

Comments
 (0)