Skip to content

Commit ecd5e44

Browse files
committed
Refactor common setup into new action
1 parent 64f1150 commit ecd5e44

File tree

4 files changed

+43
-38
lines changed

4 files changed

+43
-38
lines changed

.github/workflows/hexdoc.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,19 @@ jobs:
5555
pages-url: ${{ steps.build.outputs.pages-url }}
5656
steps:
5757
- uses: actions/checkout@v4
58+
59+
- uses: hexdoc-dev/actions/setup@v0
60+
with:
61+
python-version: ${{ inputs.python-version }}
62+
pip-extras: ${{ inputs.pip-extras }}
63+
5864
- id: build
5965
uses: hexdoc-dev/actions/build@v0
6066
env:
6167
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
6268
with:
63-
python-version: ${{ inputs.python-version }}
6469
release: ${{ inputs.release }}
6570
props: ${{ inputs.props }}
66-
pip-extras: ${{ inputs.pip-extras }}
6771
subdirectory: ${{ inputs.subdirectory }}
6872
site-url: ${{ inputs.site-url }}
6973

@@ -78,13 +82,17 @@ jobs:
7882
contents: write
7983
steps:
8084
- uses: actions/checkout@v4
85+
86+
- uses: hexdoc-dev/actions/setup@v0
87+
with:
88+
python-version: ${{ inputs.python-version }}
89+
pip-extras: ${{ inputs.pip-extras }}
90+
8191
- uses: hexdoc-dev/actions/deploy-pages@v0
8292
env:
8393
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
8494
with:
85-
python-version: ${{ inputs.python-version }}
8695
release: ${{ inputs.release }}
8796
props: ${{ inputs.props }}
88-
pip-extras: ${{ inputs.pip-extras }}
8997
subdirectory: ${{ inputs.subdirectory }}
9098
site-url: ${{ needs.build.outputs.pages-url }}

build/action.yml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,9 @@ inputs:
66
release:
77
description: "Boolean: if the book should be written to the release path (true) or the latest path (false)"
88
required: true
9-
python-version:
10-
description: Python version to install
11-
required: false
12-
default: "3.11"
139
props:
1410
description: Path to your props file (hexdoc.toml or properties.toml)
1511
required: false
16-
pip-extras:
17-
description: Pip extras for your package (eg. "[dev]")
18-
required: false
1912
subdirectory:
2013
description: Subdirectory to deploy the book to
2114
required: false
@@ -42,21 +35,11 @@ outputs:
4235
runs:
4336
using: composite
4437
steps:
45-
- uses: actions/setup-python@v4
46-
with:
47-
python-version: ${{ inputs.python-version }}
48-
cache: pip
49-
- uses: yezz123/setup-uv@v4
50-
5138
- name: Install display server
5239
uses: awalsh128/cache-apt-pkgs-action@v1
5340
with:
5441
packages: xvfb
5542

56-
- name: Install Python packages
57-
shell: bash
58-
run: uv pip install --system -e .${{ inputs.pip-extras }} hatch
59-
6043
- name: Build web book
6144
id: export
6245
env:

deploy-pages/action.yml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,9 @@ inputs:
66
release:
77
description: "Boolean: if the book should be written to the release path (true) or the latest path (false)"
88
required: true
9-
python-version:
10-
description: Python version to install
11-
required: false
12-
default: "3.11"
139
props:
1410
description: Path to your props file (hexdoc.toml or properties.toml)
1511
required: false
16-
pip-extras:
17-
description: Pip extras for your package (eg. "[dev]")
18-
required: false
1912
subdirectory:
2013
description: Subdirectory to deploy the book to
2114
required: false
@@ -34,16 +27,6 @@ inputs:
3427
runs:
3528
using: composite
3629
steps:
37-
- uses: actions/setup-python@v4
38-
with:
39-
python-version: ${{ inputs.python-version }}
40-
cache: pip
41-
- uses: yezz123/setup-uv@v4
42-
43-
- name: Install Python packages
44-
shell: bash
45-
run: uv pip install --system -e .${{ inputs.pip-extras }}
46-
4730
- name: Download Pages artifact
4831
uses: actions/download-artifact@v4
4932
with:

setup/action.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Set up hexdoc actions
2+
description: Runs helpful setup for other hexdoc actions.
3+
author: hexdoc-dev
4+
5+
inputs:
6+
python-version:
7+
description: Python version to install
8+
required: false
9+
default: "3.11"
10+
uv-version:
11+
description: UV version to install
12+
required: false
13+
pip-extras:
14+
description: Pip extras for your package (eg. "[dev]")
15+
required: false
16+
17+
runs:
18+
using: composite
19+
steps:
20+
- uses: actions/setup-python@v4
21+
with:
22+
python-version: ${{ inputs.python-version }}
23+
cache: pip
24+
25+
- uses: yezz123/setup-uv@v4
26+
with:
27+
uv-version: ${{ inputs.uv-version }}
28+
29+
- name: Install Python packages
30+
shell: bash
31+
run: uv pip install --system -e .${{ inputs.pip-extras }}

0 commit comments

Comments
 (0)