Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix alembic template & make pre-commit more resilient (apache#43244)
While working on this apache#43243, I was following https://github.com/apache/airflow/blob/main/contributing-docs/13_metadata_database_updates.rst and I ran into an error with pre-commit hook. When running the revision command as follows: ``` root@f1f78138ad78:/opt/airflow/airflow# alembic revision -m "New revision" Generating /opt/airflow/airflow/migrations/versions/01b38be821e9_new_revision.py ... done ``` It creates a file as follows: ```python """New revision Revision ID: cd7be1ae8b80 Revises: 05234396c6fc Create Date: 2024-10-22 01:44:17.873864 """ import sqlalchemy as sa from alembic import op # revision identifiers, used by Alembic. revision = 'cd7be1ae8b80' down_revision = '05234396c6fc' branch_labels = None depends_on = None ``` Notice single quotes in `revision` & `down_revision`. Now if I just run that single pre-commit hook (`update-migration-references`), it fails ``` ❯ pre-commit run "update-migration-references" --all-files Update migration ref doc.................................................Failed - hook id: update-migration-references - exit code: 1 Using 'uv' to install Airflow Using airflow version from current sources Updating migration reference for airflow Making sure airflow version updated Making sure there's no mismatching revision numbers Traceback (most recent call last): File "/opt/airflow/scripts/in_container/run_migration_reference.py", line 246, in <module> correct_mismatching_revision_nums(revisions=revisions) File "/opt/airflow/scripts/in_container/run_migration_reference.py", line 230, in correct_mismatching_revision_nums new_content = content.replace(revision_id_match.group(1), revision_match.group(1), 1) AttributeError: 'NoneType' object has no attribute 'group' Error 1 returned If you see strange stacktraces above, run `breeze ci-image build --python 3.9` and try again. ``` That isn't a problem generally as `ruff` will fail before and convert it into double quotes. But rather than doing that, we fix it at source.
- Loading branch information