Synthesis failed for BigQuery

Hello! Autosynth couldn't regenerate BigQuery. :broken_heart:
Here's the output from running synth.py:
2020-05-09 05:04:54 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-09 05:04:54,065 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-bigquery'
2020-05-09 05:04:55 [INFO] Running synthtool
2020-05-09 05:04:55,551 autosynth > Running synthtool
2020-05-09 05:04:55 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-09 05:04:55,552 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-09 05:04:55,760 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-bigquery
nothing to commit, working tree clean
2020-05-09 05:04:55,941 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-09 05:04:56,489 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh BigQuery
2020-05-09 05:05:01,402 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/big_query/synth.metadata'
2020-05-09 05:05:01 [ERROR] Synthesis failed
2020-05-09 05:05:01,434 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--', 'BigQuery']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating BigQuery. :sob:
Here's the output from running synth.py:
2020-05-10 05:04:47 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-10 05:04:47,752 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-bigquery'
2020-05-10 05:04:49 [INFO] Running synthtool
2020-05-10 05:04:49,670 autosynth > Running synthtool
2020-05-10 05:04:49 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-10 05:04:49,670 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-10 05:04:49,888 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-bigquery
nothing to commit, working tree clean
2020-05-10 05:04:49,962 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-10 05:04:50,390 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh BigQuery
2020-05-10 05:04:55,152 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/big_query/synth.metadata'
2020-05-10 05:04:55 [ERROR] Synthesis failed
2020-05-10 05:04:55,177 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--', 'BigQuery']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating BigQuery. :sob:
Here's the output from running synth.py:
2020-05-11 05:04:08 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-11 05:04:08,017 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-bigquery'
2020-05-11 05:04:09 [INFO] Running synthtool
2020-05-11 05:04:09,700 autosynth > Running synthtool
2020-05-11 05:04:09 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-11 05:04:09,701 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-11 05:04:09,885 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-bigquery
nothing to commit, working tree clean
2020-05-11 05:04:09,994 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-11 05:04:10,462 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh BigQuery
2020-05-11 05:04:14,768 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/big_query/synth.metadata'
2020-05-11 05:04:14 [ERROR] Synthesis failed
2020-05-11 05:04:14,792 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--', 'BigQuery']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating BigQuery. :sob:
Here's the output from running synth.py:
2020-05-11 15:05:16 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-11 15:05:16,390 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-bigquery'
2020-05-11 15:05:18 [INFO] Running synthtool
2020-05-11 15:05:18,558 autosynth > Running synthtool
2020-05-11 15:05:18 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-11 15:05:18,558 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-11 15:05:18,768 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-bigquery
nothing to commit, working tree clean
2020-05-11 15:05:18,846 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-11 15:05:19,405 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh BigQuery
/workspace /workspace
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  certifi 2.5.1
  google_api_discovery 0.7.0
  google_gax 0.3.2
  hackney 1.15.2
  idna 6.0.0
  jason 1.2.0
  metrics 1.0.1
  mime 1.3.1
  mimerl 1.2.0
  oauth2 0.9.4
  parse_trans 3.3.0
  poison 3.1.0
  ssl_verify_fun 1.1.5
  temp 0.4.7
  tesla 1.3.3
  unicode_util_compat 0.4.1
A new Hex version is available (0.20.1 < 0.20.5), please update with `mix local.hex`
All dependencies are up to date
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.

22:05:21.968 [info]  FETCHING: https://www.googleapis.com/discovery/v1/apis/bigquery/v2/rest

