Skip to content

Commit 5fc5a4a

Browse files
ci: Future-proof range of tested Python versions (#331)
SSIA Signed-off-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>
1 parent 53a7aa9 commit 5fc5a4a

10 files changed

Lines changed: 457 additions & 421 deletions

File tree

.github/workflows/constraints.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
nox==2026.2.9
1+
tox==4.50.1
2+
tox-uv==1.33.4

.github/workflows/project_add.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

.github/workflows/release.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
with:
2424
fetch-depth: 0
2525
persist-credentials: false
26-
- uses: hynek/build-and-inspect-python-package@efb823f52190ad02594531168b7a2d5790e66516 # v2.14.0
26+
- uses: hynek/build-and-inspect-python-package@f3d069d0f9a3c9169d1a483318bb0e09876a6fd6 # v2.15.0
2727
id: baipp
2828

2929
publish:
@@ -37,7 +37,7 @@ jobs:
3737
permissions:
3838
id-token: write # Needed for OIDC PyPI publishing
3939
steps:
40-
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
40+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
4141
with:
4242
name: Packages
4343
path: dist

.github/workflows/test.yml

Lines changed: 52 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,63 +8,89 @@ on:
88
- .github/workflows/test.yml
99
- tap_pulumi_cloud/**
1010
- tests/**
11-
- noxfile.py
1211
- pyproject.toml
1312
- uv.lock
1413
pull_request:
15-
branches: [main]
16-
types: [opened, synchronize, reopened]
1714
paths:
1815
- .github/workflows/constraints.txt
1916
- .github/workflows/test.yml
2017
- tap_pulumi_cloud/**
2118
- tests/**
22-
- noxfile.py
2319
- pyproject.toml
2420
- uv.lock
21+
workflow_dispatch:
22+
23+
concurrency:
24+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
25+
cancel-in-progress: true
26+
27+
permissions:
28+
contents: read
29+
30+
env:
31+
FORCE_COLOR: 1
2532

2633
jobs:
34+
build-package:
35+
name: Build & verify package
36+
runs-on: ubuntu-latest
37+
outputs:
38+
supported-python-versions: ${{ steps.baipp.outputs.supported_python_classifiers_json_array }}
39+
steps:
40+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
41+
with:
42+
fetch-depth: 0
43+
persist-credentials: false
44+
- uses: hynek/build-and-inspect-python-package@f3d069d0f9a3c9169d1a483318bb0e09876a6fd6 # v2.15.0
45+
id: baipp
46+
2747
test:
48+
name: Tests
2849
runs-on: ubuntu-latest
29-
env:
30-
FORCE_COLOR: "1"
31-
NOXSESSION: tests-${{ matrix.python-version }}
32-
UV_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt
33-
UV_PYTHON: ${{ matrix.python-version }}
50+
needs: [build-package]
3451
strategy:
35-
fail-fast: false
52+
fail-fast: true
53+
max-parallel: 1
3654
matrix:
37-
python-version:
38-
- "3.10"
39-
- "3.11"
40-
- "3.12"
41-
- "3.13"
42-
- "3.14"
55+
python-version: ${{ fromJson(needs.build-package.outputs.supported-python-versions) }}
4356

4457
steps:
4558
- name: Checkout code
4659
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4760
with:
48-
fetch-depth: 0
61+
persist-credentials: false
4962

50-
- name: Set up Python ${{ matrix.python-version }}
51-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
63+
- name: Install uv
64+
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
5265
with:
5366
python-version: ${{ matrix.python-version }}
54-
allow-prereleases: true
55-
56-
- name: Install uv
57-
uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1
5867

5968
- name: Install Nox
69+
env:
70+
UV_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt
6071
run: |
61-
uv tool install nox
62-
nox --version
72+
uv tool install --with tox-uv tox
73+
tox --version
6374
6475
- name: Run tests
6576
env:
6677
TAP_PULUMI_CLOUD_TOKEN: ${{ secrets.TAP_PULUMI_CLOUD_TOKEN }}
6778
TAP_PULUMI_CLOUD_ORGANIZATIONS: ${{ secrets.TAP_PULUMI_CLOUD_ORGANIZATIONS }}
6879
TAP_PULUMI_CLOUD_START_DATE: ${{ secrets.TAP_PULUMI_CLOUD_START_DATE }}
80+
PYTHON_VERSION: ${{ matrix.python-version }}
6981
run: |
70-
nox
82+
tox -e ${PYTHON_VERSION}
83+
84+
typing:
85+
name: Type Checking
86+
runs-on: ubuntu-latest
87+
steps:
88+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
89+
- name: Setup uv
90+
uses: astral-sh/setup-uv@6ee6290f1cbc4156c0bdd66691b2c144ef8df19a # v7.4.0
91+
- name: Run Tox
92+
run: >
93+
uvx
94+
--managed-python
95+
--with=tox-uv
96+
tox -e typing

.pre-commit-config.yaml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,31 @@ repos:
1616
- id: trailing-whitespace
1717

1818
- repo: https://github.com/tox-dev/pyproject-fmt
19-
rev: v2.11.1
19+
rev: v2.20.0
2020
hooks:
2121
- id: pyproject-fmt
2222

2323
- repo: https://github.com/astral-sh/ruff-pre-commit
24-
rev: v0.14.10
24+
rev: v0.15.6
2525
hooks:
2626
- id: ruff-check
2727
args: [--fix, --exit-non-zero-on-fix, --show-fixes]
2828
- id: ruff-format
2929

3030
- repo: https://github.com/astral-sh/uv-pre-commit
31-
rev: 0.9.26
31+
rev: 0.10.11
3232
hooks:
3333
- id: uv-lock
3434
- id: uv-sync
3535

3636
- repo: https://github.com/python-jsonschema/check-jsonschema
37-
rev: 0.36.1
37+
rev: 0.37.0
3838
hooks:
3939
- id: check-dependabot
4040
- id: check-github-workflows
4141
- id: check-meltano
42+
43+
- repo: https://github.com/hukkin/mdformat
44+
rev: 1.0.0
45+
hooks:
46+
- id: mdformat

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,27 @@ Built with the [Meltano Singer SDK](https://sdk.meltano.com).
66

77
## Capabilities
88

9-
* `catalog`
10-
* `discover`
11-
* `about`
12-
* `stream-maps`
13-
* `schema-flattening`
9+
- `catalog`
10+
- `discover`
11+
- `about`
12+
- `stream-maps`
13+
- `schema-flattening`
1414

1515
> **Note**
1616
> Incremental replication is not supported by any streams, so the `state` capability is not supported by this tap.
1717
1818
## Settings
1919

20-
| Setting | Required | Default | Description |
20+
| Setting | Required | Default | Description |
2121
|:--------------------|:--------:|:-------:|:------------|
22-
| token | True | None | API Token for Pulumi Cloud |
23-
| organizations | True | None | List of organizations to sync |
24-
| start_date | False | None | Earliest datetime to get data from |
25-
| requests_cache | False | None | Cache configuration for HTTP requests |
26-
| stream_maps | False | None | Config object for stream maps capability. For more information check out [Stream Maps](https://sdk.meltano.com/en/latest/stream_maps.html). |
27-
| stream_map_config | False | None | User-defined config values to be used within map expressions. |
28-
| flattening_enabled | False | None | 'True' to enable schema flattening and automatically expand nested properties. |
29-
| flattening_max_depth| False | None | The max depth to flatten schemas. |
22+
| token | True | None | API Token for Pulumi Cloud |
23+
| organizations | True | None | List of organizations to sync |
24+
| start_date | False | None | Earliest datetime to get data from |
25+
| requests_cache | False | None | Cache configuration for HTTP requests |
26+
| stream_maps | False | None | Config object for stream maps capability. For more information check out [Stream Maps](https://sdk.meltano.com/en/latest/stream_maps.html). |
27+
| stream_map_config | False | None | User-defined config values to be used within map expressions. |
28+
| flattening_enabled | False | None | 'True' to enable schema flattening and automatically expand nested properties. |
29+
| flattening_max_depth| False | None | The max depth to flatten schemas. |
3030

3131
A full list of supported settings and capabilities is available by running: `tap-pulumi-cloud --about`
3232

noxfile.py

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)