diff --git a/.github/workflows/install.yaml b/.github/workflows/install.yaml new file mode 100644 index 000000000..3970f1b73 --- /dev/null +++ b/.github/workflows/install.yaml @@ -0,0 +1,34 @@ +name: Install Tests +on: + pull_request: + types: [opened, synchronize] + push: + branches: + - main +jobs: + install: + name: ${{ matrix.python_version }} install + strategy: + fail-fast: true + matrix: + python_version: ["3.8", "3.12"] + runs-on: ubuntu-latest + steps: + - name: Set up python ${{ matrix.python_version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python_version }} + - uses: actions/checkout@v4 + - name: Build package + run: | + make package + - name: Install package + run: | + python -m pip install "unpacked_sdist/." + - name: Test by importing packages + run: | + python -c "import sdv" + python -c "import sdv;print(sdv.version.public)" + - name: Check package conflicts + run: | + python -m pip check diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 3418bf2e7..717b7fa3a 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -9,6 +9,7 @@ jobs: integration: runs-on: ${{ matrix.os }} strategy: + fail-fast: true matrix: python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12'] os: [ubuntu-latest, windows-latest] diff --git a/.github/workflows/minimum.yml b/.github/workflows/minimum.yml index f97dc4fbe..10ac72666 100644 --- a/.github/workflows/minimum.yml +++ b/.github/workflows/minimum.yml @@ -9,6 +9,7 @@ jobs: minimum: runs-on: ${{ matrix.os }} strategy: + fail-fast: true matrix: python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12'] os: [ubuntu-latest, windows-latest] diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml index 870a0f28d..55883f20a 100644 --- a/.github/workflows/unit.yml +++ b/.github/workflows/unit.yml @@ -9,6 +9,7 @@ jobs: unit: runs-on: ${{ matrix.os }} strategy: + fail-fast: true matrix: python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12'] os: [ubuntu-latest, windows-latest] diff --git a/Makefile b/Makefile index ff5871ffa..5f1547db4 100644 --- a/Makefile +++ b/Makefile @@ -265,5 +265,24 @@ release-major: check-release bumpversion-major release .PHONY: check-deps check-deps: - $(eval allow_list='cloudpickle=|graphviz=|numpy=|pandas=|tqdm=|copulas=|ctgan=|deepecho=|rdt=|sdmetrics=|platformdirs=') + $(eval allow_list='cloudpickle=|graphviz=|numpy=|pandas=|tqdm=|copulas=|ctgan=|deepecho=|rdt=|sdmetrics=|platformdirs=|pyyaml=') pip freeze | grep -v "SDV.git" | grep -E $(allow_list) | sort > $(OUTPUT_FILEPATH) + +.PHONY: upgradepip +upgradepip: + python -m pip install --upgrade pip + +.PHONY: upgradebuild +upgradebuild: + python -m pip install --upgrade build + +.PHONY: upgradesetuptools +upgradesetuptools: + python -m pip install --upgrade setuptools + +.PHONY: package +package: upgradepip upgradebuild upgradesetuptools + python -m build ; \ + $(eval VERSION=$(shell python -c 'import setuptools; setuptools.setup()' --version)) + tar -zxvf "dist/sdv-${VERSION}.tar.gz" + mv "sdv-${VERSION}" unpacked_sdist diff --git a/pyproject.toml b/pyproject.toml index 900616666..91f25152b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,7 @@ dependencies = [ 'rdt>=1.12.0', 'sdmetrics>=0.14.0', 'platformdirs>=4.0', + 'pyyaml>=6.0.1', ] [project.urls]