diff --git a/.github/actions/setup-uv/action.yml b/.github/actions/setup-uv/action.yml new file mode 100644 index 00000000..26e58a1d --- /dev/null +++ b/.github/actions/setup-uv/action.yml @@ -0,0 +1,18 @@ +name: Setup uv +description: Setup uv with caching enabled + +inputs: + python-version: + description: 'Python version to use' + required: false + default: '3.14' + +runs: + using: composite + steps: + - name: Set up uv + uses: astral-sh/setup-uv@v7 + with: + python-version: ${{ inputs.python-version }} + enable-cache: true + cache-dependency-glob: "**/pyproject.toml" diff --git a/.github/workflows/build-deploy-docs.yml b/.github/workflows/build-deploy-docs.yml index e08de9ff..24a9f882 100644 --- a/.github/workflows/build-deploy-docs.yml +++ b/.github/workflows/build-deploy-docs.yml @@ -20,10 +20,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 - - name: Set up uv - uses: astral-sh/setup-uv@v7 - with: - python-version: '3.14' + - uses: ./.github/actions/setup-uv - uses: ./.github/actions/install-deps with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 919c259e..d6a7c2e5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,10 +16,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 - - name: Set up uv - uses: astral-sh/setup-uv@v7 - with: - python-version: '3.14' + - uses: ./.github/actions/setup-uv - name: Build run: uv build diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 129cea7a..312bf93e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -37,8 +37,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 - - name: Set up uv - uses: astral-sh/setup-uv@v7 + - uses: ./.github/actions/setup-uv with: python-version: ${{ matrix.python-version || '3.14' }} @@ -64,10 +63,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 - - name: Set up uv - uses: astral-sh/setup-uv@v7 - with: - python-version: '3.14' + - uses: ./.github/actions/setup-uv - uses: ./.github/actions/install-deps with: @@ -84,10 +80,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 - - name: Set up uv - uses: astral-sh/setup-uv@v7 - with: - python-version: '3.14' + - uses: ./.github/actions/setup-uv - uses: ./.github/actions/install-deps with: