Migration to native Go library for lastpass.

This is a major jump migrating from lastpass-cli to native Go library using https://github.com/ansd/lastpass-go instead.
There are several braking changes involved, and hence the big jump to v1.0.0.

Here thanks to windows...

I saw this rewrite @martensson, do you think this can be merged?


feat: add graphql counter example

Closes #8

Codecov Report

Merging #8 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #8   +/-   ##
=======================================
  Coverage   76.56%   76.56%
=======================================
  Files           1        1
  Lines         192      192
=======================================
  Hits          147      147
  Misses         45       45

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 2d2d9c8...41b0417. Read the comment docs.


chore(deps): update dependency bullmq to v3.15.6

This PR contains the following updates:

Package
Type
Update
Change

bullmq (source)
dependencies
patch
3.15.4 -> 3.15.6

Release Notes

taskforcesh/bullmq
v3.15.6
Compare Source
Bug Fixes

worker: use timeout as integer for redis lower than v6.0.0 (python) (#1981) (0df6afa)

v3.15.5
Compare Source
Bug Fixes

python: include lua scripts when releasing (bb4f3b2)
retry-job: consider priority when moving job to wait (python) (#1969) (e753855)

Features

python: add remove job method (#1965) (6a172e9)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.1.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


use \copy for getTables

hopefully fixes https://github.com/keboola/internal/issues/198

Going to get rid of default values too as they aren't used yet

seems legit, though i hate it when you change function in pref improvement

Yes, I know.  The reason I removed the defaults here is because going through csv there is no way to distinguish between null and ''


Can't browse images when selecting an image with a new document that has no Id yet

Hi! Thank you for this awesome plugin. I've encountered an error when selecting an image with a new document whose Id is not yet initialized due no input/changes yet.
{"error":{"description":"Unable to parse value of \"$documentId=undefined\". Please quote string values.","type":"httpBadRequest"}}
The API request:
'https://myprojectid.api.sanity.io/v1/data/query/dataset?query=\n' +
  '    {\n' +
  '      "items"%3A *[_type %3D%3D "sanity.imageAsset"] {\n' +
  '            _id%2C\n' +
  '            _updatedAt%2C\n' +
  '            extension%2C\n' +
  '            metadata {\n' +
  '              dimensions%2C\n' +
  '              isOpaque%2C\n' +
  '            }%2C\n' +
  '            originalFilename%2C\n' +
  '            size%2C\n' +
  '            url\n' +
  '          } | order(_updatedAt desc) [0...50]%2C\n' +
  '    }\n' +
  '  &%24documentId=undefined'

Wrapping undefined with double quotes sends the request successfully.
I have to fill in another field in order to initialize the document's Id (turning it into a draft) before I can open the media library.

Thanks for reporting this @alevosia! This should be fixed in 1.0.1 – please reopen and let me know if you're still seeing it

Thanks for reporting this @alevosia! This should be fixed in 1.0.1 – please reopen and let me know if you're still seeing it

It's fixed, thanks! I just realized as well after forking and checking module. 😂Thanks!

It's fixed, thanks! I just realized as well after forking and checking module. 😂Thanks!


Add a company using circe

Codecov Report

Merging #1313 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1313      +/-   ##
==========================================
- Coverage      86%   85.96%   -0.04%
==========================================
  Files          74       74
  Lines        2537     2537
  Branches      108      108
==========================================
- Hits         2182     2181       -1
- Misses        355      356       +1

Impacted Files
Coverage Δ

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
84.21% <0%> (-1.17%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
84.98% <0%> (-0.54%)
:arrow_down:

...les/core/shared/src/main/scala/io/circe/Json.scala
78.78% <0%> (ø)
:arrow_up:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
96.38% <0%> (ø)
:arrow_up:

.../core/shared/src/main/scala/io/circe/Printer.scala
94.33% <0%> (+0.47%)
:arrow_up:

...rc/main/scala/io/circe/shapes/SizedInstances.scala
92.85% <0%> (+14.28%)
: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 5c92fb9...793ced4. Read the comment docs.

Thanks @dychko!


Disconnect WalletConnect session when changing safes

What it solves
Resolves #160
How this PR fixes it
We now are storing independent sessions for each safe address. When the application starts we look for a session in the localStorage to bring the connection live.
We are using a different way to start the WalletConnect instance using session or uri and sending an optional storageId prop for allowing the walletconnect client to store the sessions separate.
How to test it

Open different DApps in different browsers (or mobile apps). The DApps should allow to use WalletConnect. For example you can use:

Uniswap
SushiSwap
Cowswap

Open different instances of the safe WalletConnect app using different safe addreses
Copy the QRs codes and paste them in the safe WalletConnect App. It should create a session with the chosen DApp
Change safes and see that the connection is being mantained
Disconnect, change safes, reconnect ... and check the sessions are being managed properly

Working like a charm, thank you guys ;)


Solid-phase H2O partitioning

Partitioning of H2O into the solid phase is important for setting the inventory of H2O in the atmosphere. This impacts how much hydrogen is available for escape, as well as the optical depth of the atmosphere.
The relationship between the mass fraction of H2O in the melt versus that in the silicate crystal is simple, and should be easy to integrate into CALLIOPE. This might also require changing the mass of volatiles exposed to escape in PROTEUS, since the volatiles within the solid phase will not be escaped.
https://www.sciencedirect.com/science/article/pii/S0012821X06004304?via%3Dihub
http://www.minsocam.org/msa/AmMin/toc/2016/Abstracts/AM101P0876.pdf
Water can also partition into the metal (Fe), but this may be more difficult to incorporate into CALLIOPE because the amount of Fe (wt%) is not already stored in the code.

Very good, I agree, this is an important new feature soon. Generally, it should be either an input or an easily changeable function. The reason is that the solid partition coefficient for H2O and CO2 may depend on the speed of crystallization itself. I vaguely remember that I had opened an issue for this somewhere before...
https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2017GC006937
https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2024JE008346


Add watch function for TFJob python Client API

From feedback, user would like to watch the TFJob with key info, such as status, like kubeflow get tfjob.
The PR is going to add watch function (added one more option watch=Flase) for TFJob python Client get() and waiting_for_job() API, as below:
tfjob_client = TFJobClient()
tfjob_client.wait_for_job('mnist', namespace=namespace, watch=True)
NAME                           STATE                TIME
mnist                          Created              2019-12-31T09:20:07Z
mnist                          Running              2019-12-31T09:20:19Z
mnist                          Running              2019-12-31T09:20:19Z
mnist                          Succeeded            2019-12-31T09:22:04Z

The CI test of /hack/verify-codegen.sh failed due to time changed, the PR also update that.

This change is

Coverage remained the same at 96.512% when pulling 1fe58390fae59acb7e8c1f49f59d247c4967be59 on jinchihe:add_watch_api into c588daed69c7cbe584c8750995e716de8cd90e27 on kubeflow:master.

Hey @jinchihe,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 30c28950-2bb2-11ea-9b13-1f3f6380198b

Travis tests have failed
Hey @jinchihe,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.
1st Build
View build log

     hack/verify-codegen.sh

Generating deepcopy funcs
Generating clientset for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/clientset
Generating listers for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/listers
Generating informers for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/informers
Generating defaulters for tensorflow/v1
Generating OpenAPI specification for tensorflow/v1
diffing hack/../pkg against freshly generated codegen
diff -Naupr hack/../pkg/apis/tensorflow/v1/openapi_generated.go hack/../_tmp/pkg/apis/tensorflow/v1/openapi_generated.go
--- hack/../pkg/apis/tensorflow/v1/openapi_generated.go	2020-01-02 03:30:49.563594066 +0000
+++ hack/../_tmp/pkg/apis/tensorflow/v1/openapi_generated.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,6 +1,6 @@
 // +build !ignore_autogenerated

-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/apis/tensorflow/v1/zz_generated.deepcopy.go hack/../_tmp/pkg/apis/tensorflow/v1/zz_generated.deepcopy.go
--- hack/../pkg/apis/tensorflow/v1/zz_generated.deepcopy.go	2020-01-02 03:30:37.579594066 +0000
+++ hack/../_tmp/pkg/apis/tensorflow/v1/zz_generated.deepcopy.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,6 +1,6 @@
 // +build !ignore_autogenerated

-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/apis/tensorflow/v1/zz_generated.defaults.go hack/../_tmp/pkg/apis/tensorflow/v1/zz_generated.defaults.go
--- hack/../pkg/apis/tensorflow/v1/zz_generated.defaults.go	2020-01-02 03:30:46.487594066 +0000
+++ hack/../_tmp/pkg/apis/tensorflow/v1/zz_generated.defaults.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,6 +1,6 @@
 // +build !ignore_autogenerated

-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/clientset.go hack/../_tmp/pkg/client/clientset/versioned/clientset.go
--- hack/../pkg/client/clientset/versioned/clientset.go	2020-01-02 03:30:39.779594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/clientset.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/doc.go hack/../_tmp/pkg/client/clientset/versioned/doc.go
--- hack/../pkg/client/clientset/versioned/doc.go	2020-01-02 03:30:39.779594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/doc.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/fake/clientset_generated.go hack/../_tmp/pkg/client/clientset/versioned/fake/clientset_generated.go
--- hack/../pkg/client/clientset/versioned/fake/clientset_generated.go	2020-01-02 03:30:39.815594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/fake/clientset_generated.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/fake/doc.go hack/../_tmp/pkg/client/clientset/versioned/fake/doc.go
--- hack/../pkg/client/clientset/versioned/fake/doc.go	2020-01-02 03:30:39.779594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/fake/doc.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/fake/register.go hack/../_tmp/pkg/client/clientset/versioned/fake/register.go
--- hack/../pkg/client/clientset/versioned/fake/register.go	2020-01-02 03:30:39.815594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/fake/register.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/scheme/doc.go hack/../_tmp/pkg/client/clientset/versioned/scheme/doc.go
--- hack/../pkg/client/clientset/versioned/scheme/doc.go	2020-01-02 03:30:39.779594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/scheme/doc.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/scheme/register.go hack/../_tmp/pkg/client/clientset/versioned/scheme/register.go
--- hack/../pkg/client/clientset/versioned/scheme/register.go	2020-01-02 03:30:39.779594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/scheme/register.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/doc.go hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/doc.go
--- hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/doc.go	2020-01-02 03:30:39.815594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/doc.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/fake/doc.go hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/fake/doc.go
--- hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/fake/doc.go	2020-01-02 03:30:39.819594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/fake/doc.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/fake/fake_tensorflow_client.go hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/fake/fake_tensorflow_client.go
--- hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/fake/fake_tensorflow_client.go	2020-01-02 03:30:39.823594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/fake/fake_tensorflow_client.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/fake/fake_tfjob.go hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/fake/fake_tfjob.go
--- hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/fake/fake_tfjob.go	2020-01-02 03:30:39.823594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/fake/fake_tfjob.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/generated_expansion.go hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/generated_expansion.go
--- hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/generated_expansion.go	2020-01-02 03:30:39.819594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/generated_expansion.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/tensorflow_client.go hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/tensorflow_client.go
--- hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/tensorflow_client.go	2020-01-02 03:30:39.819594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/tensorflow_client.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/tfjob.go hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/tfjob.go
--- hack/../pkg/client/clientset/versioned/typed/tensorflow/v1/tfjob.go	2020-01-02 03:30:39.819594066 +0000
+++ hack/../_tmp/pkg/client/clientset/versioned/typed/tensorflow/v1/tfjob.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/informers/externalversions/factory.go hack/../_tmp/pkg/client/informers/externalversions/factory.go
--- hack/../pkg/client/informers/externalversions/factory.go	2020-01-02 03:30:44.263594066 +0000
+++ hack/../_tmp/pkg/client/informers/externalversions/factory.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/informers/externalversions/generic.go hack/../_tmp/pkg/client/informers/externalversions/generic.go
--- hack/../pkg/client/informers/externalversions/generic.go	2020-01-02 03:30:44.263594066 +0000
+++ hack/../_tmp/pkg/client/informers/externalversions/generic.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go hack/../_tmp/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go
--- hack/../pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go	2020-01-02 03:30:44.259594066 +0000
+++ hack/../_tmp/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/informers/externalversions/tensorflow/interface.go hack/../_tmp/pkg/client/informers/externalversions/tensorflow/interface.go
--- hack/../pkg/client/informers/externalversions/tensorflow/interface.go	2020-01-02 03:30:44.263594066 +0000
+++ hack/../_tmp/pkg/client/informers/externalversions/tensorflow/interface.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/informers/externalversions/tensorflow/v1/interface.go hack/../_tmp/pkg/client/informers/externalversions/tensorflow/v1/interface.go
--- hack/../pkg/client/informers/externalversions/tensorflow/v1/interface.go	2020-01-02 03:30:44.259594066 +0000
+++ hack/../_tmp/pkg/client/informers/externalversions/tensorflow/v1/interface.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/informers/externalversions/tensorflow/v1/tfjob.go hack/../_tmp/pkg/client/informers/externalversions/tensorflow/v1/tfjob.go
--- hack/../pkg/client/informers/externalversions/tensorflow/v1/tfjob.go	2020-01-02 03:30:44.259594066 +0000
+++ hack/../_tmp/pkg/client/informers/externalversions/tensorflow/v1/tfjob.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/listers/tensorflow/v1/expansion_generated.go hack/../_tmp/pkg/client/listers/tensorflow/v1/expansion_generated.go
--- hack/../pkg/client/listers/tensorflow/v1/expansion_generated.go	2020-01-02 03:30:42.035594066 +0000
+++ hack/../_tmp/pkg/client/listers/tensorflow/v1/expansion_generated.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff -Naupr hack/../pkg/client/listers/tensorflow/v1/tfjob.go hack/../_tmp/pkg/client/listers/tensorflow/v1/tfjob.go
--- hack/../pkg/client/listers/tensorflow/v1/tfjob.go	2020-01-02 03:30:42.035594066 +0000
+++ hack/../_tmp/pkg/client/listers/tensorflow/v1/tfjob.go	2020-01-02 03:30:11.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright 2020 The Kubeflow Authors
+// Copyright 2019 The Kubeflow Authors
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
hack/../pkg is out of date. Please run hack/update-codegen.sh

     goveralls -service=travis-ci -v -package ./pkg/... -ignore "pkg/client/*/*.go,pkg/client/*/*/*.go,pkg/client/*/*/*/*.go,pkg/client/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*/*.go,pkg/util/*.go,pkg/util/*/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go,pkg/apis/common/*/zz_generated.*.go,pkg/apis/common/*/*_generated.go"

=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
--- PASS: TestSetDefaultTFJob (0.00s)
=== RUN   TestIsChieforMaster
--- PASS: TestIsChieforMaster (0.00s)
PASS
coverage: 27.7% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1	0.032s	coverage: 27.7% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestValidateV1TFJobSpec
time="2020-01-02T03:32:21Z" level=error msg="TFJobSpec is not valid: Image is undefined in the container of Worker"
time="2020-01-02T03:32:21Z" level=error msg="TFJobSpec is not valid: There is no container named tensorflow in Worker"
--- PASS: TestValidateV1TFJobSpec (0.00s)
PASS
coverage: 20.1% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation	0.031s	coverage: 20.1% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/version
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1	[no test files]
=== RUN   TestGenGeneralName
--- PASS: TestGenGeneralName (0.00s)
PASS
coverage: 0.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/common/jobcontroller	0.015s	coverage: 0.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/version
?   	github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured	[no test files]
=== RUN   TestCreatePods
--- PASS: TestCreatePods (0.01s)
=== RUN   TestCreateService
time="2020-01-02T03:32:44Z" level=info msg="Controller test-tfjob created service empty_service"
--- PASS: TestCreateService (0.00s)
=== RUN   TestCreateServicesWithControllerRef
time="2020-01-02T03:32:44Z" level=info msg="Controller test-tfjob created service empty_service"
--- PASS: TestCreateServicesWithControllerRef (0.00s)
=== RUN   TestClaimServices
--- PASS: TestClaimServices (0.00s)
PASS
coverage: 24.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/control	0.045s	coverage: 24.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestNormalPath
time="2020-01-02T03:32:49Z" level=info msg="Creating TFJob controller"
time="2020-01-02T03:32:49Z" level=info msg="Creating Job controller"
time="2020-01-02T03:32:49Z" level=info msg="Reconcile TFJobs test-tfjob" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="Ignoring inactive pod default/worker-2 in state Succeeded, deletion time <nil>"
time="2020-01-02T03:32:49Z" level=info msg="Need to create new pod: worker-3" job=default.test-tfjob replica-type=worker uid=
time="2020-01-02T03:32:49Z" level=info msg="TFJob=test-tfjob, ReplicaType=Worker expected=3, running=0, failed=0" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="need to create new service: worker-3" job=default.test-tfjob replica-type=worker uid=
time="2020-01-02T03:32:49Z" level=info msg="Need to create new pod: ps-1" job=default.test-tfjob replica-type=ps uid=
time="2020-01-02T03:32:49Z" level=info msg="TFJob=test-tfjob, ReplicaType=PS expected=2, running=0, failed=0" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="need to create new service: ps-1" job=default.test-tfjob replica-type=ps uid=
time="2020-01-02T03:32:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (2.853771ms)" job=default.test-tfjob
time="2020-01-02T03:32:49Z" level=info msg="Creating TFJob controller"
time="2020-01-02T03:32:49Z" level=info msg="Creating Job controller"
time="2020-01-02T03:32:49Z" level=info msg="Reconcile TFJobs test-tfjob" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="TFJob=test-tfjob, ReplicaType=PS expected=2, running=2, failed=0" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="TFJob=test-tfjob, ReplicaType=Worker expected=4, running=4, failed=0" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (457.776µs)" job=default.test-tfjob
time="2020-01-02T03:32:49Z" level=info msg="Creating TFJob controller"
time="2020-01-02T03:32:49Z" level=info msg="Creating Job controller"
time="2020-01-02T03:32:49Z" level=info msg="Reconcile TFJobs test-tfjob" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="Need to create new pod: worker-3" job=default.test-tfjob replica-type=worker uid=
time="2020-01-02T03:32:49Z" level=info msg="TFJob=test-tfjob, ReplicaType=Worker expected=4, running=1, failed=0" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="need to create new service: worker-3" job=default.test-tfjob replica-type=worker uid=
time="2020-01-02T03:32:49Z" level=info msg="Need to create new pod: ps-1" job=default.test-tfjob replica-type=ps uid=
time="2020-01-02T03:32:49Z" level=info msg="TFJob=test-tfjob, ReplicaType=PS expected=2, running=0, failed=0" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="need to create new service: ps-1" job=default.test-tfjob replica-type=ps uid=
time="2020-01-02T03:32:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (543.962µs)" job=default.test-tfjob
time="2020-01-02T03:32:49Z" level=info msg="Creating TFJob controller"
time="2020-01-02T03:32:49Z" level=info msg="Creating Job controller"
time="2020-01-02T03:32:49Z" level=info msg="Reconcile TFJobs test-tfjob" job=default.test-tfjob uid=
time="2020-01-02T03:32:49Z" level=info msg="Ignoring inactive pod default/ps-0 in state Succeeded, deletion time <nil>"
time="2020-01-02T03:32:49Z" level=info msg="Ignoring inactive pod default/ps-1 in state Succeeded, deletion time <nil>"
time="2020-01-02T03:32:49Z" level=info msg="Ignoring inactive pod default/worker-0 in state Succeeded, deletion time <nil>"
time="2020-01-02T03:32:49Z" level=info msg="Ignoring inactive pod default/worker-1 in state Succeeded, deletion time <nil>"
time="2020-01-02T03:32:49Z" level=info msg="Ignoring inactive pod default/worker-2 in state Succeeded, deletion time <nil>"
time="2020-01-02T03:32:49Z" level=info msg="Ignoring inactive pod default/worker-3 in state Succeeded, deletion time <nil>"
time="2020-01-02T03:32:49Z" level=info msg="TFJob=test-tfjob, ReplicaType=Worker expected=0, running=0, failed=0" job=default.test-tfjob uid=
E0102 03:32:49.513697   10398 event.go:259] Could not construct reference to: '&v1.TFJob{TypeMeta:v1.TypeMeta{Kind:"TFJob", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"test-tfjob", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.TFJobSpec{ActiveDeadlineSeconds:(*int64)(nil), BackoffLimit:(*int32)(nil), CleanPodPolicy:(*v1.CleanPodPolicy)(0xc000584a50), TTLSecondsAfterFinished:(*int32)(nil), TFReplicaSpecs:map[v1.TFReplicaType]*v1.ReplicaSpec{"PS":(*v1.ReplicaSpec)(0xc000356dc0), "Worker":(*v1.ReplicaSpec)(0xc000356b00)}}, Status:v1.JobStatus{Conditions:[]v1.JobCondition(nil), ReplicaStatuses:map[v1.ReplicaType]*v1.ReplicaStatus{"Worker":(*v1.ReplicaStatus)(0xc0003a4ac0)}, StartTime:(*v1.Time)(0xc000380ae0), CompletionTime:(*v1.Time)(nil), LastReconcileTime:(*v1.Time)(nil)}}' due to: 'selfLink was empty, can't make reference'.   Not counted in backoff limit." job=default.test-tfjob uid=
time="2020-01-02T03:32:54Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (319.186µs)" job=default.test-tfjob
--- PASS: TestBackoffForOnFailure (0.00s)
=== RUN   TestAddPod
time="2020-01-02T03:32:54Z" level=info msg="Creating TFJob controller"
time="2020-01-02T03:32:54Z" level=info msg="Creating Job controller"
time="2020-01-02T03:32:54Z" level=info msg="Starting TFJob controller"
time="2020-01-02T03:32:54Z" level=info msg="Waiting for informer caches to sync"
time="2020-01-02T03:32:54Z" level=info msg="Starting 1 workers"
time="2020-01-02T03:32:54Z" level=info msg="Started workers"
--- PASS: TestAddPod (0.10s)
=== RUN   TestClusterSpec
time="2020-01-02T03:32:54Z" level=info msg="Shutting down workers"
--- PASS: TestClusterSpec (0.00s)
=== RUN   TestIsDistributed
--- PASS: TestIsDistributed (0.00s)
=== RUN   TestRestartPolicy
--- PASS: TestRestartPolicy (0.00s)
=== RUN   TestExitCode
time="2020-01-02T03:32:54Z" level=info msg="Creating TFJob controller"
time="2020-01-02T03:32:54Z" level=info msg="Creating Job controller"
time="2020-01-02T03:32:54Z" level=info msg="Reconcile TFJobs test-tfjob" job=default.test-tfjob uid=
time="2020-01-02T03:32:54Z" level=info msg="Ignoring inactive pod default/worker-0 in state Failed, deletion time <nil>"
time="2020-01-02T03:32:54Z" level=info msg="Pod: default.worker-0 exited with code 130" job=default.test-tfjob replica-type=worker uid=
E0102 03:32:54.243469   10398 event.go:259] Could not construct reference to: '&v1.TFJob{TypeMeta:v1.TypeMeta{Kind:"TFJob", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"test-tfjob", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.TFJobSpec{ActiveDeadlineSeconds:(*int64)(nil), BackoffLimit:(*int32)(nil), CleanPodPolicy:(*v1.CleanPodPolicy)(0xc000378d60), TTLSecondsAfterFinished:(*int32)(nil), TFReplicaSpecs:map[v1.TFReplicaType]*v1.ReplicaSpec{"Worker":(*v1.ReplicaSpec)(0xc0002bdb80)}}, Status:v1.JobStatus{Conditions:[]v1.JobCondition(nil), ReplicaStatuses:map[v1.ReplicaType]*v1.ReplicaStatus{"Worker":(*v1.ReplicaStatus)(0xc0000466f0)}, StartTime:(*v1.Time)(nil), CompletionTime:(*v1.Time)(nil), LastReconcileTime:(*v1.Time)(nil)}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Normal' 'ExitedWithCode' 'Pod: default.worker-0 exited with code 130'
time="2020-01-02T03:32:54Z" level=info msg="Need to restart the pod: default.worker-0" job=default.test-tfjob replica-type=worker uid=
time="2020-01-02T03:32:54Z" level=info msg="TFJob=test-tfjob, ReplicaType=Worker expected=1, running=0, failed=1" job=default.test-tfjob uid=
E0102 03:32:54.243556   10398 event.go:259] Could not construct reference to: '&v1.TFJob{TypeMeta:v1.TypeMeta{Kind:"TFJob", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"test-tfjob", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.TFJobSpec{ActiveDeadlineSeconds:(*int64)(nil), BackoffLimit:(*int32)(nil), CleanPodPolicy:(*v1.CleanPodPolicy)(0xc000378d60), TTLSecondsAfterFinished:(*int32)(nil), TFReplicaSpecs:map[v1.TFReplicaType]*v1.ReplicaSpec{"Worker":(*v1.ReplicaSpec)(0xc0002bdb80)}}, Status:v1.JobStatus{Conditions:[]v1.JobCondition(nil), ReplicaStatuses:map[v1.ReplicaType]*v1.ReplicaStatus{"Worker":(*v1.ReplicaStatus)(0xc0000466f0)}, StartTime:(*v1.Time)(0xc0003810a0), CompletionTime:(*v1.Time)(nil), LastReconcileTime:(*v1.Time)(nil)}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Warning' 'TFJobRestarting' 'TFJob test-tfjob is restarting because 1 Worker replica(s) failed.'
time="2020-01-02T03:32:54Z" level=info msg="need to create new service: worker-0" job=default.test-tfjob replica-type=worker uid=
time="2020-01-02T03:32:54Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (342.67µs)" job=default.test-tfjob
--- PASS: TestExitCode (0.00s)
=== RUN   TestAddService
time="2020-01-02T03:32:54Z" level=info msg="Creating TFJob controller"
time="2020-01-02T03:32:54Z" level=info msg="Creating Job controller"
time="2020-01-02T03:32:54Z" level=info msg="Starting TFJob controller"
time="2020-01-02T03:32:54Z" level=info msg="Waiting for informer caches to sync"
time="2020-01-02T03:32:54Z" level=info msg="Starting TFJob controller"
time="2020-01-02T03:32:54Z" level=info msg="Waiting for informer caches to sync"
time="2020-01-02T03:32:54Z" level=info msg="Starting 1 workers"
time="2020-01-02T03:32:54Z" level=info msg="Started workers"
time="2020-01-02T03:32:54Z" level=info msg="Shutting down workers"
time="2020-01-02T03:32:54Z" level=info msg="Starting 1 workers"
time="2020-01-02T03:32:54Z" level=info msg="Started workers"
--- PASS: TestAddService (0.10s)
=== RUN   TestFailed
time="2020-01-02T03:32:54Z" level=info msg="Shutting down workers"
time="2020-01-02T03:32:54Z" level=info msg="Creating TFJob controller"
time="2020-01-02T03:32:54Z" level=info msg="Creating Job controller"
time="2020-01-02T03:32:54Z" level=info msg="TFJob=test-tfjob, ReplicaType=Worker expected=3, running=0, failed=1" job=default.test-tfjob uid=
E0102 03:32:54.345543   10398 event.go:259] Could not construct reference to: '&v1.TFJob{TypeMeta:v1.TypeMeta{Kind:"TFJob", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"test-tfjob", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.TFJobSpec{ActiveDeadlineSeconds:(*int64)(nil), BackoffLimit:(*int32)(nil), CleanPodPolicy:(*v1.CleanPodPolicy)(0xc0005bdcf0), TTLSecondsAfterFinished:(*int32)(nil), TFReplicaSpecs:map[v1.TFReplicaType]*v1.ReplicaSpec{"Worker":(*v1.ReplicaSpec)(0xc000554840)}}, Status:v1.JobStatus{Conditions:[]v1.JobCondition(nil), ReplicaStatuses:map[v1.ReplicaType]*v1.ReplicaStatus{"Worker":(*v1.ReplicaStatus)(0xc0003a4ae0)}, StartTime:(*v1.Time)(0xc000247120), CompletionTime:(*v1.Time)(nil), LastReconcileTime:(*v1.Time)(nil)}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Normal' 'TFJobFailed' 'TFJob test-tfjob has failed because 1 Worker replica(s) failed.'

