Skip to content

Fix 1633 unexpected key error with primary key in schema and 1635 unexpected missing label error when ignoring header case #3017

Fix 1633 unexpected key error with primary key in schema and 1635 unexpected missing label error when ignoring header case

Fix 1633 unexpected key error with primary key in schema and 1635 unexpected missing label error when ignoring header case #3017

Workflow file for this run

name: general
on:
push:
branches:
- main
tags:
- v*.*.*
pull_request:
branches:
- main
# schedule:
# - cron: "0 3 * * *"
jobs:
# Test (Linux)
test-linux:
if: github.event_name != 'schedule' || github.repository_owner == 'frictionlessdata'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Prepare environment
run: pip3 install hatch
- name: Prepare variables
run: cp .env.example .env
- name: Prepare secrets
if: env.GOOGLE_CREDENTIALS_DATA != null
run: echo $GOOGLE_CREDENTIALS_DATA > .google.json
env:
GOOGLE_CREDENTIALS_DATA: ${{ secrets.GOOGLE_CREDENTIALS_DATA }}
- name: Test software
run: hatch run +py=${{ matrix.py || matrix.python-version }} ci:test
- name: Report coverage
uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: frictionlessdata/frictionless-py
services:
postgres:
image: postgres:12
env:
POSTGRES_DB: test
POSTGRES_PASSWORD: test
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
image: mysql:8
env:
MYSQL_DATABASE: test
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
# Test (MacOS)
test-macos:
if: github.event_name != 'schedule' || github.repository_owner == 'frictionlessdata'
# TODO: migrate to macos-latest after figuring out how to
# make `posgres/pg_config` works in the environment. Currently, it fails
# with the following error: "pg_config" not found"
runs-on: macos-12
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Prepare environment
run: pip3 install hatch
- name: Prepare variables
run: cp .env.example .env
- name: Test software
# https://stackoverflow.com/questions/9678408/cant-install-psycopg2-with-pip-in-virtualenv-on-mac-os-x-10-7
run: LDFLAGS=`echo $(pg_config --ldflags)` hatch run +py=3.10 ci:test
# Test (Windows)
test-windows:
if: github.event_name != 'schedule' || github.repository_owner == 'frictionlessdata'
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Prepare environment
run: pip3 install hatch
- name: Prepare variables
run: cp .env.example .env
- name: Test software
run: hatch run +py=3.10 ci:test
# Deploy
deploy:
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Prepare environment
run: pip3 install hatch
- name: Install and build site
run: |
echo '!**/*.html' >> .gitignore
hatch run docs-build
- name: Publush to Github Pages
uses: stefanzweifel/git-auto-commit-action@v5
with:
branch: site
create_branch: true
push_options: "--force"
# Release
release:
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs: [test-linux, test-macos, test-windows]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: pip install -U build
- name: Build distribution
run: python -m build
- name: Publish to PYPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_KEY }}
- name: Release to GitHub
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}