Skip to content

RULES: Unnecessary template rule removed, md table made yaml #1195

RULES: Unnecessary template rule removed, md table made yaml

RULES: Unnecessary template rule removed, md table made yaml #1195

name: test postgres and duckdb
on:
pull_request:
branches:
- master
workflow_dispatch:
env:
ALL_DESTINATIONS: '["postgres", "duckdb"]'
DLT_SECRETS_TOML: ${{ secrets.DLT_SECRETS_TOML }}
# DESTINATIONS_SECRETS: ${{ secrets.DESTINATIONS_SECRETS }}
# SOURCES_SECRETS: ${{ secrets.SOURCES_SECRETS }}
RUNTIME__LOG_LEVEL: ERROR
jobs:
get_changed_sources:
uses: ./.github/workflows/get_changed_sources.yml
# Tests that require credentials do not run in forks
if: ${{ !github.event.pull_request.head.repo.fork }}
run_loader:
name: test destinations postgres and duckdb
needs: get_changed_sources
if: needs.get_changed_sources.outputs.sources_list != ''
strategy:
max-parallel: 2
fail-fast: false
matrix:
os: ["macos-latest", "windows-latest"]
defaults:
run:
shell: bash
runs-on: ${{ matrix.os }}
steps:
- name: Check out
uses: actions/checkout@master
- name: Install tzdata on windows
run: |
cd %USERPROFILE%
curl https://data.iana.org/time-zones/releases/tzdata2021e.tar.gz --output tzdata.tar.gz
mkdir tzdata
tar --extract --file tzdata.tar.gz --directory tzdata
mkdir %USERPROFILE%\Downloads\tzdata
copy tzdata %USERPROFILE%\Downloads\tzdata
curl https://raw.githubusercontent.com/unicode-org/cldr/master/common/supplemental/windowsZones.xml --output %USERPROFILE%\Downloads\tzdata\windowsZones.xml
if: runner.os == 'Windows'
shell: cmd
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
python-version: "3.11"
- name: Install dependencies
run: make dev
- name: create secrets.toml
run: pwd && echo "$DLT_SECRETS_TOML" > sources/.dlt/secrets.toml
# run: pwd && echo "$DESTINATIONS_SECRETS" > sources/.dlt/secrets.toml && echo "$SOURCES_SECRETS" >> sources/.dlt/secrets.toml
# - name: Setup upterm session
# uses: lhotari/action-upterm@v1
- run: |
sources_list="${{ needs.get_changed_sources.outputs.sources_list }}"
test_paths=$(echo "$sources_list" | awk '{for(i=1;i<=NF;i++) printf "tests/%s ", $i}')
uv run pytest $test_paths
if: runner.os != 'Windows'
name: Run tests on Linux/macOS
- run: |
FOR %%i IN (${{ needs.get_changed_sources.outputs.sources_list }}) DO (
echo Running tests for: %%i
uv run pytest tests/%%i
)
if: runner.os == 'Windows'
name: Run tests on Windows
shell: cmd