View build log
TravisBuddy Request Identifier: ac563a70-2d2a-11ea-b5b0-b361e22ae1a5

Thanks a lot! @gaocegege
/cc @johnugeorge

/approve

/lgtm

Hey @jinchihe,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 609e38c0-2d35-11ea-b5b0-b361e22ae1a5

Hey @jinchihe,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 20adeff0-2d38-11ea-b5b0-b361e22ae1a5

Hey @jinchihe,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 29bd3400-2d3a-11ea-b5b0-b361e22ae1a5

Hey @jinchihe,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: aec20520-2d3c-11ea-a185-6fb6d15019ed

/lgtm


Create spreadsheet with tables and dependencies

Done. Tests done. Worked with @snvc00 to make all the tests.


2.2.0 tags not pushed/do not exist on docker hub

Thanks for the great job, this is one of the best artemis images on the docker hub however while trying to setup my test environment I came across the fact that the recent tags of 2.2.0 and 2.2.0-alpine are not properly pushed or created on docker hub, could you please fix this?

Sorry about that, somehow they never got triggered. I manually launched the builds, there should be there already.

thanks, now they are.


Kismatic function to create new Storage volumes

The new command
kismatic storage new-volume <flags> <size in gigabytes> [volume name]
can be used to add storage volumes to the Kubernetes cluster. A Gluster store is required for this function and should be referenced by flags to the command, e.g.
-f kismatic-cluster.yaml
Other flags that should be introduced:
-r | --replica-count (default 2) The number of times each file will be written.

-d | --distribution-count (default 1) This is the degree to which data will be distributed
 across the cluster. By default, it won't be -- each replica will receive 100% of the data.
Distribution makes listing or backing up the cluster more complicated by spreading data
around the cluster but makes reads and writes more performant.

-a | --allow-addresses This is a list, comma delimited, of address wildcards permitted
access to the volume in addition to Kubernetes nodes.

Example:
kismatic storage new-volume -r 2 -d 2 -a 10.10.*.* 10 kismatic
will create a distributed, replicated volume named kismatic with a 10 GB quota. We will grant access to any IP address starting with 10.10. In pursuit of this, 4 bricks will be created -- 2 distributed bricks and 2 replicas of each.
The command will

List free space & known volumes on all gluster nodes
If there is insufficient space on enough nodes to create the described volume, the command will raise an error.
If the new volume name would make a bad directory name (e.g. has spaces, colons, slashes in it), the command will raise an error.

If no volume name is introduced, use kismatic-<some brief randomness>

Otherwise, will make a list of the (num_replicas) most empty storage nodes.
For each node:

Create a new "brick" directory off /data using the new volume name.
Set its permissions to 777

Create a new volume, referencing each of the bricks created at 5 and named approriately
Start the volume
Enable NFS, quotas & quota-deem-status [allows df to accurately report quotas]
Apply a white list allowing the pod network and the install machine's IP address to access the drive (but nothing else)
Set the quota to the desire size
Add a new PV for the created volume to kubernetes

Do we need another flag to allow for specifying the base directory (default to /data)?
This is useful if there are multiple drives mounted on the storage node under different directories.

Im not very clear on where the responsibility lies for steps above with Ansible and Go code, let's try to break this down.
What complicates this is the interface to Gluster is via the CLI (has native support for XML? but no JSON)

Executed from Golang via ssh
a. Linux df util, is there some gluster command?
b. gluster volume status all
Golang
Golang
Golang use the info from 1?
Ansible, does Go pass in only the storage nodes required here?
Ansible, does Go pass in only the storage nodes required here?
Ansible
Ansible
Ansible, Go passes in the install machine and storage node IPs as formatted string
Ansible, Go passes in the size
Ansible, requires the master[0] node to runkubectl

Steps 5-11 can all be performed with a single call to Ansible

I am somewhat worried about doing half the work in one place, and doing the other half in another. What's the main driver for moving some of these steps into the CLI?

Complete via #231


Fixed: removeChild on Node

The overlay.js code has been changed to apply a div wrapper to the overlay element as opposed to its innerHTML.
A id dynamic id based on the id of the overlay has been added to allow for selection when multiple overlays have been added.
A new unit test has been added to reproduce the React error seen in #2576 and check this implementation fixes it.

Glad it seems to be working so far! I added a few review comments. However, I'm really not very familiar with this part of the code base (I have always implemented my overlays in other ways, outside of OSD proper) so I might be misunderstanding how this is supposed to work.

Did a quick test and it looks like it working :)

Wonderful... Thank you all for your testing and feedback!


feat: hidden nodes can now be reflected from query parameters

hidden nodes can now be reflected from query parameters!
https://github.com/user-attachments/assets/c287e2a5-be9c-47f0-906a-6b0ed39a540a
As a side effect, the hidden information can now be maintained even if the showMode is changed 👍🏻
However, the URL looks a little bad, as following:
https://liam-erd-sample-a6smzxm8k-route-06-core.vercel.app/?hidden=account_aliases%2Caccount_conversations%2Caccount_deletion_requests%2Caccount_domain_blocks%2Caccount_migrations%2Caccount_moderation_notes%2Caccount_notes%2Caccount_pins%2Caccount_relationship_severance_events%2Caccount_stats%2Caccount_statuses_cleanup_policies%2Caccount_warning_presets%2Caccount_warnings%2Caccounts%2Caccounts_tags%2Cadmin_action_logs%2Cannouncement_mutes%2Cannouncement_reactions%2Cannouncements%2Cannual_report_statuses_per_account_counts%2Cappeals%2Cbackups%2Cblocks%2Cbookmarks%2Cbulk_import_rows%2Cbulk_imports%2Ccanonical_email_blocks%2Cconversation_mutes%2Cconversations%2Ccustom_emoji_categories%2Ccustom_emojis%2Ccustom_filter_keywords%2Ccustom_filter_statuses%2Ccustom_filters%2Cdomain_allows%2Cdomain_blocks%2Cemail_domain_blocks%2Cfavourites%2Cfeatured_tags%2Cfollow_recommendation_mutes%2Cfollow_recommendation_suppressions%2Cfollow_requests%2Cfollows%2Cgenerated_annual_reports%2Cidentities%2Cimports%2Cinvites%2Cip_blocks%2Clist_accounts%2Clists%2Clogin_activities%2Cmarkers%2Cmedia_attachments%2Cmentions%2Cmutes%2Cnotification_permissions%2Cnotification_policies%2Cnotification_requests%2Cnotifications%2Coauth_access_grants%2Coauth_access_tokens%2Coauth_applications%2Cpghero_space_stats%2Cpoll_votes%2Cpolls%2Cpreview_card_providers%2Cpreview_card_trends%2Cpreview_cards%2Cpreview_cards_statuses%2Crelationship_severance_events%2Crelays%2Creport_notes%2Creports%2Crules%2Cscheduled_statuses%2Csession_activations%2Csettings%2Csevered_relationships%2Csite_uploads%2Csoftware_updates%2Cstatus_edits%2Cstatus_pins%2Cstatus_stats%2Cstatus_trends%2Cstatuses%2Cstatuses_tags%2Ctag_follows%2Ctag_trends%2Ctags%2Cterms_of_services%2Ctombstones%2Cunavailable_domains%2Cuser_invite_requests%2Cweb_push_subscriptions%2Cweb_settings%2Cwebauthn_credentials%2Cwebhooks
It may be possible to compress using CompressionStream. This will be considered for support in the next PR.
ref:

CompressionStream - Web APIs | MDN
in japanese post: 続・URLシェアを支える技術 CompressionStream

It may be possible to compress using CompressionStream. This will be considered for support in the next PR.

👍👍


Page with data entry form for generating barcode

Can you explain this issue to me?

web-interface for generate barcodes is very usefull

Solved with  PR #5


error: {ballerina/http}SslError message=Keystore password must be provided for secure connection

Description:

I deployed the "user_retrieval_service" program (https://ballerina.io/learn/deploying-ballerina-programs-in-the-cloud/.) into  EKS . The program can not be normally started. And the pod logs message is showing : error: {ballerina/http}SslError message=Keystore password must be provided for secure connection.
Steps to reproduce:
I can run the program locally in windows10 with "ballerina run" command. The problem was only occurred in kubernetes (EKS).

run "ballerina.bat build .\user_retrieval_service.bal"  with security/ballerinaKeystore.p12 and service-config.toml in place. The docker images is pushed to registry.

I check the generated kubernetes/user_retrieval_service.yaml file, the mountPath separator for keystore file seems incorrectly:
volumeMounts:
- mountPath: "\home\ballerina\.\security"
name: "userretrievalep-keystore-volume"
readOnly: true
- mountPath: "/home/ballerina/conf/"
name: "userretrievalservice-ballerina-conf-config-map-volume"
readOnly: false

I change the  "\home\ballerina\.\security" manually to  "/home/ballerina/security/"

run "kubectl apply -f   .\kubernetes" .
The docker image is correctly downloaded, but it can not be started (the error message is shown as the title).

Affected Versions:
I use Ballierina 1.2.4
OS, DB, other environment details and versions:
build environment:  windows 10
kubernetes: 1.14
Suggested Labels (optional):

Suggested Assignees (optional):

@starsmall-xiaoqq Thanks for reporting the issue. I suspect this issue is due to no configuring the copyFiles config at @kubernetes:Deployment{} annotation [1].
This issue is no longer there with Ballerina Swan Lake Beta1 release. I tried a similar scenario where a HTTP service is secured with SSL/TLS  and deployed it on Kubernetes. You can refer to [2] [3] guides for more information. The scenario I've tried can be found at [4].
Feel free to reopen if the problem still exists.
[1] https://ballerina.io/1.2/learn/deployment/kubernetes/#supported-kubernetes-annotations
[2] https://ballerina.io/learn/user-guide/deployment/code-to-cloud/
[3] https://ballerina.io/learn/user-guide/deployment/code-to-cloud/samples/
[4] https://github.com/ldclakmal/ballerina-samples/tree/master/c2c


Fix environment issues in Pharo 6.1 that user may encounter

Fix refactoring in the debugger
Fix missing deny:equals for testing

Not essential stuff - but they were things I hit when following the philosophy we mention on the website. So I might propose putting them in (they are safe)


chmod on kubeconfig

Thanks for your project, it saved me a lot of time.
I got a WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: ~/kubeconfig., which I fixed using chmod go-r ~/.kube/config. May be you can implement something similar while write file.

Done in v0.4.1. Feel free to reopen if you have problems with it. Thanks for the suggestion! :)


fix: INT-2340 ensured the command parameter in the CS URL

Current dependencies on/for this PR:

main

PR #176   👈

This stack of pull requests is managed by Graphite.


[Task (*)]: re-evaluate/re-enable ignored tests

### Tasks
- [ ] `test_traffic_sketch_with_slow_blocks`
- [x] `test_unwind` #3833
- [x] `test_end_to_end` #3833
- [x] bridge related tests (https://github.com/iotaledger/iota/issues/3224)
- [ ] https://github.com/iotaledger/iota/issues/1777
- [ ] https://github.com/iotaledger/iota/issues/3111
- [ ] https://github.com/iotaledger/iota/issues/3899
- [ ] https://github.com/iotaledger/iota/issues/3901
- [ ] https://github.com/iotaledger/iota/issues/3552
- [ ] https://github.com/iotaledger/iota/issues/2983
- [ ] https://github.com/iotaledger/iota/issues/2793
- [ ] https://github.com/iotaledger/iota/issues/3741
- [x] `test_profiler` #3833
- [x] `verify_latest_tx_replay_testnet_mainnet` #3833
- [x] `replay_sandboxes` #3833
- [x] `test_simulated_load_pruning` #3835
- [x] `tombstone_fragmentation` (https://github.com/iotaledger/iota/issues/958)
- [x] `test_checkpoint_executor_cross_epoch` #3835
- [x] `test_reconfig_crash_recovery` #3835
- [x] `access_clock_object_test` #3835
- [x] `test_simulated_load_reconfig_restarts` #3835
- [x] `test_unstaking` (https://github.com/iotaledger/iota/pull/3471)
- [x] `test_timelocked_staking` (https://github.com/iotaledger/iota/pull/2053)
- [x] `test_timelocked_unstaking` (https://github.com/iotaledger/iota/pull/2053)
- [x] 4 x `read_api.rs` tests
- [x] `test_restore_from_disk` (has been removed)
- [x] `test_read_causal_signed_certificates` (has been removed)
- [x] `bullshark_randomised_tests` (has been removed)
- [x] `test_loss_of_liveness_with_recovery` (has been removed)
- [x] `test_loss_of_liveness_without_recovery` (has been removed)
- [x] `test_second_node_restart` (has been removed)
- [x] `test_full_outage_and_recovery` (has been removed)
- [x] `test_node_staggered_starts` (has been removed)
- [x] `test_determinism` (has been removed)
- [x] `display` should stay ignored: "only used to manually check if prints work correctly"

Only one left, continues here #4450


Add Kinesis spout to Heron.

Port from Storm Kinesis spout with several updates and necessary changes to be compatible in Heron.

thanks for the contribution @reconditesea - since this is the first time, you are sending a PR, can you please sign the CLA agreement?
https://engineering.twitter.com/opensource/cla

@kramasamy Sure thing, done.

Just a reminder, the license here is not the Apache License. It will fail checkstyle if the bazel BUILD file is added and travis conducts the integration test check.

@nlu90 Is it an option to update checkstyle to also accept Amazon License?

@reconditesea Yeah,  it's possible to do that.

@reconditesea - any reason why closed this?


Update rand and quickcheck dependencies

This PR includes the commits automatically created by @dependabot along with the fixes needed for the dependency version updates.
Resolves #60
Supersedes #58 and #59

🤔 these failures look like they're coming from cargo-travis, the crate we're using for test coverage reports... I've been thinking abt migrating the logic in that .travis.yml to use tarpaulin instead, looks like that'll need to happen first 🤔
I can prob hop into that in the next few days, I imagine it'll end up looking a lot like the setup here https://github.com/shnewto/ttaw/blob/master/.travis.yml

@lionel1704 I merged some changes to the CI script that will hopefully address the failures on this PR. Would you mind syncing / updating your branch so we can make sure that did the trick?

Coverage increased (+0.08%) to 83.981% when pulling e265db3d4011f398387749bcc9eef4be41abc9f1 on lionel1704:deps-update into a7e08bd63852a18d4bcb474e094297e3c3b98d12 on shnewto:master.

That's rebased and updated :+1: CI looks happy :tada:

Awesome! Thank you!!


add my profile

An eye-catching addition to the little bit of everything section
What type of PR is this? (check all applicable)

[ ] ✅  🚀 Added Name
[ ] ✨ Feature
[ ] ✅ Joined Community
[ ] 🌟 ed the repo
[ ] 🐛 Grammatical Error
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
Hi bro, this is my profile, I added it to the little bit of everything section. Please have a look. Thanks
Add Link of GitHub Profile
https://github.com/AbhishekMaira10

I have resolved changes, please have a look


Undo dummy.txt

Refer https://github.com/dotnet/dotnet-docker-nightly/pull/432

@ravimeda,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

Looks like you should rebase - see commit history.  End result looks good.


How to add mutiple column section?

Hi,
I want to add another set of column in the react-table.
<ReactTable columns={column1, column2}/>. I'm unable to add another set of column as an object or an array into the table. Any suggestions!!!
Thank you,

Column Header Groups did the trick.


Global Ratelimiting not working when MTLS is enabled.

Hi @zirain ,
I am creating this issue in order to have better understanding on ratelimiting  . You can see our discussion at https://github.com/istio/istio/issues/35398.
Issue: Service returns 500 to browser.
Steps to produce:

Apply https://github.com/zirain/limiter/blob/14bd0a5392160e80c47448f60ac44ce138f6718d/config/rls/rls.yaml
Apply https://github.com/istio/istio/blob/master/samples/httpbin/httpbin.yaml
Apply

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: filter-ratelimit
  namespace: istio-ingress
spec:
  workloadSelector:
    # select by label in the same namespace
    labels:
      istio: ingress
  configPatches:
    # The Envoy config you want to modify
    - applyTo: HTTP_FILTER
      match:
        context: GATEWAY
        listener:
          filterChain:
            filter:
              name: "envoy.filters.network.http_connection_manager"
              subFilter:
                name: "envoy.filters.http.router"
      patch:
        operation: INSERT_BEFORE
        # Adds the Envoy Rate Limit Filter in HTTP filter chain.
        value:
          name: envoy.filters.http.ratelimit
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.ratelimit.v3.RateLimit
            # domain can be anything! Match it to the ratelimter service config
            domain: httpbin
            failure_mode_deny: true
            timeout: 10s
            rate_limit_service:
              grpc_service:
                envoy_grpc:
                  cluster_name: rate_limit_cluster
              transport_api_version: V3
    - applyTo: CLUSTER
      match:
        cluster:
          service: ratelimit.default.svc.cluster.local
      patch:
        operation: ADD
        # Adds the rate limit service cluster for rate limit service defined in step 1.
        value:
          name: rate_limit_cluster
          type: STRICT_DNS
          connect_timeout: 10s
          lb_policy: ROUND_ROBIN
          http2_protocol_options: {}
          load_assignment:
            cluster_name: rate_limit_cluster
            endpoints:
            - lb_endpoints:
              - endpoint:
                  address:
                     socket_address:
                      address: ratelimit.default.svc.cluster.local
                      port_value: 8081

---

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: filter-ratelimit-svc
  namespace: istio-ingress
spec:
  workloadSelector:
    labels:
      istio: ingress
  configPatches:
    - applyTo: VIRTUAL_HOST
      match:
        context: GATEWAY
        routeConfiguration:
          vhost:
            name: ""
            route:
              action: ANY
      patch:
        operation: MERGE
        # Applies the rate limit rules.
        value:
          rate_limits:
            - actions: # any actions in here
              - headerValueMatch:
                  descriptorValue: URL|Prefix|/ip
                  headers:
                    - name: :path
                      stringMatch:
                        prefix: /ip
                        ignoreCase: true

Ingress gateway will respond as expected. Now apply following mtls config,

apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
  name: "default"
  namespace: istio-system
spec:
  mtls:
    mode: STRICT

Ingressgateway will respond with 500 error on /ip http calls.

Additional Information
I checked with different istio versions and issue is reproducible in all.

@zirain Your demo did work for me as well.
The challenge is in enabling the ratelimiting in gateway. Can you try the envoy filters I have provided?

still working with the following configuration:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: ratelimit-sample
spec:
  workloadSelector:
    labels:
      app: istio-ingressgateway
  configPatches:
    - applyTo: HTTP_FILTER
      match:
        context: GATEWAY
        listener:
          filterChain:
            filter:
              name: "envoy.filters.network.http_connection_manager"
              subFilter:
                name: "envoy.filters.http.router"
      patch:
        operation: INSERT_BEFORE
        value:
          name: envoy.filters.http.ratelimit
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.ratelimit.v3.RateLimit
            domain: httpbin # must match domain in ratelimit ConfigMap
            failure_mode_deny: false # run plugin in fail-open mode, no limiting happens if ratelimit is unavailable
            rate_limit_service:
              grpc_service:
                envoy_grpc:
                  cluster_name: outbound|8081||ratelimit.default.svc.cluster.local
                  authority: ratelimit.default.svc.cluster.local
                timeout: 20ms
              transport_api_version: V3
    - applyTo: HTTP_ROUTE
      match:
        context: GATEWAY
        routeConfiguration:
          vhost:
            route:
              action: ROUTE
      patch:
        operation: MERGE
        value:
          route:
            rateLimits:
              - actions: # any actions in here
                  - headerValueMatch:
                      descriptorValue: URL|Prefix|/ip
                      headers:
                        - name: :path
                          stringMatch:
                            prefix: /ip
                            ignoreCase: true

@zirain  May I know if ratelimiting pod has sidecar added and MTLS is strict?

yes

@zirain Thanks a lot. I compared your's and my envoy filters. Grpc cluster config was the only difference i found . I replaced the envoy_grpc config  with yours and the ratelimiting is working as expected now with MTLS enabled.

May I know why was it not working with my config? How did the MTLS existence affected the communication? I wanted to understand the issue better. What configurations might have missed? Is this a bug at istio level?

@sachinsaju can we closed this?

Sure. Thanks for the help.


Needs build-dependency updates

Hi,
it seems that the code is tricky to compile with a contemporary GHC-7.10; lots of dependencies are outdated.
Is this project still maintained to some degree?
Thanks,
Joachim

I have not been maintaining this project for a while. I might get a chance to look at it, but I would take any fixes you have to get it to compile with the latest GHC.


[GOBBLIN-1961] Use DB-qualified table ID as IcebergTable dataset descriptor

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[ ] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-1961

"Qualify IcebergTable DatasetDescriptors (used by Iceberg-Distcp)"
Description

[ ] Here are some details about my PR, including screenshots (if applicable):

IcebergTable.getDatasetDescriptor currently uses only the table name, although it should be qualified by the DB (aka. namespace), source or destination, respectively
Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

added unit test case
Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (70e480f) 47.55% compared to head (f0d7a0f) 45.98%.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3834      +/-   ##
============================================
- Coverage     47.55%   45.98%   -1.57%
+ Complexity    11037     2178    -8859
============================================
  Files          2156      416    -1740
  Lines         85381    17984   -67397
  Branches       9489     2194    -7295
============================================
- Hits          40601     8270   -32331
+ Misses        41082     8830   -32252
+ Partials       3698      884    -2814

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


WFLY-4728 make confidential redirects work out of the box again

Windows Build 1676 is now running using a merge of 367675d1c4f64ecfb2dc6d1a92a6e15e672c9a1b

Linux with security manager Build 1504 is now running using a merge of 367675d1c4f64ecfb2dc6d1a92a6e15e672c9a1b

Linux Build 6600 is now running using a merge of 367675d1c4f64ecfb2dc6d1a92a6e15e672c9a1b

Linux with security manager Build 1504 outcome was SUCCESS using a merge of 367675d1c4f64ecfb2dc6d1a92a6e15e672c9a1b
Summary: Tests passed: 828, ignored: 320 Build time: 0:04:50

Windows Build 1676 outcome was SUCCESS using a merge of 367675d1c4f64ecfb2dc6d1a92a6e15e672c9a1b
Summary: Tests passed: 2878, ignored: 375 Build time: 0:47:27

Linux Build 6600 outcome was SUCCESS using a merge of 367675d1c4f64ecfb2dc6d1a92a6e15e672c9a1b
Summary: Tests passed: 2878, ignored: 375 Build time: 0:48:19

this was removed from default config as part of https://issues.jboss.org/browse/WFLY-3913 as it is confusing.
By default we define redirect-socket but don't define https-listener that would listen there.
Either we define both or none. not some middle ground.

I don't think it is any more confusing than what we already do, which is leave the https socket binding in the config even though a https listener is not defined.

https socket binding was once removed from default config all together, maybe it got back trough all refactoring of build we did. anyhow, i don't feel strongly about this one way or another.


PSMethod should be supported by invocation operator &

Summary of the new feature/enhancement
Benefits of:
& $object.Method @args

more consistent invocation syntax with commands
gain of PS argument magic
no collision with existing method overloads discovery mechanism when method is used as command

@sizur This syntax already has a defined meaning. The result of the expression after the & is evaluated as a module object which is used as the context for the rest of the command. :
Desktop (1:12) >  $m = @{ m = get-module PSReadLine }
Desktop (1:13) >  & $m.m gv PSScriptRoot

Name                           Value
----                           -----
PSScriptRoot                   C:\Users\bpayette\Documents\WindowsPowerShell\Modules\PSReadline\2.0.0

@bpayette does this cause any issue?  I mean you can interpret a method in this context as a module closure.  What am I missing here?

@bpayette are you trying to say there'd be some kind of conflict in syntax? $m.m can be evaluated, check if it's a PSModuleInfo, and if not we can add an extra case to check if it's a MethodInfo object?

@sizur - I'm with you here. I don't think it is a conflict at all; it seems to be an expansion of the call operator's capabilities. I asked for this functionality way back in 2007, but it couldn't be justified. Then powershell 2's modules came along and muddied the water. Right now, the call operator can be used with strings, scriptblocks and moduleinfos (what @bpayette said). Extending it to handle PSMethods should be doable.

@sizur The expression is currently parsed as:
& ($foo.bar) cmd args...

which should effectively result in
& <executionContextObject> cmd args...

It also currently supports CommandInfo objects
& (get-command getdate)

Otherwise, the value is converted to a string and used as the name of the command to run:
& ("get-" + "process") -name csr*

So while it is possible to special-case MethodInfo objects and treat the command line as a method call, this would be a (minor) breaking change. As to the utility of this change, I vaguely remember trying this out when I originally implemented modules and it didn't seem like it was worth the effort when you can just do
$foo.bar(1,2,3) | some-thing...

Note that expressions are only allowed at the beginning of the pipeline. There is also an RFC out that addresses splatting/spreading for methods. Finally, if you do want to invoke a method in the pipeline, ForEach-Object already allows you to do that
{master}PSCore (1:16) >  "Hello world" | foreach substring 2 3
llo

(Aside: the other thing I considered was allowing you to assign MethodInfos to function table entries (converting them into some type CommandInfo) e.g.
$function:sin = [math]::Sin
sin 0.5

Which I thought seemed promising but others disagreed :-)

@bpayette what about using a TypeConverter mechanism for implicit PSMethod->ScriptBlock enclosing over method and just rely on &'s handling of ScriptBlock?

[math]::sqrt | % invoke 9 works nicely.  I still think that if an object has Invoke, then & should be able to invoke it.

[math]::sqrt | % invoke 9 works nicely. I still think that if an object has Invoke, then & should be able to invoke it.

Yes! I've always wished delegates could be invoked with &.

PS > function call {$invokable, $params = $args; $invokable | foreach Invoke @params}
PS > call ([System.Math]::Pow) 2 8
256

@bpayette, you mentioned that adding MethodInfo case to & would be a minor breaking change.  It's not yet clear to me why.  Do you expect some code somewhere intentionally invoking a command based on stringed method object?

PS > function call {$invokable, $params = $args; $invokable | foreach Invoke @params}
PS > call ([System.Math]::Pow) 2 8
256

@bpayette, you mentioned that adding MethodInfo case to & would be a minor breaking change. It's not yet clear to me why. Do you expect some code somewhere intentionally invoking a command based on stringified method object?

I presume because you could do something like this today:
Set-Content -LiteralPath "function:$($Host.UI.WriteLine)" -Value {
    $Host.UI.WriteLine.Invoke($args)
}

& $Host.UI.WriteLine 'this is a test'

Note that he did say minor.  It's definitely a breaking change, it's just incredibly unlikely to actually break anything.

... that's... that wouldn't even work, though. The output from $Host.UI.WriteLine shouldn't result in the text necessary to invoke the function. You'd have to call it like this:
& '$Host.UI.WriteLine' 'this is a tes'

So the odds of anyone doing something that kludgy are astronomically low, just because it's both difficult to make work and really out in the weeds, as it were.

... that's... that wouldn't even work, though. The output from $Host.UI.WriteLine shouldn't result in the text necessary to invoke the function.

Sure it does
PS> $Host.UI.WriteLine.ToString()
void WriteLine(), void WriteLine(string value), void WriteLine(System.ConsoleColor foregroundColor, System.ConsoleColor backgroundColor, string value)

The PSMethod is converted to a string in both places, and that's unique enough for a function name (assuming it's a method on a singleton-like object like $Host).  You can run the example I gave, it does indeed work.

So the odds of anyone doing something that kludgy are astronomically low, just because it's both difficult to make work and really out in the weeds, as it were.

Yeah I did say incredibly unlikely to actually break anything.  I'm not arguing that it shouldn't be done, and I don't think @bpayette was either.  It's still worth mentioning in case someone has a use case that hasn't been considered.


Assessment list for beneficiary

There is multiple requirements which allow a beneficiary's previous assessments to be listed. This allow #31, #18 and #8. This issue should get a list in place somewhere in the app so that the other issues can build on top of this list.

Think about where this should be put within the app (discuss with @drimpact)
Implement list displaying assessments, for each display date (actual rather than semantic) and number of questions completed

 Assessment management

Just to be clear when you say 'assessments' you mean 'meetings' right?
If so, I would like to suggest that we settle on calling them 'surveys' because that's what they are essentially in their current state, unless you plan on expanding their definition in the future by adding various features. It just removes the potential ambiguity and makes it less likely for users to confuse them for something else, in my opinion.

Yea assessment == meeting.
I am still getting the nomenclature correct, but from talking to charities, it seems assessment is the best option I have so far. I think survey gives the impression of a large scale exploration, asking questions of random people, whereas assessment gives the impression of a 1-on-1 session where they evaluate the individual.

Fair enough. But, assessment sounds like some kind of test to me. What charities are really getting is just some feedback. You could even just call the meetings as feedback. Anyway, it's just a trivial semantics issue. I'm fine with whatever you settle for :+1:

Worked up a rough static design for this: https://gist.github.com/drimpact/cb947ed722bab9b224288ce6b34a41a0


Allow project editors to create filters for search

For example, this could be is:consented, where consented is the slug for the filter. This is similar to checks, however checks are only intended to display sheets that have errors.
Based on discussion in #425.

This has been implemented as checks:any and checks:CHECKNAME


Issue with testing a consuming Ruby module

Required information

Distribution: Ubuntu 16.04
The output of "lxc info" or if that fails:
config:
core.https_address: '[::]:8443'
api_extensions:

id_map
api_status: stable
api_version: "1.0"
auth: trusted
public: false
environment:
addresses:

<IP_ADDRESS>:8443
architectures:
x86_64
i686
certificate: |
-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----
certificate_fingerprint: c9eeb72e37391f39fa70e4942d05e91899903f8691f2f88276acb05781ee0ef5
driver: lxc
driver_version: 2.0.8
kernel: Linux
kernel_architecture: x86_64
kernel_version: 4.4.0-93-generic
server: lxd
server_pid: 1913
server_version: 2.0.10
storage: dir
storage_version: ""

Issue description
/issue nexussw/lxd-common#1
Steps to reproduce

clone git@github.com:nexussw/lxd-common
cd lxd-common
vagrant up
vagrant ssh -c 'cd /vagrant; rake spec'

Information to attach
refer to above linked issue
tl;dr: if a stop happens too soon after a start, lxc stop hangs

"lxc stop" only sends SIGPWR (or similar) to PID1 in the container. If PID1 in the container hasn't yet setup its signal handler, then nothing will happen and "lxc stop" will hang.
This is an unfortunate but expected behavior. POSIX signals are unidirectional so there's no way for LXD to know if PID1 is doing something about it.
I suspect in your case you actually want "lxc stop --force" which instead has LXD kill PID1 in the container, causing the container to immediately stop, regardless of what PID1 or in fact any process may be doing in the container.

this context is under the hood of a chef provisioning driver where stop probably wants a graceful shutdown - but also in that context, will not normally happen within 2-3 seconds of the start command.  I do do a force if chef wants to destroy, and that does work well.
Thank you for the insight!  I'll look into kill 1 - sounds brutish, but i likely won't put it into production and only do it in testing unless i can convince myself that sleep 10 is acceptable  xD  Now that I know the root cause i can sleep easier.
I accept your answer and I'll close this after the weekend if no one else chimes in with a good idea

i do have to wonder, though, if you should be returning from start in some 'sane' state that is ready to reliably respond to additional commands

I use the following code to check that cloud-init is finished, before preceeding with any other commands.  You could modify or implement something similiar to verify that the container has actually booted first, before trying to run other commands, including shutdown:
"while [ ! -f /var/lib/cloud/instance/boot-finished ]; do echo 'Waiting for cloud-init...'; sleep 5; done;"

fyi, the sleep amount could be anything, mine is at five, because it shows at equal intervals with terraform reporting, and my cloud-init usually runs quite a few things, anywhere from 3 secs up to 5-10 mins, depending on if the container is installing applications

The problem is that there is no way for LXD to know when the container is "ready" as that completely depends on what's running in the container. There's no way for LXD to check whether the container's init system is going to be responding to a particular signal or ignore it.

Our behavior here is very similar to what you'd have with a VM. A VM hypervisor will say that the VM is running as soon as it's started executing the virtual BIOS.   So After sleeping on it, I'm leaning towards something like:
(pseudocoded)
        def stop_container(container_id, options)
          loop do
            return if container_status(container_id) == 'stopped'
            inner_transport.execute("lxc stop #{container_id} --timeout=10")
            if timeout_exceeded # supplied by options - 60 seconds or so by default
              return inner_transport.execute("lxc stop #{container_id} --force") if options[:force]
              raise 'command timeout'
            end
          end
        end

Any issue that you can think of with sending too many SIGPWR's?  They just go into oblivion if they're not received?  Or if one is received and it takes longer than --timeout=10 to shutdown gracefully, will a subsequent SIGPWR cause issues?
RE: using cloud-init...  I also like the sounds of that, but I'm not doing anything to convolute the init process, myself, which doesn't take too long by default.  So I think that's more of a sanity check on the part of my caller.  If 'they' slow it down, they're likely to be waiting for it themselves, and won't be sending a stop.  This would be a route one could take at a higher level than this module.

I think most init systems will just ignore subsequent signals, so it should be fine to do it.

thank you!!  I'll use --timeout=1 in my testing in an effort to flush those issues out


Improve control over emission of static molecules

Presently it is only checked that the reaction may emit them.
Now it is checked that they have been emitted only once by a reaction thread.

Codecov Report

Merging #112 into master will not impact coverage.

@@          Coverage Diff          @@
##           master   #112   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          13     13
  Lines        1007   1002    -5
  Branches      114    116    +2
=====================================
- Hits         1007   1002    -5

Impacted Files
Coverage Δ

core/src/main/scala/io/chymyst/jc/SmartPool.scala
100% <ø> (ø)
:white_check_mark:

core/src/main/scala/io/chymyst/jc/Pool.scala
100% <ø> (ø)
:white_check_mark:

core/src/main/scala/io/chymyst/jc/Core.scala
100% <100%> (ø)
:white_check_mark:

...re/src/main/scala/io/chymyst/jc/ReactionSite.scala
100% <100%> (ø)
:white_check_mark:

core/src/main/scala/io/chymyst/jc/Reaction.scala
100% <100%> (ø)
:white_check_mark:

...ore/src/main/scala/io/chymyst/jc/SmartThread.scala
100% <100%> (ø)
:white_check_mark:

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 de0aa9c...877195c. Read the comment docs.


Slack addon, three different lead states

@S4adam you were right ,"tako" is a debug leftover and I accidentally corrected it but in other file


Added documentation for people using ROS.

alright, should we mention if the install it through apt-get or from sources?

I addressed your comment in the last commit


openrct2: 0.2.3 -> 0.2.4

Motivation for this change
Updating to latest version.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Notify maintainers
cc @geistesk

@GrahamcOfBorg build openrct2

cmake and pkgconfig should rather be in nativeBuildInputs

Fair enough. Updated.

Is there anything I can do to assist moving this forward?

If we stick to not running tests, could you add an explicite cmake flag with a comment :
  cmakeFlags = [
    "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
    "-DDOWNLOAD_OBJECTS=OFF"
    "-DDOWNLOAD_TITLE_SEQUENCES=OFF"
    "-DWITH_TESTS=OFF" # requires GTest and fetching replays
  ];

OTOH you should be able to use gtest from nixpkgs by passing another cmake flag -DSYSTEM_GTEST (look at ceph package for example) and fetch replays like other modules.
But you would need to check locally if some other problems arise by running tests, the time it takes, etc.

If we stick to not running tests, could you add an explicite cmake flag with a comment :
  cmakeFlags = [
    "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
    "-DDOWNLOAD_OBJECTS=OFF"
    "-DDOWNLOAD_TITLE_SEQUENCES=OFF"
    "-DWITH_TESTS=OFF" # requires GTest and fetching replays
  ];

OTOH you should be able to use gtest from nixpkgs by passing another cmake flag -DSYSTEM_GTEST (look at ceph package for example) and fetch replays like other modules.
But you would need to check locally if some other problems arise by running tests, the time it takes, etc.

Sure, I'm happy to try and add the tests if that's what we want to do. My intuition would have been to leave the tests out since they weren't included in the derivation previously. I guess ultimately the decision is up to @geistesk as the maintainer.

@GrahamcOfBorg build openrct2


Remove confirmation before exit

Actual Behaviour
Currently, the app displays a toast to prompt the user, in case the user hits the back button.
Expected Behaviour
The app should not display any toast or dialog to confirm exit, unless there is some task running in the background (say, download), as this breaks user experience. Moreover, none of the standard apps implement this.
Would you like to work on the issue?
Yes

Confirmation before exit is pretty standard for apps which have muti-level navigation within the application and it is quite annoying to be led out of the app when just clicking back to get to the main screen. Sometimes people don't know they are on home screen and just click back couple of times
The apps which don't implement this feature are pretty optimized with initial loading in milliseconds and we load quite a bit of information on initial load.

@iamareebjamal Please have a look at the recent conversation in fossasia/susi_android on Gitter where @mariobehling agreed upon removing this from all android apps. :)

Alright, go ahead, but as mentioned in the issue, enforce the rule if something is going on in background


[AutoPR datalake-store/data-plane/datalake-store/resource-manager] chore: jsonfmt datalake-store

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6019

Build output:


CLAS, <WITH_UNIT_TESTS>X</WITH_UNIT_TESTS> consistency check

probably not doing this for some time

duplicate of https://github.com/abaplint/abaplint/issues/926, closing


Lokalise: Translations update

This pull request was initiated by Lokalise (user Human-Connection) at 2019-03-12 09:30:56

Closed in favor of #250