22:05:22.127 [info]  FOUND: https://www.googleapis.com/discovery/v1/apis/bigquery/v2/rest
Revision check: old=20200419, new=20200429, generating=true
Creating leading directories
Writing AggregateClassificationMetrics to clients/big_query/lib/google_api/big_query/v2/model/aggregate_classification_metrics.ex.
Writing Argument to clients/big_query/lib/google_api/big_query/v2/model/argument.ex.
Writing ArimaCoefficients to clients/big_query/lib/google_api/big_query/v2/model/arima_coefficients.ex.
Writing ArimaFittingMetrics to clients/big_query/lib/google_api/big_query/v2/model/arima_fitting_metrics.ex.
Writing ArimaModelInfo to clients/big_query/lib/google_api/big_query/v2/model/arima_model_info.ex.
Writing ArimaOrder to clients/big_query/lib/google_api/big_query/v2/model/arima_order.ex.
Writing ArimaResult to clients/big_query/lib/google_api/big_query/v2/model/arima_result.ex.
Writing AuditConfig to clients/big_query/lib/google_api/big_query/v2/model/audit_config.ex.
Writing AuditLogConfig to clients/big_query/lib/google_api/big_query/v2/model/audit_log_config.ex.
Writing BigQueryModelTraining to clients/big_query/lib/google_api/big_query/v2/model/big_query_model_training.ex.
Writing BigtableColumn to clients/big_query/lib/google_api/big_query/v2/model/bigtable_column.ex.
Writing BigtableColumnFamily to clients/big_query/lib/google_api/big_query/v2/model/bigtable_column_family.ex.
Writing BigtableOptions to clients/big_query/lib/google_api/big_query/v2/model/bigtable_options.ex.
Writing BinaryClassificationMetrics to clients/big_query/lib/google_api/big_query/v2/model/binary_classification_metrics.ex.
Writing BinaryConfusionMatrix to clients/big_query/lib/google_api/big_query/v2/model/binary_confusion_matrix.ex.
Writing Binding to clients/big_query/lib/google_api/big_query/v2/model/binding.ex.
Writing BqmlIterationResult to clients/big_query/lib/google_api/big_query/v2/model/bqml_iteration_result.ex.
Writing BqmlTrainingRun to clients/big_query/lib/google_api/big_query/v2/model/bqml_training_run.ex.
Writing BqmlTrainingRunTrainingOptions to clients/big_query/lib/google_api/big_query/v2/model/bqml_training_run_training_options.ex.
Writing CategoricalValue to clients/big_query/lib/google_api/big_query/v2/model/categorical_value.ex.
Writing CategoryCount to clients/big_query/lib/google_api/big_query/v2/model/category_count.ex.
Writing Cluster to clients/big_query/lib/google_api/big_query/v2/model/cluster.ex.
Writing ClusterInfo to clients/big_query/lib/google_api/big_query/v2/model/cluster_info.ex.
Writing Clustering to clients/big_query/lib/google_api/big_query/v2/model/clustering.ex.
Writing ClusteringMetrics to clients/big_query/lib/google_api/big_query/v2/model/clustering_metrics.ex.
Writing ConfusionMatrix to clients/big_query/lib/google_api/big_query/v2/model/confusion_matrix.ex.
Writing ConnectionProperty to clients/big_query/lib/google_api/big_query/v2/model/connection_property.ex.
Writing CsvOptions to clients/big_query/lib/google_api/big_query/v2/model/csv_options.ex.
Writing DataSplitResult to clients/big_query/lib/google_api/big_query/v2/model/data_split_result.ex.
Writing Dataset to clients/big_query/lib/google_api/big_query/v2/model/dataset.ex.
Writing DatasetAccess to clients/big_query/lib/google_api/big_query/v2/model/dataset_access.ex.
Writing DatasetList to clients/big_query/lib/google_api/big_query/v2/model/dataset_list.ex.
Writing DatasetListDatasets to clients/big_query/lib/google_api/big_query/v2/model/dataset_list_datasets.ex.
Writing DatasetReference to clients/big_query/lib/google_api/big_query/v2/model/dataset_reference.ex.
Writing DestinationTableProperties to clients/big_query/lib/google_api/big_query/v2/model/destination_table_properties.ex.
Writing EncryptionConfiguration to clients/big_query/lib/google_api/big_query/v2/model/encryption_configuration.ex.
Writing Entry to clients/big_query/lib/google_api/big_query/v2/model/entry.ex.
Writing ErrorProto to clients/big_query/lib/google_api/big_query/v2/model/error_proto.ex.
Writing EvaluationMetrics to clients/big_query/lib/google_api/big_query/v2/model/evaluation_metrics.ex.
Writing ExplainQueryStage to clients/big_query/lib/google_api/big_query/v2/model/explain_query_stage.ex.
Writing ExplainQueryStep to clients/big_query/lib/google_api/big_query/v2/model/explain_query_step.ex.
Writing Expr to clients/big_query/lib/google_api/big_query/v2/model/expr.ex.
Writing ExternalDataConfiguration to clients/big_query/lib/google_api/big_query/v2/model/external_data_configuration.ex.
Writing FeatureValue to clients/big_query/lib/google_api/big_query/v2/model/feature_value.ex.
Writing GetIamPolicyRequest to clients/big_query/lib/google_api/big_query/v2/model/get_iam_policy_request.ex.
Writing GetPolicyOptions to clients/big_query/lib/google_api/big_query/v2/model/get_policy_options.ex.
Writing GetQueryResultsResponse to clients/big_query/lib/google_api/big_query/v2/model/get_query_results_response.ex.
Writing GetServiceAccountResponse to clients/big_query/lib/google_api/big_query/v2/model/get_service_account_response.ex.
Writing GoogleSheetsOptions to clients/big_query/lib/google_api/big_query/v2/model/google_sheets_options.ex.
Writing HivePartitioningOptions to clients/big_query/lib/google_api/big_query/v2/model/hive_partitioning_options.ex.
Writing IterationResult to clients/big_query/lib/google_api/big_query/v2/model/iteration_result.ex.
Writing Job to clients/big_query/lib/google_api/big_query/v2/model/job.ex.
Writing JobCancelResponse to clients/big_query/lib/google_api/big_query/v2/model/job_cancel_response.ex.
Writing JobConfiguration to clients/big_query/lib/google_api/big_query/v2/model/job_configuration.ex.
Writing JobConfigurationExtract to clients/big_query/lib/google_api/big_query/v2/model/job_configuration_extract.ex.
Writing JobConfigurationLoad to clients/big_query/lib/google_api/big_query/v2/model/job_configuration_load.ex.
Writing JobConfigurationQuery to clients/big_query/lib/google_api/big_query/v2/model/job_configuration_query.ex.
Writing JobConfigurationTableCopy to clients/big_query/lib/google_api/big_query/v2/model/job_configuration_table_copy.ex.
Writing JobList to clients/big_query/lib/google_api/big_query/v2/model/job_list.ex.
Writing JobListJobs to clients/big_query/lib/google_api/big_query/v2/model/job_list_jobs.ex.
Writing JobReference to clients/big_query/lib/google_api/big_query/v2/model/job_reference.ex.
Writing JobStatistics to clients/big_query/lib/google_api/big_query/v2/model/job_statistics.ex.
Writing JobStatistics2 to clients/big_query/lib/google_api/big_query/v2/model/job_statistics2.ex.
Writing JobStatistics2ReservationUsage to clients/big_query/lib/google_api/big_query/v2/model/job_statistics2_reservation_usage.ex.
Writing JobStatistics3 to clients/big_query/lib/google_api/big_query/v2/model/job_statistics3.ex.
Writing JobStatistics4 to clients/big_query/lib/google_api/big_query/v2/model/job_statistics4.ex.
Writing JobStatisticsReservationUsage to clients/big_query/lib/google_api/big_query/v2/model/job_statistics_reservation_usage.ex.
Writing JobStatus to clients/big_query/lib/google_api/big_query/v2/model/job_status.ex.
Writing JsonObject to clients/big_query/lib/google_api/big_query/v2/model/json_object.ex.
Writing ListModelsResponse to clients/big_query/lib/google_api/big_query/v2/model/list_models_response.ex.
Writing ListRoutinesResponse to clients/big_query/lib/google_api/big_query/v2/model/list_routines_response.ex.
Writing LocationMetadata to clients/big_query/lib/google_api/big_query/v2/model/location_metadata.ex.
Writing MaterializedViewDefinition to clients/big_query/lib/google_api/big_query/v2/model/materialized_view_definition.ex.
Writing Model to clients/big_query/lib/google_api/big_query/v2/model/model.ex.
Writing ModelDefinition to clients/big_query/lib/google_api/big_query/v2/model/model_definition.ex.
Writing ModelDefinitionModelOptions to clients/big_query/lib/google_api/big_query/v2/model/model_definition_model_options.ex.
Writing ModelReference to clients/big_query/lib/google_api/big_query/v2/model/model_reference.ex.
Writing MultiClassClassificationMetrics to clients/big_query/lib/google_api/big_query/v2/model/multi_class_classification_metrics.ex.
Writing Policy to clients/big_query/lib/google_api/big_query/v2/model/policy.ex.
Writing ProjectList to clients/big_query/lib/google_api/big_query/v2/model/project_list.ex.
Writing ProjectListProjects to clients/big_query/lib/google_api/big_query/v2/model/project_list_projects.ex.
Writing ProjectReference to clients/big_query/lib/google_api/big_query/v2/model/project_reference.ex.
Writing QueryParameter to clients/big_query/lib/google_api/big_query/v2/model/query_parameter.ex.
Writing QueryParameterType to clients/big_query/lib/google_api/big_query/v2/model/query_parameter_type.ex.
Writing QueryParameterTypeStructTypes to clients/big_query/lib/google_api/big_query/v2/model/query_parameter_type_struct_types.ex.
Writing QueryParameterValue to clients/big_query/lib/google_api/big_query/v2/model/query_parameter_value.ex.
Writing QueryRequest to clients/big_query/lib/google_api/big_query/v2/model/query_request.ex.
Writing QueryResponse to clients/big_query/lib/google_api/big_query/v2/model/query_response.ex.
Writing QueryTimelineSample to clients/big_query/lib/google_api/big_query/v2/model/query_timeline_sample.ex.
Writing RangePartitioning to clients/big_query/lib/google_api/big_query/v2/model/range_partitioning.ex.
Writing RangePartitioningRange to clients/big_query/lib/google_api/big_query/v2/model/range_partitioning_range.ex.
Writing RankingMetrics to clients/big_query/lib/google_api/big_query/v2/model/ranking_metrics.ex.
Writing RegressionMetrics to clients/big_query/lib/google_api/big_query/v2/model/regression_metrics.ex.
Writing Routine to clients/big_query/lib/google_api/big_query/v2/model/routine.ex.
Writing RoutineReference to clients/big_query/lib/google_api/big_query/v2/model/routine_reference.ex.
Writing Row to clients/big_query/lib/google_api/big_query/v2/model/row.ex.
Writing RowAccessPolicyReference to clients/big_query/lib/google_api/big_query/v2/model/row_access_policy_reference.ex.
Writing RowLevelSecurityStatistics to clients/big_query/lib/google_api/big_query/v2/model/row_level_security_statistics.ex.
Writing ScriptStackFrame to clients/big_query/lib/google_api/big_query/v2/model/script_stack_frame.ex.
Writing ScriptStatistics to clients/big_query/lib/google_api/big_query/v2/model/script_statistics.ex.
Writing SetIamPolicyRequest to clients/big_query/lib/google_api/big_query/v2/model/set_iam_policy_request.ex.
Writing StandardSqlDataType to clients/big_query/lib/google_api/big_query/v2/model/standard_sql_data_type.ex.
Writing StandardSqlField to clients/big_query/lib/google_api/big_query/v2/model/standard_sql_field.ex.
Writing StandardSqlStructType to clients/big_query/lib/google_api/big_query/v2/model/standard_sql_struct_type.ex.
Writing Streamingbuffer to clients/big_query/lib/google_api/big_query/v2/model/streamingbuffer.ex.
Writing Table to clients/big_query/lib/google_api/big_query/v2/model/table.ex.
Writing TableCell to clients/big_query/lib/google_api/big_query/v2/model/table_cell.ex.
Writing TableDataInsertAllRequest to clients/big_query/lib/google_api/big_query/v2/model/table_data_insert_all_request.ex.
Writing TableDataInsertAllRequestRows to clients/big_query/lib/google_api/big_query/v2/model/table_data_insert_all_request_rows.ex.
Writing TableDataInsertAllResponse to clients/big_query/lib/google_api/big_query/v2/model/table_data_insert_all_response.ex.
Writing TableDataInsertAllResponseInsertErrors to clients/big_query/lib/google_api/big_query/v2/model/table_data_insert_all_response_insert_errors.ex.
Writing TableDataList to clients/big_query/lib/google_api/big_query/v2/model/table_data_list.ex.
Writing TableFieldSchema to clients/big_query/lib/google_api/big_query/v2/model/table_field_schema.ex.
Writing TableFieldSchemaCategories to clients/big_query/lib/google_api/big_query/v2/model/table_field_schema_categories.ex.
Writing TableFieldSchemaPolicyTags to clients/big_query/lib/google_api/big_query/v2/model/table_field_schema_policy_tags.ex.
Writing TableList to clients/big_query/lib/google_api/big_query/v2/model/table_list.ex.
Writing TableListTables to clients/big_query/lib/google_api/big_query/v2/model/table_list_tables.ex.
Writing TableListTablesView to clients/big_query/lib/google_api/big_query/v2/model/table_list_tables_view.ex.
Writing TableReference to clients/big_query/lib/google_api/big_query/v2/model/table_reference.ex.
Writing TableRow to clients/big_query/lib/google_api/big_query/v2/model/table_row.ex.
Writing TableSchema to clients/big_query/lib/google_api/big_query/v2/model/table_schema.ex.
Writing TestIamPermissionsRequest to clients/big_query/lib/google_api/big_query/v2/model/test_iam_permissions_request.ex.
Writing TestIamPermissionsResponse to clients/big_query/lib/google_api/big_query/v2/model/test_iam_permissions_response.ex.
Writing TimePartitioning to clients/big_query/lib/google_api/big_query/v2/model/time_partitioning.ex.
Writing TrainingOptions to clients/big_query/lib/google_api/big_query/v2/model/training_options.ex.
Writing TrainingRun to clients/big_query/lib/google_api/big_query/v2/model/training_run.ex.
Writing UserDefinedFunctionResource to clients/big_query/lib/google_api/big_query/v2/model/user_defined_function_resource.ex.
Writing ViewDefinition to clients/big_query/lib/google_api/big_query/v2/model/view_definition.ex.
Writing Datasets to clients/big_query/lib/google_api/big_query/v2/api/datasets.ex.
Writing Jobs to clients/big_query/lib/google_api/big_query/v2/api/jobs.ex.
Writing Models to clients/big_query/lib/google_api/big_query/v2/api/models.ex.
Writing Projects to clients/big_query/lib/google_api/big_query/v2/api/projects.ex.
Writing Routines to clients/big_query/lib/google_api/big_query/v2/api/routines.ex.
Writing Tabledata to clients/big_query/lib/google_api/big_query/v2/api/tabledata.ex.
Writing Tables to clients/big_query/lib/google_api/big_query/v2/api/tables.ex.
Writing connection.ex.
Writing metadata.ex.
Writing mix.exs
Writing README.md
Writing LICENSE
Writing .gitignore
Writing config/config.exs
Writing test/test_helper.exs
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.

