Skip to content

Conversation

@max-ostapenko
Copy link
Contributor

@max-ostapenko max-ostapenko commented Oct 20, 2025

This pull request introduces several important updates to the Dataform package, focusing on improved reservation assignment logic, project structure modernization, and enhanced automation for testing and publishing. The main highlights are a breaking change to the action name format, migration to a modern ESLint configuration, and the addition of CI/CD workflows and a comprehensive test project.

Breaking change & reservation logic update:

  • Updated the getActionName function in index.js to require the format database.schema.name for operation actions, ensuring reservation assignment matches Dataform's actual behavior. This is a breaking change, so reservation configuration must now include the schema (e.g., 'my-project.my_schema.my_table').

Test project & documentation:

  • Added a full test Dataform project (test-project/) with example definitions and reservation configurations to verify package functionality.

Copilot AI review requested due to automatic review settings October 25, 2025 21:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds CI/CD infrastructure and refactors the project structure. The main changes include adding GitHub Actions workflows for continuous integration and automated npm publishing, migrating to ESLint 9's flat config format, and creating a comprehensive test-project to demonstrate package usage locally.

Key Changes

  • Added GitHub Actions workflows for CI (lint and test on PRs) and automated npm publishing on version tags
  • Migrated from legacy ESLint configuration to ESLint 9's flat config format
  • Created a test-project directory with example Dataform definitions demonstrating reservation configuration patterns
  • Updated the main package to include schema in action name construction for full BigQuery table references

Reviewed Changes

Copilot reviewed 21 out of 24 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/ci.yml Adds CI workflow for linting and testing on pull requests
.github/workflows/publish.yml Adds automated npm publishing workflow triggered by version tags
.github/linters/eslint.config.mjs New ESLint 9 flat config with Dataform-specific globals
.github/dependabot.yml Configures Dependabot for npm and GitHub Actions dependencies
package.json Updates dependencies, removes old scripts, adds test-project compilation to test suite
index.js Adds schema to action name construction for complete table references
test/index.test.js Updates tests to reflect schema inclusion in action names
test-project/* Adds complete test project demonstrating package functionality
.eslintrc.js Removes legacy ESLint config (replaced by flat config)
scripts/publish.js Removes manual publish script (replaced by GitHub Actions)
examples.js Removes examples file (replaced by test-project)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@max-ostapenko max-ostapenko changed the title Add CI and publish workflows Adjust operation actions name Oct 25, 2025
@max-ostapenko max-ostapenko merged commit 9f249de into main Oct 27, 2025
3 checks passed
@max-ostapenko max-ostapenko deleted the loose-cod branch October 27, 2025 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants