Skip to content

v2.14.0 breaks workflow: disabled target languages now cause errors instead of warnings #303

@JBabenko

Description

@JBabenko

Describe the bug
After upgrading Crowdin GitHub Action from v2.13.0 to v2.14.0, our workflow started failing with errors related to language files that are not enabled (unchecked) in the Crowdin project.
In v2.13.0, the same situation resulted only in warnings and did not fail the workflow.

This change breaks existing workflows and behavior that previously worked correctly.

To Reproduce
Steps to reproduce the behavior:

  1. Crowdin GitHub Action configuration
name: Synchronize with Crowdin
uses: crowdin/github-action@v2
with:
  config: "crowdin.yml"
  upload_sources: true
  upload_translations: true
  download_sources: true
  push_sources: false
  download_translations: true
  localization_branch_name: feat/crowdin-translations
  create_pull_request: true
  commit_message: "New Crowdin translations"
  pull_request_title: "New Crowdin translations"
  pull_request_body: "New Crowdin pull request with translations"
  pull_request_base_branch_name: "main"
env:
  GITHUB_TOKEN: ${{ secrets.CROWDIN_GITHUB_TOKEN }}
  CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
  CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
  1. crowdin.yml file content
project_id_env: CROWDIN_PROJECT_ID
api_token_env: CROWDIN_PERSONAL_TOKEN
base_path: '.'
base_url: 'https://crowdin.com'
pull_request_title: 'feat: New Crowdin updates'
commit_message: 'feat: New translations %original_file_name% (%language%)'
append_commit_message: false
preserve_hierarchy: true
files:
    - source: /packages/i18n/src/locales/en/*.json
      translation: /packages/i18n/src/locales/%two_letters_code%/%original_file_name%
  1. Information about workflow (OS, steps, etc.)
  • OS: Ubuntu (GitHub-hosted runner)
  • Workflow fails with errors on disabled language files.
  • Downgrading the action to v2.13.0 makes the workflow pass again (only warnings are produced).

Example error when a language is disabled:

❌ Failed to upload the translation file 'packages/i18n/src/locales/pt/payments.json'. Please contact our support team for help
❌ Wrong parameters: 
<key: file, code: 0, message: File is not allowed for the language specified>

Expected behavior
The workflow should not fail when localization files exist for languages that are disabled in the Crowdin project.
The behavior should match v2.13.0, where such cases produced warnings instead of errors.

Expected warning example (language disabled):

⚠️  Translation file 'packages/i18n/src/locales/pt/payments.json' hasn't been uploaded since Portuguese, Brazilian is not enabled as a target language for the source file in your Crowdin project

If this behavior change is intentional, it should be considered a breaking change and released as a new major version, not a minor one.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context

  • Rolling back from v2.14.0 to v2.13.0 fully restores the previous behavior.
  • The change introduces unexpected failures in existing CI pipelines without configuration changes.
  • According to semantic versioning, changing warnings to errors that break workflows should require a major version bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions