diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 5e9823f2..6a07ca8b 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -1,24 +1,23 @@ name: Build and Test on: - push: - branches: - - main - tags: - - v* - pull_request: - branches: - - main - - prep-** - workflow_dispatch: - inputs: - logLevel: - - default: warning - description: "Log level" - required: true - tags: - description: "Test scenario tags" + push: + branches: + - main + tags: + - v* + pull_request: + branches: + - main + - prep-** + workflow_dispatch: + inputs: + logLevel: + default: warning + description: "Log level" + required: true + tags: + description: "Test scenario tags" jobs: lint: name: Check linting @@ -30,7 +29,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.8' + python-version: "3.8" - name: Upgrade and install tools run: | python -m pip install -U uv @@ -60,7 +59,7 @@ jobs: - name: Setup up Python uses: actions/setup-python@v5 with: - python-version: '3.8' + python-version: "3.8" - name: Upgrade and install tools run: | python -m pip install -U uv @@ -75,22 +74,14 @@ jobs: test-dialect: name: Test dialect ${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }} - needs: [ lint, build-install ] + needs: [lint, build-install] runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [ - ubuntu-latest, - macos-13, - windows-latest, - ] + os: [ubuntu-latest, macos-13, windows-latest] python-version: ["3.8"] - cloud-provider: [ - aws, - azure, - gcp, - ] + cloud-provider: [aws, azure, gcp] steps: - uses: actions/checkout@v4 with: @@ -109,8 +100,12 @@ jobs: env: PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }} run: | - gpg --quiet --batch --yes --decrypt --passphrase="$PARAMETERS_SECRET" \ - .github/workflows/parameters/parameters_${{ matrix.cloud-provider }}.py.gpg > tests/parameters.py + printf "%s" "$PARAMETERS_SECRET" | gpg --quiet --batch --yes \ + --decrypt \ + --passphrase-fd 0 \ + --pinentry-mode loopback \ + --output tests/parameters.py \ + .github/workflows/parameters/parameters_${{ matrix.cloud-provider }}.py.gpg - name: Run test for AWS run: hatch run test-dialect-aws if: matrix.cloud-provider == 'aws' @@ -124,22 +119,14 @@ jobs: test-dialect-compatibility: name: Test dialect compatibility ${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }} - needs: [ lint, build-install ] + needs: [lint, build-install] runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [ - ubuntu-latest, - macos-13, - windows-latest, - ] + os: [ubuntu-latest, macos-13, windows-latest] python-version: ["3.8"] - cloud-provider: [ - aws, - azure, - gcp, - ] + cloud-provider: [aws, azure, gcp] steps: - uses: actions/checkout@v4 with: @@ -158,8 +145,12 @@ jobs: env: PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }} run: | - gpg --quiet --batch --yes --decrypt --passphrase="$PARAMETERS_SECRET" \ - .github/workflows/parameters/parameters_${{ matrix.cloud-provider }}.py.gpg > tests/parameters.py + printf "%s" "$PARAMETERS_SECRET" | gpg --quiet --batch --yes \ + --decrypt \ + --passphrase-fd 0 \ + --pinentry-mode loopback \ + --output tests/parameters.py \ + .github/workflows/parameters/parameters_${{ matrix.cloud-provider }}.py.gpg - name: Run tests run: hatch run test-dialect-compatibility - uses: actions/upload-artifact@v4 @@ -170,22 +161,14 @@ jobs: test-dialect-v14: name: Test dialect v14 ${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.cloud-provider }} - needs: [ lint, build-install ] + needs: [lint, build-install] runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [ - ubuntu-latest, - macos-13, - windows-latest, - ] + os: [ubuntu-latest, macos-13, windows-latest] python-version: ["3.8"] - cloud-provider: [ - aws, - azure, - gcp, - ] + cloud-provider: [aws, azure, gcp] steps: - uses: actions/checkout@v4 with: @@ -199,8 +182,12 @@ jobs: env: PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }} run: | - gpg --quiet --batch --yes --decrypt --passphrase="$PARAMETERS_SECRET" \ - .github/workflows/parameters/parameters_${{ matrix.cloud-provider }}.py.gpg > tests/parameters.py + printf "%s" "$PARAMETERS_SECRET" | gpg --quiet --batch --yes \ + --decrypt \ + --passphrase-fd 0 \ + --pinentry-mode loopback \ + --output tests/parameters.py \ + .github/workflows/parameters/parameters_${{ matrix.cloud-provider }}.py.gpg - name: Upgrade pip and install hatch run: | python -m pip install -U uv @@ -224,17 +211,9 @@ jobs: strategy: fail-fast: false matrix: - os: [ - ubuntu-latest, - macos-13, - windows-latest, - ] + os: [ubuntu-latest, macos-13, windows-latest] python-version: ["3.8"] - cloud-provider: [ - aws, - azure, - gcp, - ] + cloud-provider: [aws, azure, gcp] steps: - uses: actions/checkout@v4 with: @@ -253,8 +232,12 @@ jobs: env: PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }} run: | - gpg --quiet --batch --yes --decrypt --passphrase="$PARAMETERS_SECRET" \ - .github/workflows/parameters/parameters_${{ matrix.cloud-provider }}.py.gpg > tests/parameters.py + printf "%s" "$PARAMETERS_SECRET" | gpg --quiet --batch --yes \ + --decrypt \ + --passphrase-fd 0 \ + --pinentry-mode loopback \ + --output tests/parameters.py \ + .github/workflows/parameters/parameters_${{ matrix.cloud-provider }}.py.gpg - name: Run tests run: hatch run sa14:test-dialect-compatibility - uses: actions/upload-artifact@v4 @@ -266,7 +249,13 @@ jobs: combine-coverage: name: Combine coverage if: ${{ success() || failure() }} - needs: [test-dialect, test-dialect-compatibility, test-dialect-v14, test-dialect-compatibility-v14] + needs: + [ + test-dialect, + test-dialect-compatibility, + test-dialect-v14, + test-dialect-compatibility-v14, + ] runs-on: ubuntu-latest steps: - name: Set up Python diff --git a/DESCRIPTION.md b/DESCRIPTION.md index 5d3fd468..c95d1a5a 100644 --- a/DESCRIPTION.md +++ b/DESCRIPTION.md @@ -7,6 +7,8 @@ Snowflake Documentation is available at: Source code is also available at: # Unreleased Notes +- v1.8.0 + - Bump snowflake-connector-python to v4 # Release Notes - v1.7.7(September 3, 2025) diff --git a/pyproject.toml b/pyproject.toml index b22dc293..3ffb0450 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,7 @@ classifiers = [ "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", ] -dependencies = ["SQLAlchemy>=1.4.19", "snowflake-connector-python<4.0.0"] +dependencies = ["SQLAlchemy>=1.4.19", "snowflake-connector-python<5.0.0"] [tool.hatch.version] path = "src/snowflake/sqlalchemy/version.py" diff --git a/snyk/requirements.txt b/snyk/requirements.txt index 0166d751..1e02f86f 100644 --- a/snyk/requirements.txt +++ b/snyk/requirements.txt @@ -1,2 +1,2 @@ SQLAlchemy>=1.4.19 -snowflake-connector-python<4.0.0 +snowflake-connector-python<5.0.0