22:05:23.561 [info]  Bumping minor
fixing file permissions
2020-05-11 15:05:24,320 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/big_query/synth.metadata'
2020-05-11 15:05:24 [ERROR] Synthesis failed
2020-05-11 15:05:24,352 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--', 'BigQuery']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating BigQuery. :sob:
Here's the output from running synth.py:
2020-05-12 05:05:03 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-12 05:05:03,356 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-bigquery'
2020-05-12 05:05:05 [INFO] Running synthtool
2020-05-12 05:05:05,022 autosynth > Running synthtool
2020-05-12 05:05:05 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-12 05:05:05,022 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--']
2020-05-12 05:05:05,241 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-bigquery
nothing to commit, working tree clean
2020-05-12 05:05:05,560 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-12 05:05:06,069 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh BigQuery
/workspace /workspace
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  certifi 2.5.1
  google_api_discovery 0.7.0
  google_gax 0.3.2
  hackney 1.15.2
  idna 6.0.0
  jason 1.2.0
  metrics 1.0.1
  mime 1.3.1
  mimerl 1.2.0
  oauth2 0.9.4
  parse_trans 3.3.0
  poison 3.1.0
  ssl_verify_fun 1.1.5
  temp 0.4.7
  tesla 1.3.3
  unicode_util_compat 0.4.1
A new Hex version is available (0.20.1 < 0.20.5), please update with `mix local.hex`
All dependencies are up to date
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.

12:05:08.581 [info]  FETCHING: https://www.googleapis.com/discovery/v1/apis/bigquery/v2/rest

12:05:08.761 [info]  FOUND: https://www.googleapis.com/discovery/v1/apis/bigquery/v2/rest
Revision check: old=20200419, new=20200429, generating=true
Creating leading directories
Writing AggregateClassificationMetrics to clients/big_query/lib/google_api/big_query/v2/model/aggregate_classification_metrics.ex.
Writing Argument to clients/big_query/lib/google_api/big_query/v2/model/argument.ex.
Writing ArimaCoefficients to clients/big_query/lib/google_api/big_query/v2/model/arima_coefficients.ex.
Writing ArimaFittingMetrics to clients/big_query/lib/google_api/big_query/v2/model/arima_fitting_metrics.ex.
Writing ArimaModelInfo to clients/big_query/lib/google_api/big_query/v2/model/arima_model_info.ex.
Writing ArimaOrder to clients/big_query/lib/google_api/big_query/v2/model/arima_order.ex.
Writing ArimaResult to clients/big_query/lib/google_api/big_query/v2/model/arima_result.ex.
Writing AuditConfig to clients/big_query/lib/google_api/big_query/v2/model/audit_config.ex.
Writing AuditLogConfig to clients/big_query/lib/google_api/big_query/v2/model/audit_log_config.ex.
Writing BigQueryModelTraining to clients/big_query/lib/google_api/big_query/v2/model/big_query_model_training.ex.
Writing BigtableColumn to clients/big_query/lib/google_api/big_query/v2/model/bigtable_column.ex.
Writing BigtableColumnFamily to clients/big_query/lib/google_api/big_query/v2/model/bigtable_column_family.ex.
Writing BigtableOptions to clients/big_query/lib/google_api/big_query/v2/model/bigtable_options.ex.
Writing BinaryClassificationMetrics to clients/big_query/lib/google_api/big_query/v2/model/binary_classification_metrics.ex.
Writing BinaryConfusionMatrix to clients/big_query/lib/google_api/big_query/v2/model/binary_confusion_matrix.ex.
Writing Binding to clients/big_query/lib/google_api/big_query/v2/model/binding.ex.
Writing BqmlIterationResult to clients/big_query/lib/google_api/big_query/v2/model/bqml_iteration_result.ex.
Writing BqmlTrainingRun to clients/big_query/lib/google_api/big_query/v2/model/bqml_training_run.ex.
Writing BqmlTrainingRunTrainingOptions to clients/big_query/lib/google_api/big_query/v2/model/bqml_training_run_training_options.ex.
Writing CategoricalValue to clients/big_query/lib/google_api/big_query/v2/model/categorical_value.ex.
Writing CategoryCount to clients/big_query/lib/google_api/big_query/v2/model/category_count.ex.
Writing Cluster to clients/big_query/lib/google_api/big_query/v2/model/cluster.ex.
Writing ClusterInfo to clients/big_query/lib/google_api/big_query/v2/model/cluster_info.ex.
Writing Clustering to clients/big_query/lib/google_api/big_query/v2/model/clustering.ex.
Writing ClusteringMetrics to clients/big_query/lib/google_api/big_query/v2/model/clustering_metrics.ex.
Writing ConfusionMatrix to clients/big_query/lib/google_api/big_query/v2/model/confusion_matrix.ex.
Writing ConnectionProperty to clients/big_query/lib/google_api/big_query/v2/model/connection_property.ex.
Writing CsvOptions to clients/big_query/lib/google_api/big_query/v2/model/csv_options.ex.
Writing DataSplitResult to clients/big_query/lib/google_api/big_query/v2/model/data_split_result.ex.
Writing Dataset to clients/big_query/lib/google_api/big_query/v2/model/dataset.ex.
Writing DatasetAccess to clients/big_query/lib/google_api/big_query/v2/model/dataset_access.ex.
Writing DatasetList to clients/big_query/lib/google_api/big_query/v2/model/dataset_list.ex.
Writing DatasetListDatasets to clients/big_query/lib/google_api/big_query/v2/model/dataset_list_datasets.ex.
Writing DatasetReference to clients/big_query/lib/google_api/big_query/v2/model/dataset_reference.ex.
Writing DestinationTableProperties to clients/big_query/lib/google_api/big_query/v2/model/destination_table_properties.ex.
Writing EncryptionConfiguration to clients/big_query/lib/google_api/big_query/v2/model/encryption_configuration.ex.
Writing Entry to clients/big_query/lib/google_api/big_query/v2/model/entry.ex.
Writing ErrorProto to clients/big_query/lib/google_api/big_query/v2/model/error_proto.ex.
Writing EvaluationMetrics to clients/big_query/lib/google_api/big_query/v2/model/evaluation_metrics.ex.
Writing ExplainQueryStage to clients/big_query/lib/google_api/big_query/v2/model/explain_query_stage.ex.
Writing ExplainQueryStep to clients/big_query/lib/google_api/big_query/v2/model/explain_query_step.ex.
Writing Expr to clients/big_query/lib/google_api/big_query/v2/model/expr.ex.
Writing ExternalDataConfiguration to clients/big_query/lib/google_api/big_query/v2/model/external_data_configuration.ex.
Writing FeatureValue to clients/big_query/lib/google_api/big_query/v2/model/feature_value.ex.
Writing GetIamPolicyRequest to clients/big_query/lib/google_api/big_query/v2/model/get_iam_policy_request.ex.
Writing GetPolicyOptions to clients/big_query/lib/google_api/big_query/v2/model/get_policy_options.ex.
Writing GetQueryResultsResponse to clients/big_query/lib/google_api/big_query/v2/model/get_query_results_response.ex.
Writing GetServiceAccountResponse to clients/big_query/lib/google_api/big_query/v2/model/get_service_account_response.ex.
Writing GoogleSheetsOptions to clients/big_query/lib/google_api/big_query/v2/model/google_sheets_options.ex.
Writing HivePartitioningOptions to clients/big_query/lib/google_api/big_query/v2/model/hive_partitioning_options.ex.
Writing IterationResult to clients/big_query/lib/google_api/big_query/v2/model/iteration_result.ex.
Writing Job to clients/big_query/lib/google_api/big_query/v2/model/job.ex.
Writing JobCancelResponse to clients/big_query/lib/google_api/big_query/v2/model/job_cancel_response.ex.
Writing JobConfiguration to clients/big_query/lib/google_api/big_query/v2/model/job_configuration.ex.
Writing JobConfigurationExtract to clients/big_query/lib/google_api/big_query/v2/model/job_configuration_extract.ex.
Writing JobConfigurationLoad to clients/big_query/lib/google_api/big_query/v2/model/job_configuration_load.ex.
Writing JobConfigurationQuery to clients/big_query/lib/google_api/big_query/v2/model/job_configuration_query.ex.
Writing JobConfigurationTableCopy to clients/big_query/lib/google_api/big_query/v2/model/job_configuration_table_copy.ex.
Writing JobList to clients/big_query/lib/google_api/big_query/v2/model/job_list.ex.
Writing JobListJobs to clients/big_query/lib/google_api/big_query/v2/model/job_list_jobs.ex.
Writing JobReference to clients/big_query/lib/google_api/big_query/v2/model/job_reference.ex.
Writing JobStatistics to clients/big_query/lib/google_api/big_query/v2/model/job_statistics.ex.
Writing JobStatistics2 to clients/big_query/lib/google_api/big_query/v2/model/job_statistics2.ex.
Writing JobStatistics2ReservationUsage to clients/big_query/lib/google_api/big_query/v2/model/job_statistics2_reservation_usage.ex.
Writing JobStatistics3 to clients/big_query/lib/google_api/big_query/v2/model/job_statistics3.ex.
Writing JobStatistics4 to clients/big_query/lib/google_api/big_query/v2/model/job_statistics4.ex.
Writing JobStatisticsReservationUsage to clients/big_query/lib/google_api/big_query/v2/model/job_statistics_reservation_usage.ex.
Writing JobStatus to clients/big_query/lib/google_api/big_query/v2/model/job_status.ex.
Writing JsonObject to clients/big_query/lib/google_api/big_query/v2/model/json_object.ex.
Writing ListModelsResponse to clients/big_query/lib/google_api/big_query/v2/model/list_models_response.ex.
Writing ListRoutinesResponse to clients/big_query/lib/google_api/big_query/v2/model/list_routines_response.ex.
Writing LocationMetadata to clients/big_query/lib/google_api/big_query/v2/model/location_metadata.ex.
Writing MaterializedViewDefinition to clients/big_query/lib/google_api/big_query/v2/model/materialized_view_definition.ex.
Writing Model to clients/big_query/lib/google_api/big_query/v2/model/model.ex.
Writing ModelDefinition to clients/big_query/lib/google_api/big_query/v2/model/model_definition.ex.
Writing ModelDefinitionModelOptions to clients/big_query/lib/google_api/big_query/v2/model/model_definition_model_options.ex.
Writing ModelReference to clients/big_query/lib/google_api/big_query/v2/model/model_reference.ex.
Writing MultiClassClassificationMetrics to clients/big_query/lib/google_api/big_query/v2/model/multi_class_classification_metrics.ex.
Writing Policy to clients/big_query/lib/google_api/big_query/v2/model/policy.ex.
Writing ProjectList to clients/big_query/lib/google_api/big_query/v2/model/project_list.ex.
Writing ProjectListProjects to clients/big_query/lib/google_api/big_query/v2/model/project_list_projects.ex.
Writing ProjectReference to clients/big_query/lib/google_api/big_query/v2/model/project_reference.ex.
Writing QueryParameter to clients/big_query/lib/google_api/big_query/v2/model/query_parameter.ex.
Writing QueryParameterType to clients/big_query/lib/google_api/big_query/v2/model/query_parameter_type.ex.
Writing QueryParameterTypeStructTypes to clients/big_query/lib/google_api/big_query/v2/model/query_parameter_type_struct_types.ex.
Writing QueryParameterValue to clients/big_query/lib/google_api/big_query/v2/model/query_parameter_value.ex.
Writing QueryRequest to clients/big_query/lib/google_api/big_query/v2/model/query_request.ex.
Writing QueryResponse to clients/big_query/lib/google_api/big_query/v2/model/query_response.ex.
Writing QueryTimelineSample to clients/big_query/lib/google_api/big_query/v2/model/query_timeline_sample.ex.
Writing RangePartitioning to clients/big_query/lib/google_api/big_query/v2/model/range_partitioning.ex.
Writing RangePartitioningRange to clients/big_query/lib/google_api/big_query/v2/model/range_partitioning_range.ex.
Writing RankingMetrics to clients/big_query/lib/google_api/big_query/v2/model/ranking_metrics.ex.
Writing RegressionMetrics to clients/big_query/lib/google_api/big_query/v2/model/regression_metrics.ex.
Writing Routine to clients/big_query/lib/google_api/big_query/v2/model/routine.ex.
Writing RoutineReference to clients/big_query/lib/google_api/big_query/v2/model/routine_reference.ex.
Writing Row to clients/big_query/lib/google_api/big_query/v2/model/row.ex.
Writing RowAccessPolicyReference to clients/big_query/lib/google_api/big_query/v2/model/row_access_policy_reference.ex.
Writing RowLevelSecurityStatistics to clients/big_query/lib/google_api/big_query/v2/model/row_level_security_statistics.ex.
Writing ScriptStackFrame to clients/big_query/lib/google_api/big_query/v2/model/script_stack_frame.ex.
Writing ScriptStatistics to clients/big_query/lib/google_api/big_query/v2/model/script_statistics.ex.
Writing SetIamPolicyRequest to clients/big_query/lib/google_api/big_query/v2/model/set_iam_policy_request.ex.
Writing StandardSqlDataType to clients/big_query/lib/google_api/big_query/v2/model/standard_sql_data_type.ex.
Writing StandardSqlField to clients/big_query/lib/google_api/big_query/v2/model/standard_sql_field.ex.
Writing StandardSqlStructType to clients/big_query/lib/google_api/big_query/v2/model/standard_sql_struct_type.ex.
Writing Streamingbuffer to clients/big_query/lib/google_api/big_query/v2/model/streamingbuffer.ex.
Writing Table to clients/big_query/lib/google_api/big_query/v2/model/table.ex.
Writing TableCell to clients/big_query/lib/google_api/big_query/v2/model/table_cell.ex.
Writing TableDataInsertAllRequest to clients/big_query/lib/google_api/big_query/v2/model/table_data_insert_all_request.ex.
Writing TableDataInsertAllRequestRows to clients/big_query/lib/google_api/big_query/v2/model/table_data_insert_all_request_rows.ex.
Writing TableDataInsertAllResponse to clients/big_query/lib/google_api/big_query/v2/model/table_data_insert_all_response.ex.
Writing TableDataInsertAllResponseInsertErrors to clients/big_query/lib/google_api/big_query/v2/model/table_data_insert_all_response_insert_errors.ex.
Writing TableDataList to clients/big_query/lib/google_api/big_query/v2/model/table_data_list.ex.
Writing TableFieldSchema to clients/big_query/lib/google_api/big_query/v2/model/table_field_schema.ex.
Writing TableFieldSchemaCategories to clients/big_query/lib/google_api/big_query/v2/model/table_field_schema_categories.ex.
Writing TableFieldSchemaPolicyTags to clients/big_query/lib/google_api/big_query/v2/model/table_field_schema_policy_tags.ex.
Writing TableList to clients/big_query/lib/google_api/big_query/v2/model/table_list.ex.
Writing TableListTables to clients/big_query/lib/google_api/big_query/v2/model/table_list_tables.ex.
Writing TableListTablesView to clients/big_query/lib/google_api/big_query/v2/model/table_list_tables_view.ex.
Writing TableReference to clients/big_query/lib/google_api/big_query/v2/model/table_reference.ex.
Writing TableRow to clients/big_query/lib/google_api/big_query/v2/model/table_row.ex.
Writing TableSchema to clients/big_query/lib/google_api/big_query/v2/model/table_schema.ex.
Writing TestIamPermissionsRequest to clients/big_query/lib/google_api/big_query/v2/model/test_iam_permissions_request.ex.
Writing TestIamPermissionsResponse to clients/big_query/lib/google_api/big_query/v2/model/test_iam_permissions_response.ex.
Writing TimePartitioning to clients/big_query/lib/google_api/big_query/v2/model/time_partitioning.ex.
Writing TrainingOptions to clients/big_query/lib/google_api/big_query/v2/model/training_options.ex.
Writing TrainingRun to clients/big_query/lib/google_api/big_query/v2/model/training_run.ex.
Writing UserDefinedFunctionResource to clients/big_query/lib/google_api/big_query/v2/model/user_defined_function_resource.ex.
Writing ViewDefinition to clients/big_query/lib/google_api/big_query/v2/model/view_definition.ex.
Writing Datasets to clients/big_query/lib/google_api/big_query/v2/api/datasets.ex.
Writing Jobs to clients/big_query/lib/google_api/big_query/v2/api/jobs.ex.
Writing Models to clients/big_query/lib/google_api/big_query/v2/api/models.ex.
Writing Projects to clients/big_query/lib/google_api/big_query/v2/api/projects.ex.
Writing Routines to clients/big_query/lib/google_api/big_query/v2/api/routines.ex.
Writing Tabledata to clients/big_query/lib/google_api/big_query/v2/api/tabledata.ex.
Writing Tables to clients/big_query/lib/google_api/big_query/v2/api/tables.ex.
Writing connection.ex.
Writing metadata.ex.
Writing mix.exs
Writing README.md
Writing LICENSE
Writing .gitignore
Writing config/config.exs
Writing test/test_helper.exs
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.

12:05:10.287 [info]  Bumping minor
fixing file permissions
2020-05-12 05:05:11,052 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/big_query/synth.metadata'
2020-05-12 05:05:11 [ERROR] Synthesis failed
2020-05-12 05:05:11,086 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/big_query/synth.metadata', 'synth.py', '--', 'BigQuery']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Migrate to KSP

KSP replace Kapt and it has better build time performance.
Next version of moshi won't support anymore kapt.

We removed moshi from the dependencies. So no more relevant.


zlib-ng: 2.1.4 -> 2.1.5

Changes: https://github.com/zlib-ng/zlib-ng/releases/tag/2.1.5
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 270567 run on x86_64-linux 1

15 packages built:

devpi-client
devpi-client.dist
devpi-server
devpi-server.dist
nginx
nginx.doc
nginxMainline
nginxMainline.doc
nginxQuic
nginxQuic.doc
nginxShibboleth
nginxShibboleth.doc
zlib-ng
zlib-ng.bin
zlib-ng.dev


Is there a way to get the inline styles of current selection?

Do you want to request a feature or report a bug?
feature
What is the current behavior?
I haven't seen a way to get the styles of the current selection
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar.
What is the expected behavior?
Show me a list of the styles from the editorState current selection
Which versions of Draft.js, and which browser / OS are affected by this issue? Did this work in previous versions of Draft.js?

With current selection you can get startKey, endKey . Base on those keys, you can get all blocks in that selection.
With each block, you  can use getCharacterList function to get all character in that block . Then with each character, use getStyle it will return style for you
Concat all of them, you can get style of current selection
Example code
block.getCharacterList().reduce( (styles,c) => styles.union(c.getStyle()), Immutable.OrderedSet() )
Hope it will help you

To anyone coming here from google - there does exist a built in getter method called getCurrentInlineStyle on the editorState object.
So if you for example want to know if the current selection is "BOLD" you could do this:
const { editorState } = this.state;
const inlineStyle = editorState.getCurrentInlineStyle();
const isBold = inlineStyle.has("BOLD");

I hope that helps someone!

@palamccc couldnt you get the focus first and pass it into the getCurrentInlineStyle() function?
const currentFocus = editor.getSelection().getFocusKey()
    const inlineStyle = editor.getCurrentInlineStyle(currentFocus);
    const isBold = inlineStyle.has("BOLD")

@promerorgz, thanks for the comment, we have moved our project to https://github.com/ianstormtaylor/slate I can't confirm whether your solution works or now.

@promerorgz worked like a charm, thanks!

If someone always search for get all the inline styles :
const selection 	= editorState.getSelection();
const contentState	= editorState.getCurrentContent();
const styles		= new Set<string>();
if (selection.isCollapsed()) editorState.getCurrentInlineStyle().forEach(style => style && styles.add(style));
else
{
	let 	key		= selection.getStartKey();
	let	startOffset	= selection.getStartOffset();
	const	endKey		= selection.getEndKey();
	const	endOffset	= selection.getEndOffset();
	while(true)
	{
		const lastRound		= (key == endKey);
		const block		= contentState.getBlockForKey(key);
		const offsetEnd		= lastRound ? endOffset : block.getLength();
		const characterList	= block.getCharacterList();
		for(let offsetIndex=startOffset; offsetIndex<offsetEnd; offsetIndex++)
			characterList.get(offsetIndex).getStyle().forEach(style => style && styles.add(style));
		if (lastRound) break;
		key		= contentState.getKeyAfter(key);
		startOffset	= 0;
	}
}


can not resolve core

Hi
when I add Butterknife 10.1.0 gradle sync fails: the error is:
can not resolve androidx.core:core:1.0.0
when I remove butterknife everything is back to normal
I'm on AndroidX, Jetifier is enabled
I just checked that the latest release on the core Lib is 1.1.0-alpha5
I really don't know it's me or butterknife
here is the Project
and the dependencies file

Do you have the google() repository in your list of repositories?
On Mon, Apr 22, 2019 at 12:52 AM worldsnas<EMAIL_ADDRESS>wrote:

when I add Butterknife 10.1.0 gradle sync fails: the error is:
can not resolve androidx.core:core:1.0.0
when I remove butterknife everything is back to normal
I'm on AndroidX, Jetifier is enabled
I just checked that the latest release on the core Lib is 1.1.0-alpha5
I really don't know it's me or butterknife
here is the Project
https://github.com/worldsnas/AIO/blob/f69e79a1d31091180c9341b2e7e26933dabff1b7/base/build.gradle#L28
and the dependencies file
https://github.com/worldsnas/AIO/blob/f69e79a1d31091180c9341b2e7e26933dabff1b7/dependencies.gradle#L213
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/JakeWharton/butterknife/issues/1501, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAAQIEK2NDF2X7PJ3RRUDXLPRVABHANCNFSM4HHNMKTA
.

use androidx

Do you have the google() repository in your list of repositories?
…
On Mon, Apr 22, 2019 at 12:52 AM worldsnas @.***> wrote: when I add Butterknife 10.1.0 gradle sync fails: the error is: can not resolve androidx.core:core:1.0.0 when I remove butterknife everything is back to normal I'm on AndroidX, Jetifier is enabled I just checked that the latest release on the core Lib is 1.1.0-alpha5 I really don't know it's me or butterknife here is the Project https://github.com/worldsnas/AIO/blob/f69e79a1d31091180c9341b2e7e26933dabff1b7/base/build.gradle#L28 and the dependencies file https://github.com/worldsnas/AIO/blob/f69e79a1d31091180c9341b2e7e26933dabff1b7/dependencies.gradle#L213 — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#1501>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAQIEK2NDF2X7PJ3RRUDXLPRVABHANCNFSM4HHNMKTA .

Yeah, here it is: Link and Here

use androidx

I'm already using

by removing the .gradle file it's magically fixed.
thanks anyway


Rewrite with continuable

Implementing ability to use rangelists with the api.
Use start= and end= in the list call.
Implementing RangedList
Implementing range
Update to tests
Rewrite without  rangeOptions, rangeKeyValueStore.
Reimplemented range
Fixed tests

I will take a look soon


Allow the use of multiple databases

Right now, this library does not support saving historical to a database separate from its operational model. This PR allows the historical record to be saved to the same db as the historical record table.
Description

Save historical record to the database associated with the historical record table by passing in the db alias contained in the historical instance.

Motivation and Context
As of now, the historical records are created using the database associated with the operational model being tracked, not the database associated with the historical table. That means if the operational model is in a separate database, the library attempts to look up the historical table in the operational database, and subsequently fails.
How Has This Been Tested?
I'll add tests if the community approves of the change. It will require mocking a separate database which, while possible, is time consuming.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have run the make format command to format my code
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] I have added my name and/or github handle to AUTHORS.rst
[ ] I have added my change to CHANGES.rst
[ ] All new and existing tests passed.

@dopatraman thanks for this. Where is instance.history.db populated? Not entirely sure how your implementation would work, but open to having a solution here. You're saying that, at the moment, dsh supports multiple databases, but not having the base model and history model in separate databases, correct? Unsure why we wouldn't be able to accomplish that with routers.

@rossmechanic no prob, happy to contribute!

You're saying that, at the moment, dsh supports multiple databases, but not having the base model and history model in separate databases, correct?

Correct. Using a router crossed my mind, but it looks like argument passed to post_save is ultimately the decider of where the record goes. I tried to dig for the source of the using argument (declared in models.py, line 416) -- what I found was that it is coming from somewhere in Django core.
I found that if a database router sends a historical table to a separate database, the db property of the instance's HistoryManager was set to that separate database. If I had to guess, I'd say that the db property of instance.history is likely set when django runs the migration for the operational model.
I'm open to a better way to do this. But short of hacking Django core, this seemed like the best option.
Thanks!

To me, that's a bug. Ideally, history check for it's db in the following order:

history's own using parameter
Router's db for history
base table's db

Right now, it seems that the history table only accept its base table's db, overruling anything else. I'd want the solution to include options 1 and 2 without breaking anything for current users (we can then deprecate if necessary before DSH3). instance.history.db sounds too magical to me without knowing how exactly it's set. If it's set by the router, the solution looks fine to me, but i'd also like to add a using parameter to HistoricalRecords and have a proper hierarchy here. What do you think? @ThePumpingLemma @kseever

@rossmechanic

i'd also like to add a using parameter to HistoricalRecords and have a proper hierarchy here.

I like this solution. Let's see if it's possible.
Side note, I'm unable to run the test and format tasks.

Don't think anyone should be using post_save as it's part of dsh's internal api. the hooks the are documented and are public api are pre_create_historical_record and post_create_historical_record, so I just think you pass the database that's actually being used for the historical record into those hooks

Why can't you test or format?

@rossmechanic ok, I've updated the code.
FWIW, I'm not 100% happy with how I've written this because the root of the problem seems to be coming from Django itself. Do you know if there is a way to override whatever is passing using to the hook?

Codecov Report

Merging #539 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #539      +/-   ##
==========================================
+ Coverage   97.71%   97.71%   +<.01%
==========================================
  Files          17       17
  Lines         830      831       +1
  Branches      114      114
==========================================
+ Hits          811      812       +1
  Misses          8        8
  Partials       11       11

Impacted Files
Coverage Δ

simple_history/models.py
98.96% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2e7d9d3...951197f. Read the comment docs.

This is my output for make test:
__________________________________________________________ summary __________________________________________________________
  py27-django111: commands succeeded
ERROR:  py34-django111: InterpreterNotFound: python3.4
ERROR:  py35-django111: InterpreterNotFound: python3.5
ERROR:  py36-django111: InterpreterNotFound: python3.6
  py37-django111: commands succeeded
ERROR:  py34-django20: InterpreterNotFound: python3.4
ERROR:  py35-django20: InterpreterNotFound: python3.5
ERROR:  py36-django20: InterpreterNotFound: python3.6
  py37-django20: commands succeeded
ERROR:  py35-django21: InterpreterNotFound: python3.5
ERROR:  py36-django21: InterpreterNotFound: python3.6
  py37-django21: commands succeeded
ERROR:  py35-djangotrunk: InterpreterNotFound: python3.5
ERROR:  py36-djangotrunk: InterpreterNotFound: python3.6
ERROR:   py37-djangotrunk: commands failed
  docs: commands succeeded
  flake8: commands succeeded
make: *** [test] Error 1

This strikes me as strange since, IIRC, tox should run tests across all of the missing environments. @rossmechanic

@dopatraman you need to install pyenv and then install all of the different versions of python using pyenv. Tox can't do anything if the interpreter doesn't exist locally. If that's not in the contributing docs, feel free to add it

@rossmechanic great, that did the trick.
I'm in a bit of a quandary re: code climate style issues. The complaint is that a function should not have greater than X parameters. Unfortunately, we need to pass an extra argument to HistoricalRecords to ensure the log creation happens on the right database. There is probably a way to accomplish this by refactoring the code, but I think that's outside the purview of this pull request...
Is it possible to relax the rules regarding parameter count for this feature?

@dopatraman yep I can override the codeclimate issue to merge. DWAI. I'll look into this pr more closely this weekend and get any last feedback before merging

@rossmechanic any progress on reviewing the PR?

@dopatraman it doesn't currently respect routers. Ideally we could have a router as the fallback rather than the base model's history. You see any way to do that?

Not sure I understand what you mean by having the router as a fallback?

@dopatraman so ideally, we have:

history's own using parameter
Router's db for history
base table's db

Right now, this PR only respects 1 and 3, but if the router were to send these historical tables elsewhere, it wouldn't work. Not sure how to fix this though. Need to look more deeply into it

Sorry, I'm not sure I follow. In theory, the user of this library would have their own router that sends the historical tables to some database. All that matters is that future records are saved to the same database, right?
@rossmechanic

Right now that router wouldn't work tho, right? Since the router_db will be overruled by the base table's db? Or if I specify in the router that all models starting with historical in their model name should be written to db2 that would work?

The db router would have to route the historical tables to the desired database. The router could do this any number of ways, for instance:
class DbRouter(object):
    ...
    def allow_migrate(self, db, app_label, model_name=None, **hints):
        # Check audit
        elif self._is_history_db(db, app_label, model_name):
            return True
        # default to True
        elif self._is_default_db(db, model_name, hints):
            return True
        else:
            return False

The implementation of these routing methods is up to the developer.
If your concern is about automating this type of configuration, it may worth looking into, but I wonder if it is within the scope of this pull request. Users of this library may want to organize their historical tables any number of ways -- as of now they have the freedom to write a db router class that meets their specifications without having the library impose something onto them.

My concern was that the using parameter that the base table passes to the historical table overrides the router. Such that historical tables will always either follow their own using parameter or the using parameter of the base table, but never the router itself. Is that not what you saw when you first created this PR?

I see... to my knowledge the historical tables were never using the using parameter of the router. I'm not actually sure where the router's using parameter enters the scene, if at all. To my knowledge the only aspect of the router's configuration that is present on the historical model is hidden in a _db attribute.
The reason for this pull request was to force an override of the default using parameter. I was under the impression that should a developer choose to supply the using parameter to the HistoricalRecords constructor, their intention would be to explicitly override the default (I was in this situation before making the PR).

There is no using parameter of the router. But if the historical model doesn't have a using parameter, it should rely on the router. The router currently cannot pick what database the historical tables are written to, which I know is outside of the scope of this PR, but touches same part of code and was hoping that we could role that into this. Not exactly sure how we would do that though, so I may accept this as is. Just need to spend some time looking into it to make sure we can't solve both problems at the same time.

Regardless, can you add docs and tests?

re: docs and tests, will do.
re: router fall back I see what you're saying now. In theory we could capture the router's context when the migrations are run, and then compare the context to the inputs passed to create_historical_model. So, if a user creates a record on a table associated with another database but does not explicitly pass in the using param, we could fall back to the router context.
I'd be in favor of merging this in first and attempting the latter afterwards. I'd be happy to help build it out 😄

Great. Add the docs and tests and I'll do another pass through. I agree it should be another PR, but didn't want to do anything here that made that second PR more difficult to implement. Thanks for your help!

Yea, happy with this PR. Add docs and tests and I'll merge 👍

re: tests, I'm not able  to find where we run migrations on the test databases. The TestDbRouter does not appear to be used by anything...

Hey @dopatraman. Docs look good. Check out these tests: https://github.com/treyhunner/django-simple-history/blob/9deb217ca38e3da324e7cfdb2d72f9e783f3d52d/simple_history/tests/tests/test_models.py#L1351-L1415 for a use of that router

@rossmechanic
So, I've added the database settings override decorator:
@override_settings(**database_router_override_settings)
class UsingSeparateDatabaseTestCase(TestCase):

and also declared my model as a part of the 'other' database:
class ModelWithHistoryInDifferentDb(models.Model):
    name = models.CharField(max_length=30)
    history = HistoricalRecords(using="other")

But still, it looks like the test db router is not a part of the call chain. Specifically, I'm not able to run the allow_migrate() method:
def allow_migrate(self, db, app_label, model_name=None, **hints):
        print('db:', db)
        print('model_name:', model_name)

Thoughts on how to proceed?

@rossmechanic
Given that this changeset is rather simple and I cannot get the test runner to work properly, can we merge the PR in?

Would really prefer to have it tested. My guess is you likely have to set the test case to multi_db=True

@rossmechanic
I agree with you and would also prefer to have tests. As far as I can tell I've followed the conventions in place to run tests across multiple databases, but can't get the tests to work as expected. I'm happy to work with you to get the tests where they need to be, but right now I'm not sure how to proceed.
I'm hoping you or someone else on the project can offer some advice?
Here's what I've done so far:

Apply the override_settings decorator to the database router settings
Set multi_db=True on the TestCase class
Set db_name='other' on the TestCase class
Create a model on the other database

These steps don't appear to actually create a model on the other database. Even more perplexing is that it does not seem like the TestDbRouter methods are getting called at all.

@rossmechanic thoughts?

@dopatraman going to try to fix the tests and get back to you

I've manage to fix the tests. My model needed an attribute called app_label set to "external":
class ModelWithHistoryInDifferentDb(models.Model):
    name = models.CharField(max_length=30)
    history = HistoricalRecords(using="other")

    class Meta:
        app_label = "external"

I'll update the docs to include this.

@rossmechanic I think we're set to merge... unless you have any comments?

@rossmechanic
As mentioned in the reply above, I don't think we can hook into the router without modifying django core. Since I'm on a bit of a time crunch and this changeset does not break anything that already exists, would it be possible to merge and address the inherit_db argument in a later refactor?

@dopatraman what I'm saying is more along the lines of this:
Pass a parameter to HistoricalRecords called use_base_table_db=True. Then add this check to both of the create_historical_record calls, such that the one on create would look like this:
self.create_historical_record(instance, created and "+" or "-", using=using if self.use_base_table_db else None). With that, if you pass use_base_table_db=False to HistoricalRecords, then the historical model will rely on router logic rather than the base table. Would that solve your problem? If so, I'm happy to implement it right now or let you implement it.

@rossmechanic
I don't believe this would have the desired effect because using is coming from django core, and will only be the database of the operational table.
For illustration purposes -- suppose we have an operational model and its associated historical model. By the time create_historical_record is called, using will be set to 'default'. Should self.user_base_table_db be set to True, the historical table will be tied to the operational table (default). On the off case that self.use_base_table_db is set to False, it will be even worse because using will be passed into the creation function as None.
TLDR, without the using parameter, the historical record can either be tied only to the operational table, or not exist at all.
I don't know how we can get around forcing a table parameter on the historical record without modifying django core, which I think is outside the scope of this PR.

@dopatraman If you look at https://github.com/treyhunner/django-simple-history/blob/6b113e3e90f2405a2d9a9479bdf91afc0e695ab0/simple_history/models.py#L477 , that's where the instance is saved. If we pass using=None to create_historical_record, then that will be called with history_instance.save(using=None).
Now, if you look at what the save call is actually doing, https://github.com/django/django/blob/master/django/db/models/base.py#L663, it's default is using=None, so it's fine for us to pass using=None to create_historical_record. In fact, if the save call is passed using=None, then the save call defers to the router to figure out which database to use:
https://github.com/django/django/blob/master/django/db/models/base.py#L700
Thus, the method described above should defer to routers. Essentially, I think we made a mistake by merging #507, but adding this flag would allow us to go back to a state where historical models can be completely controlled by routers.

@rossmechanic
I'm still not sure I understand the interface. What does base_table refer to here? If we say that a HistoricalRecords constructor has use_base_table_db set to True, what does that mean in the context of the history and its associated operational table?
From what I gather, if use_base_table_db defaults to true, we want the history to be saved to the operational database by default. If it is false, it goes to the table defined by the router. Is that correct?

@dopatraman ‘use_base_table_db’ (actually let’s call it use_base_model_db) would mean whether or not we always use the base model’s DB. When I say base model, I mean MyModel as opposed to HistoricalMyModel.  The reason we want use_base_model_db to default to True is to keep this backward compatible, wed likely change the default in the next major version

@rossmechanic
It looks like the TestDbRouter still does not migrate the models properly. I am not clear on how the migrations happen -- I am not able to hit breakpoints or log statements in the allow_migrate method.

@rossmechanic
I've done my best to repair the tests and refactor. Tell me what you think.

Fixed the tests for you in this branch https://github.com/treyhunner/django-simple-history/tree/using-separate-db. You can copy them over from there. You've put a lot of work into this PR so I want your version to be the one merged.
Essentially just added another router particularly for this test case. Migrations are difficult to test so we don't have to worry about them, but the tests do test that the base model and history model are read and written to the correct (separate) dbs. For the record, migrations are run before the test suite which is why they're hard to test. If you copy those tests over and update the docs, I'm happy to merge

@rossmechanic
Thank you for the assist. I like your solution -- a separate router for the override is a clean way to test.
I've cherry-picked your changes onto this branch. It seemed quicker and I'm happy to share the credit. The tests are passing now... if you're ready, let's merge!

@dopatraman Looks good to me! Just need to update the docs and I'll merge

@rossmechanic
Looks like we're good to go.

@rossmechanic
Would it be possible to make a patch release with this changeset?


Bugfix: interface transparency causing app logic inconsistencies

Turns out the issue was that the RGB value for the purple that Gorvek's name shows up in the chatbox was slightly miscalibrated. Changing it to the correct value fixed the issue completely for every interface transparency below ~95%, and the rest of the colors I added (all of the colors I could think of that consistently showed up in a chatbox in a Croesus fight) were to make the consistency bulletproof, to the point that I couldn't get it to fail even at 100% interface transparency.
Correct me if I'm wrong, but now that Gorvek's name is consistently recognized, it can be used as the anchor point/guaranteed reference point for state change messages in the fight, so that multi-line splicing business you had going on here is no longer necessary, so I removed it, and reverted back to single-line-based detection. Please feel free to correct me if I'm wrong :)

Heya, thanks for taking the time to look at that function. I haven't had much time to test/play with your changes. It however seems that there is an issue, in my testing all messages seem to come up as undefined. Can you confirm it's working on your end?

I could have sworn I tested it to work, but apparently not, I see the errors too. My apologies, this is the first time I've used Javascript, my monkey brain is still trying to figure it all out. I'm troubleshooting it now.

No worries! I can't say this hasn't happened to me ever before 😂

So it turns out I just don't know how to use for...in loops with arrays in JS. It's fixed now, I tested it (after I was done this time 😂) and it works on my side. Please confirm from your side as well :)

Hey, glad you found the issue . I unfortunately have been quite busy the past few days and will continue to be throughout the week. I'll be testing it out as soon as I get the chance. Thanks!

No problem at all. Let me know if there's anything else I can do to help!

Sorry for the long wait. All seems to be working great now! I approved the merge with some small changes to the readme.


Fix migration between LXD 4.0 and LXD 5.0

lxd: Add refresh arg to MatchTypes
lxd/migration: Handle optimized refresh for older versions

Does this change mean that doing a normal lxc copy without --refresh will now not use optimized transfer?

Does this change mean that doing a normal lxc copy without --refresh will now not use optimized transfer?

I tried this, and it will use optimized transfer if called without --refresh.

@tomponline I'll do some more manual tests, and let you know when the PR is good to go.

jenkins: test this please

How does this fix the original issue BTW?

We check offer.GetRefresh() which includes Refresh being nil. That wasn't done before.


Change the way errors are reported from the server and reflect the UI

Complex changes, need a new set of eyes to check it out

Nice overhaul. @michaltakac maybe you can help review this since you're also very experienced with redux?

@michaltakac can you help reviewing this?

Went through 3/4 so far, so far so good, will finish when I wake up.

I forced a couple of errors, the server seems to be passing the information back to the UI correctly.
However, I think we can improve a little bit the formatting, maybe printing one error per line of bids submitted?


Add HED-CoreML

Holistically-Nested Edge Detection on iOS with CoreML and Swift
https://github.com/s1ddok/HED-CoreML

@s1ddok Could you please create a pull request with your model added instead? Thank you.


Add honor-case-in-force-sorted-sections flag for isort

Hi!
ruff 0.3.4
I am trying to sort imports like ruff check package/module.py --fix-only
from typing import cast
from typing import Union

my config
[tool.ruff.lint]
select = ["I"]

[tool.ruff.lint.isort]
case-sensitive = true
force-single-line = true
force-sort-within-sections = true
order-by-type = false

I get
from typing import Union
from typing import cast

Instead of the file staying the same.
Please add the option from isort
https://pycqa.github.io/isort/docs/configuration/options.html#honor-case-in-force-sorted-sections

@serjflint Does the solution suggested by @samdoran solve your use-case? It does at least for the provided code snippet: https://play.ruff.rs/e90de266-3b0d-44cb-8955-f0c9bfcad5de

I was struggling with this same behavior. Adding order-by-type = false with case-sensitive = false as suggested in this comment is what fixed it for me.

@serjflint Does the solution suggested by @samdoran solve your use-case? It does at least for the provided code snippet: https://play.ruff.rs/e90de266-3b0d-44cb-8955-f0c9bfcad5de

Hi! Yes, it worked for me. Thank you.


[Bug]: out of memory problems

What happened?
I get out of memory errors like this regularly:

What was the expected functionality?
not that :-)
Describe your environment
I'm on Windows 11 Pro, all system updates installed - just playing around with Rivet 1.7.4, which I downloaded and installed today, and I've only done some very basic experiments with some text template nodes and the HTTP call node. I've only run them a few times. Errors like this occur every 20-30 minutes or so.
Relevant log output
No response
Relevant screenshots
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I'm using the default Browser executor, haven't changed any settings (other than OpenAI key) or enabled any plugins.

Duplicate of #278
I'm hoping to add e2e tests using Selenium for Tauri that can reproduce this bug so it can be fixed. I'm thinking it's a listener subscription problem.

Definitely duplicate, yes - I will close this and subscribe to the other issue, thanks. :-)


import zcl reporting

Problem
import zcl reporting
Summary of Changes
Get it to compile and link. Suppress some warnings
fixes #2066

@saurabhst @jelderton @hawk248 Could you take a look please?


Select appropriate structure for storing catalog metadata files

When creating structured metadata from datalad datasets, where these metadata files will be used to render a catalog, we need to take precautions to deal effectively with file-system limitations on 1) single file size and 2) number of files per directory.
The current approach is to split (for a single dataset) dataset-level metadata from file-level metadata. This was mainly done to speed up in-browser catalog rendering, by not having to fetch both dataset-level and file-level metadata initially when navigating to a dataset. Instead, only dataset-level metadata will be fetched at first. File-level metadata can be fetched (currently from a single file) when the user selects the tab to browse the directory tree of the current dataset.
This still leaves the possibility for large file sizes of file-level metadata, e.g. for a dataset with a substantially broad or deeply nested directory tree. To prevent large text files we can break this down even further by create a metadata file per directory tree node. This will also speed up file browsing in the catalog, since the relevant node's children will only be fetched if/once the user selects the node.
To prevent too many files per directory, we can use an approach similar to RIA stores, where the first two or three characters from the filename (in the case of a RIA store, the dataset id) are used to create a subdirectory, and the rest of the filename's characters are used as the actual filename within that subdirectory. This could be done recursively if needed.
This is where I need some input @mih @christian-monch @bpoldrack. I'd like to decide on a RIA-store-like structure that optimises for small file-size, for low amount of files per directory, for future maintenance, and for anything else that's important but which I haven't considered yet.
Example
To give an example, say we have the following dataset:
DLdataset
.
├── subdirA
│   ├── fileA1.txt
│   ├── fileA2.txt
├── subdirB
│   ├── fileB1.txt
│   ├── fileB2.txt
│   ...
│   ...
└── README.md

In datalad catalog this was initially translated into a single json object:
obj: {
   "type": "dataset",
   "name: "DLdataset",
   "dataset_id": "deabeb9b-7a37-4062-a1e0-8fcef7909609",
   "dataset_version": "0321dbde969d2f5d6b533e35b5c5c51ac0b15758"
   ...
   "children": [
      {
         "type": "directory",
         "name": "subdirA",
         "children": [
             {
                 "type": "file",
                 "name": "fileA1.txt",
             },
             {
                 "type": "file",
                 "name": "fileA2.txt",
             }
         ]
      },
      {
         "type": "directory",
         "name": "subdirB",
         "children": [
             {
                 "type": "file",
                 "name": "fileB1.txt",
             },
             {
                 "type": "file",
                 "name": "fileB2.txt",
             }
         ]
      },
      ...
      ...
      {
         "type": "file",
         "name": "README.md",
      }

}

We use an md5sum of the dataset_id concatenated (with a dash) to the dataset_version as the filename, e.g.
filename_dataset_level_info = md5sum(obj[dataset_id] + '-' + obj[dataset_version] + '.json')
> 64f46a4c10ecd4951934f1ae93487fa7.json

To split it up, I took all contents of obj["children"], wrote it to file, and saved this under a new filename:
filename_file_level_info = md5sum(obj[dataset_id] + '-' + obj[dataset_version] + '-files.json')
> 766b342b060893cf80b490716c070a13.json

This was folllowed by replacing the array in the children field in the dataset-level file with this md5sum result (i.e. a pointer to the file-level file).
Metadata file splitting and referencing
This splitting and reference naming process can be applied recursively to nodes in the directory tree. Do you agree with this approach? An idea for naming each node (i.e. directory) could be md5sum(dataset_id + dataset_version + path_to_node + '.json'), do you have other suggestions?
Use of subdirectories
The main uncertainty I have here is whether to organise the data related to a single dataset under the same RIA-like subdirectory, or whether these subdirectories and then nested content have no relation to the directory tree and are solely based on the md5sum-calculated filenames.
For the example, if we use the latter approach we would have something like:
DLdataset catalog
.
├── artwork
├── assets
├── metadata
│   ├── 64f
│   │   ├── 46a4c10ecd4951934f1ae93487fa7.json
│   ├── 766
│   │   ├── b342b060893cf80b490716c070a13.json
│   ...
│   ...
├── index.html
└── README.md

which splits dataset-level and file-level metadata files across multiple directories. And if new datasets/files come along with the same 3 first characters, these directories would contain unrelated content.
Or do we want to have something more reflective of the actual directory tree?
Another question is whether there is a suggested amount of characters to use for creating the subdirectories, e.g. 2 vs 3?

Update after metalad meeting
Important considerations for the generation workflow:

future maintenance of the catalog (easily updating / removing datasets)
preventing conflicts for dataset additions (or maintenance changes) that are generated in a distributed way.

Important considerations for the user interface:

quick traversal of dataset directory tree (shortest possible delay from clicking to rendering)
identifying the latest version of a dataset
easily remove a dataset, all its versions, and all nodes of all versions from a catalog.

Important consideration for filesystem:

limit amount of files per directory
limit the size of a file

Proposed structure

Dataset UUIDs are used as the first level of identification
Dataset versions (shasum) are used as the second level of identification
The 3rd level of identification would be the node in the directory tree of the particular dataset, where the dataset itself is also a node.

For example for:
obj: {
   "type": "dataset",
   "name: "DLdataset",
   "dataset_id": "deabeb9b-7a37-4062-a1e0-8fcef7909609",
   "dataset_version": "0321dbde969d2f5d6b533e35b5c5c51ac0b15758"
   ...
}

the catalog structure would be:
DLdataset catalog
.
├── artwork
├── assets
├── metadata
│   ├── deabeb9b-7a37-4062-a1e0-8fcef7909609
│   │   ├── 0321dbde969d2f5d6b533e35b5c5c51ac0b15758
│   │   │   ├── dataset_root.json
│   │   │   ├── subdirA.json
│   ...
│   ...
├── index.html
└── README.md

where dataset_root.json and subdirA.json are nodes. These filenames are representational here. In reality they would be a hash of dataset_id-dataset_version-node_path.
To also prioritise the filesystem considerations, all directories under metadata (uuid level, version level, node level) can be split up into sections a la RIA stores (not that nodes are not split up below, for no other reason than that I was too lazy to first calculate their hashes - in reality they will be):
DLdataset catalog
.
├── artwork
├── assets
├── metadata
│   ├── dea
│   │   ├── beb9b-7a37-4062-a1e0-8fcef7909609
│   │   │   ├── 032
│   │   │   │   ├── 1dbde969d2f5d6b533e35b5c5c51ac0b15758
│   │   │   │   │   ├── dataset_root.json
│   │   │   │   │   ├── subdirA.json
│   ...
│   ...
├── index.html
└── README.md

Alternatively, we could ONLY split up on the node level and keep the ID and VERSION levels in tact.

Closing since this has lead to the structure that is currently implemented in master.


Player freezes over Y:142 and below Y:-129

Version Information
Minecraft version:  1.12.2
Forge version:  <IP_ADDRESS>55
Other mods (if applicable):

Advanced Rocketry
AppleCore
AppliedEnergistics2
Base
BetterFPS
CodeChickenLib
Commons
CreativeCore
CubicChunks
DrCyanosLootableBodies
DynamicSurroundings
EnhancedVisuals
FirstAid
Foamfix
Generals_General_Vehicles
Gregtech Community Edition
HardcoreDarkness
HBM's nuclear tech
HideNames
HungerOverhaul
Immersive Vehicles (IV) Seagull's military pack
Immersive Vehicles
IV Tring Part Pack
Just Enough Items
LibVulpes
Little Tiles
Malisiscore
Mekanism
MekanismGenerators
MekanismTools
Vic's Modern Warfare
OpenComputers
OpenGlasses
OpenSecurity
Optifine
OreLib
Pam's HarvestCraft
PlayerAPI
PlayerRevive
SmartMoving
SmartRender
ToughAsNails
TrophySlots
UNU Military Pack
UNU Parts Pack
Warfare44ContentPack
Xaeros Minimap FP

Steps to reproduce:

Join a World with Cubic Chunks enabled
Go over Y:142 or below Y:-129

Expected Behavior:
Player can move freely through all the space
Actual Behavior:
Player freezes and can't move anymore, neither attack or use items. Using tp command to go back to the Y range makes player unfreeze. Removing either Cubic Chunks or Smart Moving fixes the issue.
Link to crash log (if applicable - use a site such as hastebin:
No crashes, bugs or exceptions are raised when it happens so there isn't a crashlog.

Removing either Cubic Chunks or Smart Moving fixes the issue.

Smart Moving probably needs a Cubic Chunks fix.


Fix nav scrolling with page

Fixes the #handbook-content lack of stickiness when scrolling down the page in reference to https://github.com/microsoft/TypeScript-Website/issues/336

Before
After

I noticed that the links don't highlight the correct section when clicked on, should I raise a separate issue for that?

Hi, great (CI will be red for now, I'm fixing it in #430) - thanks for the gifs!
Re highlighting, yeah, I thought I had some code for that. I couldn't repro it jumping to the wrong headers, so I'm open to an issue (and I'll look) or a PR. I think I took the code for generating the links directly from the remark titles plugin, so I'd hope they were the same

interesting, the scrolling indicators work on my setup (light mode, mac, edge)  but they probably need to be offsetted because I have some margins to ensure that clicking links doesn't hide the title

Hi, no problem. Think I should have been more clear, the correct section is jumped to. But the blue highlight on the current link is incorrect and is showing the previous 'section' instead.

Example

Hopefully, that'll explain it better. I'm using dark/mac/chrome by the way.


Posted parameters do not work in Kweet sample app (and mine...)

Hi,
I assume, POSTed parameters are also supported when using the location API?
But, unfortunately, they do not work in my project...
So I cloned the current ktor repository and tried the kweet sample app. When calling the "register" page and posting my data (using current version of Firefox on Windows 10), they also do not work there.
"displayName", "password", etc. are all empty (default in the data class), and not filled with the actual post parameters.
Am I doing something wrong or has 0.4.x been broken somehow in this regard?
Thank you!

I assume, POSTed parameters are also supported when using the location API?
That was an unfortunate consequence of treating all parameters (query or post) in the same way. This was fixed and post parameters should now be received explicitly. It makes sense, because location is a round trip entity, like you can handle it and you can generate an URL from it, which should hit the same handler. With POST parameters it is impossible.

We will fix sample, thanks for pointing it out.

I started testing Ktor today and I confirm that kweet is not working, please show us how to fix it, i want to progress.

Samples fixed

If use @Location ,At the same time, this route needs post method to solve.
I can only use the post of io.ktor.routing.post, but it feels weird


In Management => "Cadre Admin", "Sub Cadre Admin", "User creation" page, "User Role" should be multi-selected checkbox

It's already a multi select checkbox.


✨(front) rework order layout and add new pages

- [ ] Update to DashboardLayoutRoute to render only Outlet

[x] Adapt renderLayout in routes
[x] Use DashboardLayout inside Leaners dashboard
[x] Create order routes
[x] Make nested order routes for breadcrumbs
[x] Exact matching to set active route on the sidebar
[x] Breadcrumbs in new routes
[x] Tests

Here are my feedbacks after testing :
So I think we should not display "Applications", "Contract" and "Stats" menu entries.
Furthermore I'll rename "Sessions" entry into "General information".
Then according to mockups, the course title should not be put within the sidebar header but just above the menu entries.
Then I'll set a min-height to the sidebar in order to improve layout when there are one or two menu entries.
Here it is a layout suggestion to discuss about :


Fix gitlab logo

There is no square version in Font Awesome. Fixes
938aa3d5adc45ab3fc06a065951b9bafdecde68b

thanks so much for fixing this :-)

Thanks

Folks: I think the gitlab_url was missing from theme.conf (which i didn't even know existed until I started #293)
I'd get:
preparing documents... WARNING: unsupported theme option 'gitlab_url' given

Anyhow, adding it on 1ea56e4 made that go away, and adding a little on-brand sass #548 makes it looks like:

@bollwyvl thanks for catching this, it is much appreciated :-)

The above mentionned commit 1ea56e4 is not merged :(


use typeorm/cli.js instead of .bin/typeorm when running migrations and stuff

reference: https://github.com/typeorm/typeorm/issues/2316
This Issue is currently preventing me from using warthog in my project.

@Suyashtnt since the Warthog CLI proxies to TypeORM, could you use their workaround to get things working in Warthog?  This means using the raw commands from this file: https://github.com/goldcaddy77/warthog/blob/main/src/cli/extensions/db-extension.ts


README: Fix YAML example in journaling manual

This PR fixes the documentation of the README YAML configuration to enable journaling.
The previous value would become the String "true,", not the TrueClass value.

Thanks!