Improve docker images

In my opinion our docker images still have a few issues:

We do not leverage layer caching, every new image build is done from scratch, packages are installed and gems are installed even if we just changed one line.
We can not have tagged images on Docker Hub, tagging for automated builds only works with git tags (which need to be configured explicitly), rollbacks to a previous version is hard and matching a image to a commit on the master branch is nearly impossible.
One can not build custom Huginn images without first pushing the code to a git repository and change the docker scripts.

This PR tries to address all three problems with one downside, we can not use automated Docker Hub builds anymore.
Problem 3
The image build is now based on the current working directory, thus every change made locally (or checked out on the build server) are included in the image. Building custom images is now easy: docker build -t myusername/huginn -f docker/multi-process/Dockerfile .
Problem 2
By using CircleCI to build the images we can configure when we want to tag images and push the tags to the Docker Hub after finishing a new build. What I really would like to do is build images for every PR to be able to test the changes locally, but since we need to have the Docker Hub credentials stored in ENV this is not possible right now.
The build status is viewable here: https://circleci.com/gh/dsander/huginn
We could set up a private Jenkins instance to do the builds (and I would gladly pay the hosting bill), but I was not sure how the community would feel about a build process that is not public. It could be an option to just do the PR builds on a private server.
Problem 1
Image layer caching is leveraged by using the current working directory as the base for the image build. This could also be achieved on Docker Hub, but there the Dockerfiles would have to be placed in the Huginn root directory which would then use the root README.md for the image description. When we move away from automated builds the image description needs to be updated manually, but only after we changed it not for every build.
For a comparison of image sizes I used e5fcb245e636790d3214cedb800ad54d005f4d0f as baseline for the first image, then build images after the merge of #1330 and another one after #1301
Before
I will only show the layer diff for the first change (after the merge of #1330) in the second build the same layers changed.
cantino/huginn-single-process:
> 6184db4c5108        25 hours ago        /bin/sh -c #(nop) CMD ["/scripts/init"]         0 B
> 1237355c58ab        25 hours ago        /bin/sh -c #(nop) EXPOSE 3000/tcp               0 B
> f6a392bdce47        25 hours ago        /bin/sh -c #(nop) ADD file:c02e2b155230fdf907   1.946 kB
> 0661a9bac381        25 hours ago        /bin/sh -c #(nop) WORKDIR /app                  0 B
> 20d55078086d        25 hours ago        /bin/sh -c /scripts/setup                       196.3 MB
> 39a5d340265a        25 hours ago        /bin/sh -c #(nop) ADD file:feb8aee3f31639be37   1.384 kB
> a03a924590ab        25 hours ago        /bin/sh -c /scripts/prepare                     270.3 MB
> bee631232603        25 hours ago        /bin/sh -c #(nop) ADD file:05c9559d7956058565   1.148 kB
> a0faca291444        25 hours ago        /bin/sh -c #(nop) MAINTAINER Dominik Sander     0 B

This is everything, for every update the user needs to download the whole image, even if the change was just one line. For the cantino/huginn image it is even worse:
> 69635f1d0837        26 hours ago        /bin/sh -c #(nop) CMD ["/scripts/init"]         0 B
> 850776335c60        26 hours ago        /bin/sh -c #(nop) EXPOSE 3000/tcp               0 B
> 9ba5a5d0e5c2        26 hours ago        /bin/sh -c #(nop) VOLUME [/var/lib/mysql]       0 B
> 875f14571cbd        26 hours ago        /bin/sh -c #(nop) ADD file:a67575f9e580cbbbdd   6.356 kB
> 60d0d2da6c5f        26 hours ago        /bin/sh -c /scripts/standalone-packages         193.3 MB
> 7f36705ffbe5        26 hours ago        /bin/sh -c #(nop) ADD file:3a61c7a67f98478b9d   282 B
> 7387e9d7d25e        26 hours ago        /bin/sh -c #(nop) WORKDIR /app                  0 B
> 673ef7acb3f1        26 hours ago        /bin/sh -c #(nop) MAINTAINER Andrew Cantino     0 B
> a4f93035eb3f        26 hours ago        /bin/sh -c #(nop) CMD ["/scripts/init"]         0 B
> 1237355c58ab        26 hours ago        /bin/sh -c #(nop) EXPOSE 3000/tcp               0 B
> f6a392bdce47        26 hours ago        /bin/sh -c #(nop) ADD file:c02e2b155230fdf907   1.946 kB
> 0661a9bac381        26 hours ago        /bin/sh -c #(nop) WORKDIR /app                  0 B
> 20d55078086d        26 hours ago        /bin/sh -c /scripts/setup                       196.3 MB
> 39a5d340265a        26 hours ago        /bin/sh -c #(nop) ADD file:feb8aee3f31639be37   1.384 kB
> a03a924590ab        26 hours ago        /bin/sh -c /scripts/prepare                     270.3 MB
> bee631232603        26 hours ago        /bin/sh -c #(nop) ADD file:05c9559d7956058565   1.148 kB
> a0faca291444        26 hours ago        /bin/sh -c #(nop) MAINTAINER Dominik Sander     0 B

After
After merging #1330 (bf7c2feba4a7f27f39de96877c121d40282c0af9), in which only some code was changed. (~13MB uncompressed)
huginn-single-process:
> c2bbbe3a9a09        About an hour ago   /bin/sh -c #(nop) CMD ["/scripts/init"]         0 B
> 2c77dedbfc4c        About an hour ago   /bin/sh -c #(nop) EXPOSE 3000/tcp               0 B
> b9e2b108b584        About an hour ago   /bin/sh -c /scripts/setup                       3.771 MB
> c0f5ff6d133e        About an hour ago   /bin/sh -c #(nop) ADD multi:03226194c6e1c964e   3.203 kB
> 619dcca9e29e        About an hour ago   /bin/sh -c #(nop) COPY dir:1c4e202eb2e5bed2b6   1.929 MB
```

And the same small changeset for the multi-process images :tada: :

```
> 7bed47eeb156        About an hour ago   /bin/sh -c #(nop) CMD ["/scripts/init"]         0 B
> 6d2f33ac50d1        About an hour ago   /bin/sh -c #(nop) EXPOSE 3000/tcp               0 B
> 387a6a0e9bf4        About an hour ago   /bin/sh -c #(nop) VOLUME [/var/lib/mysql]       0 B
> 89298a606b1e        About an hour ago   /bin/sh -c /scripts/setup                       3.771 MB
> 7af26e5158f6        About an hour ago   /bin/sh -c #(nop) ADD multi:224d2bac862998f34   7.633 kB
> a4f01acc69e4        About an hour ago   /bin/sh -c #(nop) COPY dir:1c4e202eb2e5bed2b6   1.929 MB
```
 After merging #1301 (9a588e080b1819656ef95cf98f4b27abc98ffe49), we added new gems, thus the gems needed to be reinstalled. (~200MB uncompressed)

`huginn-single-process`:

```
> 2f36b68220d6        About an hour ago   /bin/sh -c #(nop) CMD ["/scripts/init"]         0 B
> c8fa70731d08        About an hour ago   /bin/sh -c #(nop) EXPOSE 3000/tcp               0 B
> 9044f4f1d25e        About an hour ago   /bin/sh -c /scripts/setup                       3.771 MB
> 303424e95c1c        About an hour ago   /bin/sh -c #(nop) ADD multi:03226194c6e1c964e   3.203 kB
> e8b7e9add23b        About an hour ago   /bin/sh -c #(nop) COPY dir:87808e94c248cf9181   1.954 MB
> 218475f5fb45        About an hour ago   /bin/sh -c chown -R huginn:huginn /app &&       193.5 MB
> 62a8cd05532e        About an hour ago   /bin/sh -c #(nop) ADD dir:d2a851ae8c2e0715263   16.34 kB
> b922d489af33        About an hour ago   /bin/sh -c #(nop) ADD file:7f48e629b343e9cf65   1.136 kB
> 3c850d8620af        About an hour ago   /bin/sh -c #(nop) ADD multi:4d61c5fca0c04e181   22.22 kB
```

The diff stays small for the multi-process image:

```
> 97107a410fb7        About an hour ago   /bin/sh -c #(nop) CMD ["/scripts/init"]         0 B
> db498063263c        About an hour ago   /bin/sh -c #(nop) EXPOSE 3000/tcp               0 B
> 7d33a4f76a4a        About an hour ago   /bin/sh -c #(nop) VOLUME [/var/lib/mysql]       0 B
> 84aa3f6b7a75        About an hour ago   /bin/sh -c /scripts/setup                       3.771 MB
> 25d0f1f5b04a        About an hour ago   /bin/sh -c #(nop) ADD multi:224d2bac862998f34   7.633 kB
> 16c4181eab24        About an hour ago   /bin/sh -c #(nop) COPY dir:87808e94c248cf9181   1.954 MB
> a7a70cefd4c4        About an hour ago   /bin/sh -c chown -R huginn:huginn /app &&       193.5 MB
> 2b251c93171b        About an hour ago   /bin/sh -c #(nop) ADD dir:d2a851ae8c2e0715263   16.34 kB
> becb9172f0eb        About an hour ago   /bin/sh -c #(nop) ADD file:7f48e629b343e9cf65   1.136 kB
> da89499502fc        About an hour ago   /bin/sh -c #(nop) ADD multi:4d61c5fca0c04e181   22.22 kB
```

### Summary

Disadvantages:

* No more automated builds and with that manual updating of the image descriptions on the Docker Hub

Advantages:

* Layer caching which leads to faster updates and less bytes to download
* Faster image builds (even without an optimized CircleCI config)
* Tags for images which match the commit they are based on
* Ease of building custom images
* Potential to build images for every PR

Since the `init` script, which does most of the heavy lifting, has been nearly untouched I do not think it should not cause any issues, but we still should get some verification the multi-process image still works (I updated to the updated single-process image myself)

@elvetemedve @gdomod @csu @peterseverin @uri @sky-chen @skray @mhow2 @dannysu @xu-cheng @daturkel @kennethkalmer @apopiak If you are still using one of the Huginn Docker images would you mind testing if everything still works when you switch to `dsander/huginn` or `dsander/huginn-single-process` (depending on which image you used before)?

### TODO

- [x] Move shared docker scripts to /docker/scripts/ and update the Dockerfiles (omitted for now to make the diff more readable)
- [x] Squash commits
- [ ] Change namespace in `.travis.yml`
- [ ] Possibly reencrypt the environment variables in `.travis.yml`

Needs to be done by @cantino

- [ ] Update Docker Hub configuration
  - [ ] Add `huginnbuilder` as contributor on Docker Hub
  - [ ] Disable automated build for `cantino/huginn-single-process` and build triggers for `cantino/huginn`

Coverage remained the same at 90.715% when pulling 961d96e83eb64e732dc0acee3f5b8da98eac09d7 on dsander:docker into 9a588e080b1819656ef95cf98f4b27abc98ffe49 on cantino:master.

Hi @dsander,
I've switched to the dsander/huginn image and everything seems to be working so far.
I found these errors below in the log, but these are look like warnings rather than faults.
Mar 20 12:00:50 ZBox docker[54209]: mysqld stderr | 160320 11:00:48 mysqld_safe Can't log to error log and syslog at the same time.  Remove all --log-error configuration options for --syslog to take effect.
Mar 20 12:01:45 ZBox docker[54209]: foreman stderr | huginn_production already exists foreman stderr |
Mar 20 12:01:45 ZBox docker[54209]: foreman stderr | + exec bundle exec foreman start

I keep this container running and let you know if something goes wrong.

@elvetemedve Thanks for testing! I don't really know what the mysqld stderr message means, but I think it has been there before, the foreman log line are no problem.

Awesome!  I'll admit that I still use Capistrano and don't really know Docker, though. :)  Let me know how I can help.

@cantino I think two week are enough time for everyone who wanted to test it. If you are OK with having to update the descriptions on Docker Hub manually when we change them, I think we are ready to merge this.
The TODO list is updated with a few tasks only you can do to due to the permissions of GitHub and Docker Hub. I will send you the environment variables for the CircleCI configuration via email. Except for disabling the automated builds on docker hub everything can be done whenever you have time (the CircleCI builds will just fail when you enable them before we merge this).
Disabling the automated docker hub builds, finalizing the circle.yml configuration and merging this needs to be coordinated, so we have to find a time on which we are both available. As always, no rush :smile:

@dsander The container you created has been running for 1 weeks and 1 days without any issues, but now it's stopped, because of running out of memory. Looks like a memory leak to me.
Here is the end of the log:
foreman stdout | 20:46:51 jobs.1 | Queuing event propagation
foreman stdout | 20:46:51 jobs.1 | Queuing schedule for every_1m
foreman stdout | 20:46:51 jobs.1 | 2016-04-05T22:46:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job Agent.receive! (id=74072) RUNNING
foreman stdout | 20:46:51 jobs.1 | 2016-04-05T22:46:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job Agent.receive! (id=74072) COMPLETED after 0.0092
foreman stdout | 20:46:51 jobs.1 | 2016-04-05T22:46:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job Agent.run_schedule (id=74073) RUNNING
foreman stdout | 20:46:51 jobs.1 | [ActiveJob] Enqueued AgentCheckJob (Job ID: 7e36b6d3-82bd-4a45-9928-5dd20d8f6257) to DelayedJob(default) with arguments: 9
foreman stdout | 20:46:51 jobs.1 | 2016-04-05T22:46:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job Agent.run_schedule (id=74073) COMPLETED after 0.0164
foreman stdout | 20:46:51 jobs.1 | 2016-04-05T22:46:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper (id=74074) RUNNING
20:46:51 jobs.1 | [ActiveJob] [AgentCheckJob] [7e36b6d3-82bd-4a45-9928-5dd20d8f6257] Performing AgentCheckJob from DelayedJob(default) with arguments: 9
foreman stdout | 20:46:51 jobs.1 | [ActiveJob] [AgentCheckJob] [7e36b6d3-82bd-4a45-9928-5dd20d8f6257] Performed AgentCheckJob from DelayedJob(default) in 25.69ms
foreman stdout | 20:46:51 jobs.1 | 2016-04-05T22:46:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper (id=74074) COMPLETED after 0.0329
foreman stdout | 20:46:51 jobs.1 | 2016-04-05T22:46:51+0200: [Worker(host:ca7c0ce05afe pid:480)] 3 jobs processed at 32.7096 j/s, 0 failed
foreman stdout | 20:47:51 jobs.1 | Queuing event propagation
foreman stdout | 20:47:51 jobs.1 | Queuing schedule for every_1m
foreman stdout | 20:47:51 jobs.1 | 2016-04-05T22:47:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job Agent.receive! (id=74075) RUNNING
foreman stdout | 20:47:51 jobs.1 | 2016-04-05T22:47:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job Agent.receive! (id=74075) COMPLETED after 0.0107
foreman stdout | 20:47:51 jobs.1 | 2016-04-05T22:47:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job Agent.run_schedule (id=74076) RUNNING
foreman stdout | 20:47:51 jobs.1 | [ActiveJob] Enqueued AgentCheckJob (Job ID: 28d470d6-a7c8-4581-be3a-26df8b02914e) to DelayedJob(default) with arguments: 9
foreman stdout | 20:47:51 jobs.1 | 2016-04-05T22:47:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job Agent.run_schedule (id=74076) COMPLETED after 0.0182
foreman stdout | 20:47:51 jobs.1 | 2016-04-05T22:47:51+0200: [Worker(host:ca7c0ce05afe pid:480)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper (id=74077) RUNNING
foreman stdout | 20:47:52 jobs.1 | [ActiveJob] [AgentCheckJob] [28d470d6-a7c8-4581-be3a-26df8b02914e] Performing AgentCheckJob from DelayedJob(default) with arguments: 9
foreman stdout | 20:48:39 jobs.1 |
foreman stdout | 20:48:39 jobs.1 | #
20:48:39 jobs.1 | # Fatal error in Heap::ReserveSpace
20:48:39 jobs.1 | # Allocation failed - process out of memory
20:48:39 jobs.1 | #
foreman stdout | 20:48:39 jobs.1 |
foreman stdout | 20:48:59 jobs.1 | exited with code 133
foreman stdout | 20:48:59 system | sending SIGTERM to all processes
foreman stdout | 20:49:00        | Trace/breakpoint trap (core dumped)
foreman stdout | 20:49:00 web.1  | terminated by SIGTERM

Coredump does not tell too much about where did the failure happen:
           PID: 5295 (ruby2.2)
           UID: 1000 (rtorrent)
           GID: 1000 (rtorrent)
        Signal: 5 (TRAP)
     Timestamp: Tue 2016-04-05 22:48:39 CEST (22h ago)
  Command Line: bin/threaded.rb
    Executable: /usr/bin/ruby2.2
 Control Group: /
         Slice: -.slice
       Boot ID: 9891fcffec134677a1065d5f5330396e
    Machine ID: 452c9feff2fe4c738e39b5ba9ced7aa6
      Hostname: ZBox
      Coredump: /var/lib/systemd/coredump/core.ruby2\x2e2.1000.9891fcffec134677a1065d5f5330396e.5295.1459889319000000000000.lz4
       Message: Process 5295 (ruby2.2) of user 1000 dumped core.

                Stack trace of thread 546:
                #0  0x00007f944307b771 n/a (n/a)

The machine I'm using to run Huginn has 4 GB of RAM and 4GB of swap memory, while only 1GB is used from it at the moment.
Do you have any idea how to track it down which part of the application is eating all the memory?

@elvetemedve I do not think that is related to the Dockerfile changes, we tried to locate the memory leak a few times, but I was never able to find where it happens #1114 #978.

@dsander In my opinion the long term solution would be tracking the memory usage of the application for each Agent and write it into a log file. That way sooner or later the faulty code block could be revealed.
Regarding Docker there is a short term solution you could implement. I noticed that the container was still running after the crash of foreman. It would be nice if you could tell supervisord to restart the process when it dies. There is an autorestart setting which is good for this. See http://supervisord.org/configuration.html#program-x-section-values

@elvetemedve Thanks for the tip, it tried changing the autorestart setting, but that causes issue with the webserver foreman starts: A server is already running. Check /app/tmp/pids/server.pid.. Not sure if I will find the motivation to dig deep into the multi-process image again anytime soon. You can use the single-process image which allow you to use the docker restart=always option.

 Travis allows us to encrypt environment variables, those will only be exposed on branch builds of the Huginn repository, not for pull requests. We only need to make sure not to merge code that would expose the Docker Hub credentials.
A build on Travis that pushes the images can be viewed here: https://travis-ci.org/dsander/huginn/builds/122077312
After rebasing the branch: https://travis-ci.org/dsander/huginn/builds/122079443
@cantino To merge this we only need to disable the automated builds on Docker Hub and add huginnbuilder as a collaborator. I think I can encrypt the variables myself.

Any idea what the "Coveralls encountered an exception:" warning at the bottom is?
Want me to disable the automatic builds now?

Coveralls is not accepting the data because the builds I linked were done on my fork directly and coveralls only accepts PR builds of this repository.

Want me to disable the automatic builds now?

Sure, I have time to update the credentials in the travis config.

Should I disable auto builds for both cantino/huginn and cantino/huginn-single-process?

Yes, if I remember correctly the cantino/huginn image is build via a webhook which is send after the cantino/huginn-single-process build is done.

Everything looks good, the master build succeeded and the images are tagged :tada:

Nicely done!  This is a great step forward. :party:


Initial somatic pipeline.

Combines detect_variants with alignment (assuming #40, #51, and #52).

+1


🚀 Feature Request: Add support for custom local hostnames

Describe the solution
Hello,
I am managing 25+ subdomains.
Right now, if I start multiple instances of wrangler pages dev (on multiple ports), I get URLs like:
https://<IP_ADDRESS>:8788/
https://<IP_ADDRESS>:8789/
https://<IP_ADDRESS>:8790/

I would much rather use URLs like:
https://dev.www.hexstreamsoft.com:8788/
https://dev.clos-mop.hexstreamsoft.com:8789/
https://dev.notes-and-tips.hexstreamsoft.com:8790/

So for instance, I added a mapping from dev.www.hexstreamsoft.com to <IP_ADDRESS> in my /etc/hosts/ file.
However, after starting wrangler pages dev public --local-protocol https and successfully opening https://<IP_ADDRESS>:8788/, https://dev.www.hexstreamsoft.com:8788/ does not work:

(Plain HTTP is irrelevant for my use-case, since all my websites are HTTPS-only with full HSTS enabled (so it's impossible to access dev.www.hexstreamsoft.com over plain HTTP anyway), and many modern features are HTTPS-only.)
So, it would be really nice if I could use something like this:
wrangler pages dev public --local-protocol https --hostname dev.www.hexstreamsoft.com

Thanks for bringing this up! We've added it to our issue backlog :)

Thank you!! This will be a tremendous boon for usability!!

FWIW:
I do that on miniflare 2 + worker sites; I have one of my domains with a DNS pointing to <IP_ADDRESS>, and a wildcard DNS point to the root. My worker will receive all requests and handle appropriate for each subdomain. I cant do the same on wrangler2, then i still need to use miniflare for that.
Thats is also why i still use worker sites, because i can do much more.
Will be nice to be able to setup a base hostname, and still accept any subdomain request like we do on miniflare today.

hi folks,
looking at the original report, I'm seeing the page is blocked on NET::ERR_CERT_AUTHORITY_INVALID, so I'm wondering if the issues y'all are experiencing are not security certificates related. Back when this issue was raised, wrangler only supported self-signed certificates. That changed however with the landing of https://github.com/cloudflare/workers-sdk/pull/4475. You can now pass the
--https-key-path and --https-cert-path to your pages dev command to use your own ssl certificates.
Would be good to confirm whether that fixes the issue for you

Thank you, I want to try this solution, unfortunately I am not yet familiar with manually generating local development certificates, so I have some reading to do. Ideally, I would want just one certificate for all my local dev.* domain names that I would declare in my hosts file.
I have started looking at mkcert, and am open to other suggestions.
(Maybe wrangler could provide an easy way to generate such local development certificates?)

I am not very familiar with generating ssl certificates for local dev either, but mkcert seems like a good place to start (also see https://web.dev/articles/how-to-use-local-https).
I need to inquire on whether we have an official recommendation for such a tool, but if we do, we can definitely add that to our docs (great idea!). I'll circle back here once I know more

I can confirm that mkcert is indeed a good option. I'll look into whether I can open a PR to our docs. In the meanwhile, please keep us posted if using the custom certificate solved your issue <3

Great! I'm on it!

@Hexstream - could I ask if there is a specific reason why you want to turn on --local-protocol=https in your local development?

@CarmenPopoviciu Great news! mkcert is 100% painless, and I quickly got the results I want in every way, except for one critical usability issue:
Pressing b in wrangler opens for instance
https://localhost:8800/ instead of
https://dev.abc.hexstream.xyz:8800/.
So I just need a way to pass --hostname dev.abc.hexstream.xyz or similar to wrangler.

So here is what I did, it's quite trivial.

I added the 32 dev domain names as an alias for <IP_ADDRESS> to my /etc/hosts file.

For installing mkcert, libnss3-tools was already installed, so I just installed the pre-built binaries.

I invoked mkcert -install to install the CA.

I generated my certificate for my 32 dev domains with mkcert [32 domains like dev.abc.hexstream.xyz] while in /home/hexstream/apps/mkcert/, then renamed the files to key.pem and cert.pem. (I could have used the -key-file and -cert-file options instead.)

I edited my usual wrangler invocations to look like this:
wrangler pages dev public --local-protocol https --port 8800 --https-key-path /home/hexstream/apps/mkcert/key.pem --https-cert-path /home/hexstream/apps/mkcert/cert.pem

I started wrangler pages dev per above, then pressed b and then edited the URL to be https://dev.abc.hexstream.xyz:8800/ instead of https://localhost:8800/.

That's all! Now we just need to eliminate the "edit the URL" part and we're golden!

@petebacondarwin Yes, there are various limitations in using http:localhost as a secure context, which I just don't want to deal with. I'm sure you appreciate the convenience of the development environment being nearly identical to production wherever possible...
Anyway I really want to use nice dev hostnames like dev.abc.hexstream.xyz, and I use HSTS everywhere, so HTTPS is inherently required. HTTP is just not accessible.
We're already almost there anyway, I just need the --hostname feature requested above and we're done!

I think what we need here is for pages dev to support the --ip flag just like wrangler dev (see https://developers.cloudflare.com/workers/wrangler/commands/#dev). This should be fairly straightforward to add

oh, actually ignore that last bit in my comment. pages dev already supports the --ip flag. @Hexstream can you please give that a try and let me know if that solved your issue?

Unfortunately, --ip dev.abc.hexstream.xyz does not work, I thought it would since in the console it says [wrangler:inf] Ready on https://dev.abc.hexstream.xyz:8800, but pressing b mysteriously opens https://<IP_ADDRESS>:36323/, which doesn't work.
Manually fixing this to https://dev.abc.hexstream.xyz:8800/ works.
(Also --ip sounds like a bit of a misnomer in this case, I think --hostname would be a bit better...)

(Also, --ip sounds like a bit of a misnomer in this case, I think --hostname (or --host?) would be a bit better...)

As an aside here, the various ip, host, hostname, upstream, etc names here are really confusing, since there are a number of concepts that need to be managed. In Workers generally, the hostname type terminology is the host where the Worker being debugged "believes" it is being hosted. In other words, this is the host on the request object passed to the Worker. This is significant when Workers are being used as middleware/proxies in front of an origin server, since calling fetch with the Worker's hostname will make a request to the origin not to the Worker.

@CarmenPopoviciu Here is the log for wrangler pages dev public --local-protocol https --ip dev.abc.hexstream.xyz --https-key-path /home/hexstream/apps/mkcert/key.pem --https-cert-path /home/hexstream/apps/mkcert/cert.pem --log-level debug, unfortunately it's not quite as useful as I anticipated, it doesn't even mention dev.abc.hexstream.xyz (nor the command line), and --log-level debug does almost nothing more compared to omitting that argument...

--- 2024-07-01T15:01:04.004Z debug
🪵  Writing logs to "/home/hexstream/.wrangler/logs/wrangler-2024-07-01_15-01-03_866.log"
---

--- 2024-07-01T15:01:04.004Z debug
Failed to load .env file ".env": Error: ENOENT: no such file or directory, open '.env'
    at Object.openSync (node:fs:582:18)
    at Object.readFileSync (node:fs:461:35)
    at tryLoadDotEnv (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:158768:72)
    at loadDotEnv (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:158777:12)
    at /home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:202740:20
    at /home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:162911:16
    at maybeAsyncResult (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:161132:44)
    at /home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:162910:14
    at /home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:161119:22
    at Array.reduce (<anonymous>) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '.env'
}
---

--- 2024-07-01T15:01:04.016Z log

 ⛅ wrangler 3.62.0
-------------------

---

--- 2024-07-01T15:01:04.057Z warn
▲ [WARNING] No compatibility_date was specified. Using today's date: 2024-07-01.

  ❯❯ Add one to your wrangler.toml file: compatibility_date = "2024-07-01", or
  ❯❯ Pass it in your terminal: wrangler pages dev [<DIRECTORY>] --compatibility-date=2024-07-01

  See https://developers.cloudflare.com/workers/platform/compatibility-dates/ for more information.

---

--- 2024-07-01T15:01:04.058Z log
No functions. Shimming...
---

--- 2024-07-01T15:01:04.072Z debug
Retrieving cached values for userId from node_modules/.cache/wrangler
---

--- 2024-07-01T15:01:04.072Z debug
Metrics dispatcher: Posting data {"type":"event","name":"run dev","properties":{"local":true,"usesTypeScript":true}}
---

--- 2024-07-01T15:01:04.080Z debug
Failed to load .env file "/home/hexstream/data/projects/websites/hexstream.xyz/abc.hexstream.xyz/.dev.vars": Error: ENOENT: no such file or directory, open '/home/hexstream/data/projects/websites/hexstream.xyz/abc.hexstream.xyz/.dev.vars'
    at Object.openSync (node:fs:582:18)
    at Object.readFileSync (node:fs:461:35)
    at tryLoadDotEnv (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:158768:72)
    at loadDotEnv (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:158777:12)
    at getVarsForDev (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:200152:18)
    at getBindings (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:207740:10)
    at getBindingsAndAssetPaths (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:207621:20)
    at getDevReactElement (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:207276:40)
    at startDev (/home/hexstream/.volta/tools/image/packages/wrangler/lib/node_modules/wrangler/wrangler-dist/cli.js:207343:60)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/hexstream/data/projects/websites/hexstream.xyz/abc.hexstream.xyz/.dev.vars'
}
---

--- 2024-07-01T15:01:04.139Z log
Using custom certificate at  /home/hexstream/apps/mkcert/key.pem
---

--- 2024-07-01T15:01:04.205Z log
⎔ Starting local server...
---

--- 2024-07-01T15:01:04.392Z log
✨ Parsed 2 valid header rules.
---

--- 2024-07-01T15:01:04.417Z debug
[InspectorProxyWorker] handleProxyControllerIncomingMessage {"type":"reloadStart"}
---

--- 2024-07-01T15:01:04.538Z error
✘ [ERROR] workerd/server/server.c++:3448: info: Inspector is listening

---

--- 2024-07-01T15:01:04.542Z debug
Metrics dispatcher: Posting data {"type":"event","name":"run pages dev","properties":{}}
---

--- 2024-07-01T15:01:04.551Z debug
[InspectorProxyWorker] handleProxyControllerIncomingMessage {"type":"reloadComplete","proxyData":{"userWorkerUrl":{"protocol":"http:","hostname":"<IP_ADDRESS>","port":"35673"},"userWorkerInspectorUrl":{"protocol":"ws:","hostname":"<IP_ADDRESS>","port":"39739","pathname":"/core:user:worker"},"userWorkerInnerUrlOverrides":{"protocol":"https"},"headers":{"MF-Proxy-Shared-Secret":"1191d008-224e-4d8f-b909-c6ebabe39be1"},"liveReload":false,"proxyLogsToController":false,"internalDurableObjects":[],"entrypointAddresses":{"__INTERNAL_WRANGLER_MIDDLEWARE__":{"host":"<IP_ADDRESS>","port":44795},"default":{"host":"<IP_ADDRESS>","port":45355}}}}
---

--- 2024-07-01T15:01:04.554Z debug
[InspectorProxyWorker] reconnectRuntimeWebSocket
---

--- 2024-07-01T15:01:04.557Z error
✘ [ERROR] workerd/server/server.c++:1220: info: Inspector client attaching [core:user:worker]

---

--- 2024-07-01T15:01:04.561Z debug
[InspectorProxyWorker] NEW RUNTIME WEBSOCKET http://<IP_ADDRESS>:39739/core:user:worker
---

--- 2024-07-01T15:01:04.564Z debug
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE {
  method: 'Runtime.executionContextCreated',
  params: {
    context: {
      id: 355797089,
      origin: '',
      name: 'Worker',
      uniqueId: '-8642599922537279942.-7841921188685164253'
    }
  }
}
---

--- 2024-07-01T15:01:04.567Z debug
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE { id: 100000001, result: {} }
---

--- 2024-07-01T15:01:04.569Z debug
[InspectorProxyWorker] SEND TO DEVTOOLS {"method":"Runtime.executionContextsCleared"}
---

--- 2024-07-01T15:01:04.572Z debug
[InspectorProxyWorker] RUNTIME WEBSOCKET OPENED
---

--- 2024-07-01T15:01:04.575Z debug
[InspectorProxyWorker] SEND TO RUNTIME {"method":"Runtime.enable","id":100000001}
---

--- 2024-07-01T15:01:04.578Z debug
[InspectorProxyWorker] SEND TO RUNTIME {"method":"Debugger.enable","id":100000002}
---

--- 2024-07-01T15:01:04.581Z debug
[InspectorProxyWorker] SEND TO RUNTIME {"method":"Network.enable","id":100000003}
---

--- 2024-07-01T15:01:04.584Z debug
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE {
  method: 'Debugger.scriptParsed',
  params: {
    scriptId: '3',
    url: 'file:///home/hexstream/data/projects/websites/hexstream.xyz/abc.hexstream.xyz/.wrangler/tmp/dev-dBNgnA/pages-shim.js',
    startLine: 0,
    startColumn: 0,
    endLine: 199,
    endColumn: 130,
    executionContextId: 355797089,
    hash: '92fae1739b2628f1a1b651d529400fa86ff59080aa6409fdae0f90ebe0906111',
    isLiveEdit: false,
    sourceMapURL: 'pages-shim.js.map',
    hasSourceURL: true,
    isModule: true,
    length: 6573,
    scriptLanguage: 'JavaScript',
    embedderName: 'pages-shim.js'
  }
}
---

--- 2024-07-01T15:01:04.585Z debug
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE {
  id: 100000002,
  result: { debuggerId: '6854278076421548368.-8686340897058967431' }
}
---

--- 2024-07-01T15:01:04.587Z debug
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE { id: 100000003, method: 'Network.enable', result: {} }
---

--- 2024-07-01T15:01:14.552Z debug
[InspectorProxyWorker] SEND TO RUNTIME {"method":"Runtime.getIsolateId","id":100000004}
---

--- 2024-07-01T15:01:14.557Z debug
[InspectorProxyWorker] RUNTIME INCOMING MESSAGE { id: 100000004, result: { id: '56b98f376911ea16' } }
---

(Added my terminal in an edit above, for completeness.)

(Edited twice above to include more details...)

One thing I notice is that if pressing b opens a wrong url like https://<IP_ADDRESS>:43111/, then editing it to http://<IP_ADDRESS>:43111/ (removing the s) does work, which is baffling since I specified --local-protocol https --port 8800.
(I had sometimes forgotten the --port option above, but it substantially doesn't change anything.)

I'll need to debug this a bit and understand why this is happening. pages dev definitely takes in those args correctly, so I think the problem is somewhere further down the line

just out of curiosity...how does smth like wrangler pages dev [directory] --ip dev.Hexstream.abc --local-protocol https behave like for you if you press b?

nope, that's what I was looking for. thank you 🙏


'typeof' check ignored by the TS compiler

TypeScript Version:  2.3.4
Code
  set value(value: T) {
    if (typeof value === 'object') {
      this._value = new Proxy(value, {
        get: (target, property) => {
          return target[property];
        },
        set: (target, property, value, receiver) => {
          target[property] = value;
          this.changed.next(this);
          return true;
        },
        deleteProperty: (target, property) => {
          return true;
        }
      });
    } else {
      this._value = value;
    }

    this.changed.next(this);
  }

Expected behavior:
I would expect this to compile fine, as we are checking to make sure that value is of type object before passing it as the first parameter to Proxy. And I can't mark T as <T extends object> since it might also be a simple number.
Actual behavior:
I get a compilation error like this one:
(35,30): error TS2345: Argument of type 'T' is not assignable to parameter of type 'object'.

Closing due to lack of additional feedback. Possible this has been fixed but the repro isn't very isolated.


Plugs Durability after Server Restart

Mod Version
3.2.1
CommonLib Version
2.3.7
Game Version
1.19.7
OS
Windows
Play mode
Multiplayer
Problem
We found a bug with the splitter plugs. If you put them in the mountain and then restart the server, you get the plugs back with full durability afterwards
Logs
No response
Mods
No response
Screenshots
No response

Fixed in v3.3.0


Revert to using timer-based cancellation for proxied requests

In https://github.com/stripe/sequins/commit/c6eb0b, we switched to using context to manage proxying requests to peers and the timeouts therein.
Using context still makes this flow easier, but using a context with a deadline had the unintended side effect that it acts as a deadline for the entire request, not just to connect. Since we return the still-open http.Response from the proxy method, we want to leave it open indefinitely from that point on.
In this way, it was also inadvertently working as a server timeout; we probably want some of those, but that should be addressed separately (and not be exclusive to proxied requests).
r? @zenazn
cc @kitchen

Thinking about this, I think this has the problem that it leaks the requests that didn't make it. They'd get closed when the upstream request finishes, but that's not exactly what we want.

Any chance I could get you to use a custom http.Transport / http.Client and to set a Timeout on the Transport's Dialer?

I don't think that does what I want, since the whole idea here is to have somewhat dynamic timeouts and backup requests. But maybe I'm misunderstanding what you're suggesting?

I added some logic to make sure other outstanding requests are canceled when one succeeds, and added a comment to clarify why I'm not defer cancel()ing.

Just so I'm reading this correctly:
this is in the proxy fanout, where you fire off a bunch of goroutines to ask ~all of the other nodes for the key. You want to cancel all of them but the one that came back first, because you still need the http.Response object from that one, which you'll cancel after you're done with it (or the context gets GC'd)
Seems legit!

Yup, that's right!

Apologies—I'm not sure I fully understood the control flow here until my second read through.
One thing that might help is some kind of concise (documented, tested, etc.) abstraction around this "first request past the post" idea. To be honest I'm not really sure what this should look like, and I'm not even sure what level it should act at (http.Request and a hijacked ReadCloser vs. context.Context being two options that come to mind), but I think it would do a lot for understandability.
Here's an untested implementation of the second idea (using context.Context) that I'll offer as a starting point for discussion: https://gist.github.com/zenazn/85ec533af61e45448f9d64bc091b70d3

(but
LGTM
I believe these changes, as written, are likely correct)


BUG: Change source for counting results

User Story
As a product manager and ReportStream team member, I would like my dashboard's data source to be the most accurate and reliable so that the resultant calculations and dashboards are less prone to error.
Description
Due to results quantity being based on the mapped condition codes, the tally for results are not representative of the data the product team would like to portray.
Options for remediation
The direction for moving forward is to base counts on the quantity of tests that were performed rather than the mapped condition codes. In addition, to increase automated maintainability of the dashboard, the support of manual mapping of the condition shorthands (for both test performed and condition codes) will be discontinued).
Acceptance Criteria

[ ] Tally result counts based on observation instances that point to a single test performed LOINC (more than one observation may be contained within an observation field)
[ ] Remove ability to filter by condition on the

@adegolier FYI2


Move the sciencemesh/iop ingress resources to the revad chart and support for 'networking.k8s.io/v1'

networking.k8s.io/v1beta1 is being deprecated in 1.19+, so we start supporting v1 based on the contents of .Capabilities.APIVersions to anticipate its unavailability on 1.22+
This closes #13

Contributing a Chart / update to an existing Chart

[x] Run helm lint on the chart dir.
[x] (Update) Bump the Chart.yaml version before merging, to release it as a new version.
[x] (Update) If the PR includes new configurable parameters in the chart's values.yaml. Add documentation in the appropiate README.

Looks good from what I can tell by going through the changes. It's certainly good practice to have the ingress resource here instead of in the umbrella chart (which needs to be updated now, don't forget that ;)).
The pitfalls I ran into with having the HTTP and gRPC services listen on the same host and path should also be mentioned somewhere: the gateway Reva daemon needs to exposed, and most people will do this using just one host. Since your default configuration uses the same path for both HTTP and gRPC, it is worth mentioning that this won't do in such cases.

@Daniel-WWU-IT very good points on your comment! Indeed a PR in sciencemesh/charts will follow and I'll include references to all the gotchas you mention on a sciencemesh/sciencemesh (docs) PR as well to complete this trifecta and get rid of the technical debt in #13


realizing_ / realized_ attributes

Hi all, it seems the library doesnt yet provide access to the attributes "realizing" and "realized", which links different artefacts between the OA, SA, LA, PA layers.
I only found it implemented for Functions (LF,SF) (edit: and Components on LA and PA). But not for Component Exchanges and Functional Exchanges.
Maybe if you provide an example how to add to one artefact type / one layer, I could contribute to add attributes for further types.

Hi Wuestengecko, thanks for looking into this. Have you been able to include realized/realizing attributes also for Component Exchanges? I pulled latest version but wasn't able to find it.
And one thing I noticed with the update: Now allocating_physical_link and allocating_physical_path appear on component exchanges on all Architecture layers, even though I think it should only appear on PA.

Have you been able to include realized/realizing attributes also for Component Exchanges?

Ah, I must have missed those, damn it.

Now allocating_physical_link and allocating_physical_path appear on component exchanges on all Architecture layers, even though I think it should only appear on PA.

This is actually how it is in the metamodel, and it's also been this way before. (I agree it doesn't make sense outside of PA, but there's only one "ComponentExchange" class which is reused across all layers, so it must have all possible attributes.)


Implement Optional>>return:

Fixes #22

Coverage remained the same at 100.0% when pulling d43f338edfc7d5c3f0a0e0c2bbfb72133f8e43e9 on issue_22 into 48201b85d874c2e19028b1773d8997f9ab7cb9e5 on master.


(libreoffice-still)

Checklist

[X] I have checked the moderation queue that no new version has been submitted (only visible when logged in), or the submitted package version has failed the automated checks.

Please navigate to the following link to view the moderation queue.

[X] I have verified that the new version is a stable release.
[X] I have looked to see if there are any Bug reports that prevents a new version being submitted and that no existing Outdated Reports have been created.
[X] I have verified the new version has a Windows binary (EXE or MSI installer, Zip or other archive, etc).
[X] I have verified that this is the correct repository, and the package is maintained by the chocolatey-community user.

New Software Version
7.6.7
Download location
https://downloadarchive.documentfoundation.org/libreoffice/old/<IP_ADDRESS>/win/
Package Page
https://community.chocolatey.org/packages/libreoffice-still

Package was automatically updated to v24.2.4 and is approved.


Add integrations tests for Hypriot OS release

LGTM, all integration tests passed on a NVIDIA ShieldTV device.


Yii2 ActiveDataProvider When the query uses the yii\db\query object,  ActionColumn bug!

Yii2 ActiveDataProvider When the query uses the yii\db\query object, the resulting view of the GridView's index page has a bug in the yii\grid\ActionColumn generated link
doc: https://www.yiiframework.com/doc/guide/2.0/en/output-data-providers#active-data-provider

use yii\db\Query;
use yii\data\ActiveDataProvider;

//$query = Post::find()->where(['status' => 1]);

// The view link generated by yii\grid\ActionColumn has a bug. The generated link id is the index number of the array. The correct one should be the primary key of the record.

$query = (new Query())->from('post')->where(['status' => 1]);

$provider = new ActiveDataProvider([
    'query' => $query,
    'pagination' => [
        'pageSize' => 10,
    ],
    'sort' => [
        'defaultOrder' => [
            'created_at' => SORT_DESC,
            'title' => SORT_ASC,
        ]
    ],
]);

Additional info

Q
A

Yii version
<IP_ADDRESS>?

PHP version    7.0

Operating system
mac os

Why did you create $provider instanceof ActiveDataProvider by Query.
It's "Active" so you need a ActiveQuery.
You can see: https://github.com/yiisoft/yii2/blob/65f6b59b35cc63aee7f16a64aeafcec11a8dba39/framework/data/ActiveDataProvider.php#L135

Because I want to return an array directly instead of converting it with ModelName::find()->asArray()

Let's try SqlDataProvider


stdout suppressed, some charts not being displayed

Weights and Biases version: 0.8.12
Python version: 3.6
Operating System: Linux

I am seeing a strange issue, after the W&B process has started I can't see any stdout on my screen. Further most charts are not being displayed (even though their summary metrics are being logged). Here's a run with the issue: https://app.wandb.ai/abs-world-models/awm/runs/l1eetxul?workspace=user-ankeshanand
Any idea what could be going wrong here?

Strange, was everything working fine for you with a previous release.  If you can try pip install wandb==0.8.9 and see if the screen issue still happens that would help.
For the run you linked to, it looks like all 7 charts are present corresponding to the 7 summary metrics.  Am I missing something?

Oops sorry that was false alarm! Seems the issue was from my end, and a browser extension was to blame. I still can't see stdout but I am able to see the logs on the W&B run dashboard which suffices.

I'm still concerned about stdout not showing up in your terminal.  Was it working before?


Won't work if two array keys have equal values

To reproduce:
$data = [
  "firstname" => "test",
  "lastname" => "test"
];

$user = new User();
$user = Applyzer::apply($data, $user);

echo($user->getFirstname());
echo($user->getLastname());

😱  Could you fix it?

No, I decided not to use Applyzer in my project until YOU fix it 🤣

Oh lord 😅
Maybe at weekend I do that

The formalize method is using array_flip and it removes the duplicate keys.
This code solves the problem:
     private function formalize(array $data)
     {
         $newData = array();
         foreach($data as $key => $value) {
            $newData = array_merge(
                $newData, [$this->formatAttribute($key) => $value]
            );
         }
         return $newData;
     }

But then you have two things to think about:

It is not using a "functional way" like the rest of the lib.
The formatAttribute method now does not format the attribute, but the key.

I think I can use array_reduce with to avoid foreach

Thanks @arojunior for the help!


Does not register brood of bram globals

Hi!
It seams like the regex for globals does not work with aurli cave globals, at least it missed 2 globals on brood of bram.
Line 222616: 2023-01-12 06:47:25 [Globals] [] Christer toad Johansson killed a creature (Disecter, Brood of Bram) with a value of 91 PED!
Line 224556: 2023-01-12 06:56:36 [Globals] [] Christer toad Johansson killed a creature (Disecter, Brood of Bram) with a value of 54 PED!

The problem is the , in the name of the creature: "Disecter, Brood of Bram"
It needs to be added here: https://github.com/euloggeradmin/LootNanny/blob/main/chat.py#L135

Will be fixed on v0.0.11


Add temporary workaround Dash Datatable

See https://github.com/plotly/dash/issues/1010. Add workaround as long as issue is unresolved.

Closed in #152.


Sending both confirmable and invitable emails

Happening to me with:
devise (3.5.2)
devise_invitable (1.5.3)
my model:
class User < ActiveRecord::Base
...
  devise :invitable, :database_authenticatable, :registerable, :confirmable,
         :recoverable, :rememberable, :trackable, :validatable
...
end

my controller method:
  def send_invitation
    @record = User.new email: params[:email]
    @record.company = current_company

    if @record.invalid?
      @errors = @record.errors
      @errors.delete(:password) #ignore password absence
    else
      @errors = {}
    end

    @record.save!(validate: false) if  @errors.empty?

    @record.invite! if @errors.empty?

    respond_to do |format|
        format.js {}
    end
  end

confirmation_instructions is fired first, then invitation_instructions

You shouldn't save before invite, because save will fire sending confirmation, and then invite! will disable sending confirmation, but confirmation email is already sent. Also, invite! already calls save.
Anyway, you can use invite! class method, instead of long code:
record = User.invite!(email: params[:email]) do |record|
  record.company = current_company
end
@errors = @record.errors

Thanks. This solved my issue.

Doesn't this invite! method skip validation?
It says so in readme.

invite! class method (User.invite!) skip validations, unless validate_on_invite is enabled


add nightly failures view (seems like materialized but TBD)

we need one more default view - nightly_failures where we can track grouping by failures reason and provide details analysis of ech failure, their influence on regression testing etc.
ask vd about view structure

added #535


⚠ Roblox Site has degraded performance

In 4721c5c, Roblox Site (https://www.roblox.com) experienced degraded performance:

HTTP code: 503
Response time: 3216 ms

Resolved: Roblox Site performance has improved in 33ffb50 after 2 minutes.


issue with ngf-pattern and accept

Hi Team,
I have used this code

Allowed formats are {{picFile.$errorParam}}
when clicked on button it shows browser pop up, if I change from .csv to all files and select any other format and click back to .csv file, it doesn't get selected.
Any advise on this will be great help, even adding mime type also doesn't resolve this
ngf-pattern="'.xls,.csv,.xlsx, application/vnd.ms-excel, text/csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'"

The browser popup restrictions are controlled by accept attribute, what value do you have for accept?

         <input type="file" ngf-select ng-model="picFile" name="file" ngf-pattern="'.xls,.csv,.xlsx'" accept=".csv" ngf-max-size="20MB" required class="btn btn-success">
                    Allowed formats are {{picFile.$errorParam}}

When the pop shows, by default it's showing as .csv, but if I change the option to All Files, select some file for example ending with ".mp3" and again select a file ending with ".csv", it's not working

You gotta change your accept to match the ngf-pattern. As for how the popup file select work it is browser dependent and there is not much we could do about it.
So accept=".xls,.csv,.xlsx" or setting the accept to mime types could work for you.

Its nice way actually, changed the code .

So in pop it shows as custom files. But when you switch to all files, make a invalid selection like .mp3 and again switch to matching pattern like ".csv", it doesn't let me select for upload. So this is browser dependent issue is it?

Its nice way actually, changed the code .

So in pop it shows as custom files. But when you switch to all files, make a invalid selection like .mp3 and again switch to matching pattern like ".csv", it doesn't let me select for upload. So this is browser dependent issue is it?

Yea try the mime types instead of extensions might work

accept="text/csv" works well

the recognized mime types can depend on what software is installed on the users machine (browser gets some of it's definitions there), have simular issues right now, pretty tricky so.

In my case the allowed extensions were .csv and .txt. The following worked for me.
ngf-pattern="'.csv,.txt'"
accept="text/csv, text/plain"


Connect to a engine through unix socket

The documentation says:

Addr
This is the URL that is used to access the engine. For local use only, use unix:///path/to/docker.sock.
Use http:// for non-SSL endpoints and https:// for SSL protected in multi-host setups.

From shipyard I get:

Error
Get unix:///var/_ping: unsupported protocol scheme "unix"

But as far as I can see the samalba/dockerclient doesn't support unix sockets.
type DockerClient struct {
  URL           *url.URL
  HTTPClient    *http.Client
  monitorEvents int32
}

Am I correct?

documented here without warnings. http://shipyard-project.com/docs/engines/

Thanks. There must have been an error in the docs deploy as these should
have been removed. I will update. Thanks!
On Sunday, February 1, 2015, James Gilliland<EMAIL_ADDRESS>wrote:

documented here without warnings.
http://shipyard-project.com/docs/engines/
—
Reply to this email directly or view it on GitHub
https://github.com/shipyard/shipyard/issues/347#issuecomment-72376253.


add openssl soft work supporting for cipher and digest

is this sync to internal code, why need change api
build fail here,
uadk_cipher.c:816:23: error: ‘UADK_DO_SOFT’ undeclared (first use in this function)

1, why change api?
2, can not start nginx
linaro@ubuntu:/usr/local/nginx$ sudo sbin/nginx
hisi sec init Kunpeng920!
failed to setup async event notification.
failed to setup async event notification.
failed to setup async event notification.
failed to setup async event notification.
failed to setup async event notification.
nginx: [emerg] SSL_CTX_new() failed (SSL: error:2406C06C:random number generator:RAND_DRBG_instantiate:error instantiating drbg error:2406B072:random number generator:RAND_DRBG_generate:in error state error:2406C06E:random number generator:RAND_DRBG_instantiate:error retrieving entropy error:2406C06C:random number generator:RAND_DRBG_instantiate:error instantiating drbg error:2406B072:random number generator:RAND_DRBG_generate:in error state error:2406C06E:random number generator:RAND_DRBG_instantiate:error retrieving entropy error:2406B072:random number generator:RAND_DRBG_generate:in error state error:2406C06C:random number generator:RAND_DRBG_instantiate:error instantiating drbg error:2406B072:random number generator:RAND_DRBG_generate:in error state error:2406C06E:random number generator:RAND_DRBG_instantiate:error retrieving entropy error:2406C06C:random number generator:RAND_DRBG_instantiate:error instantiating drbg error:2406B072:random number generator:RAND_DRBG_generate:in error state err:2406c06e:24:6c:6e err:240)

nginx can not work

need closed.


A question for sample

I am trying to follow the suggested use, but having troubles.
[1] It seems like the code is trying to read the C2S properties files from a fixed location.
[2] How should it work with the sample attached ? (there is a graph db sample).
I don't have a sample working or know how to produce one, as the instructions do not explain what should create the C2S properties files or how.
Assume I've create a neo4j schema.

The code is currently being majorly refactored to be made more open source, it's current state would make it hard to use. More documentation will be made available in around 3/4 weeks. Sorry that the code is currently not that available.


Update CLI extensions available doc

Update CLI extensions available doc.
Triggered by Azure/azure-cli-extensions - TRAVIS_BUILD_ID=544895410
https://github.com/Azure/azure-cli-extensions/commit/2a38a139e6c46e8953cda33db358eae436960549

Docs Build status updates of commit a2b1f3b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Build Error: Module not found: Error: Can't resolve 'core-js/es6/xxx'

Module not found: Error: Can't resolve 'core-js/es6/regexp' in 'C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src'
resolve 'core-js/es6/regexp' in 'C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src'
  Parsed request is a module
  using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\package.json (relative path: ./src)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      looking for modules in C:/Users/chaoy/WebstormProjects/light-bootstrap-dashboard-angular2/src
        using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\package.json (relative path: ./src)
          Field 'browser' doesn't contain a valid alias configuration
          using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\package.json (relative path: ./src/core-js/es6/regexp)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp doesn't exist
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp.ts doesn't exist
            .tsx
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp.tsx doesn't exist
            .mjs
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp.mjs doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp.js doesn't exist
            as directory
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp doesn't exist
      C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\node_modules doesn't exist or is not a directory
      C:\Users\chaoy\WebstormProjects\node_modules doesn't exist or is not a directory
      C:\Users\chaoy\node_modules doesn't exist or is not a directory
      C:\Users\node_modules doesn't exist or is not a directory
      C:\node_modules doesn't exist or is not a directory
      looking for modules in C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules
        using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\package.json (relative path: ./node_modules)
          Field 'browser' doesn't contain a valid alias configuration
          using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\package.json (relative path: ./es6/regexp)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp doesn't exist
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp.ts doesn't exist
            .tsx
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp.tsx doesn't exist
            .mjs
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp.mjs doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp.js doesn't exist
            as directory
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp doesn't exist
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp.ts]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp.tsx]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp.mjs]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\regexp.js]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\node_modules]
[C:\Users\chaoy\WebstormProjects\node_modules]
[C:\Users\chaoy\node_modules]
[C:\Users\node_modules]
[C:\node_modules]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp.ts]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp.tsx]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp.mjs]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\regexp.js]
 @ ./src/polyfills.ts 15:0-29
 @ multi<EMAIL_ADDRESS><EMAIL_ADDRESS>./src/polyfills.ts

Error: ./src/polyfills.ts
Module not found: Error: Can't resolve 'core-js/es6/set' in 'C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src'
resolve 'core-js/es6/set' in 'C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src'
  Parsed request is a module
  using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\package.json (relative path: ./src)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      looking for modules in C:/Users/chaoy/WebstormProjects/light-bootstrap-dashboard-angular2/src
        using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\package.json (relative path: ./src)
          Field 'browser' doesn't contain a valid alias configuration
          using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\package.json (relative path: ./src/core-js/es6/set)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set doesn't exist
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set.ts doesn't exist
            .tsx
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set.tsx doesn't exist
            .mjs
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set.mjs doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set.js doesn't exist
            as directory
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set doesn't exist
      C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\node_modules doesn't exist or is not a directory
      C:\Users\chaoy\WebstormProjects\node_modules doesn't exist or is not a directory
      C:\Users\chaoy\node_modules doesn't exist or is not a directory
      C:\Users\node_modules doesn't exist or is not a directory
      C:\node_modules doesn't exist or is not a directory
      looking for modules in C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules
        using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\package.json (relative path: ./node_modules)
          Field 'browser' doesn't contain a valid alias configuration
          using description file: C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\package.json (relative path: ./es6/set)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\set doesn't exist
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\set.ts doesn't exist
            .tsx
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\set.tsx doesn't exist
            .mjs
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\set.mjs doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\set.js doesn't exist
            as directory
              C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\node_modules\core-js\es6\set doesn't exist
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set.ts]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set.tsx]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set.mjs]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\core-js\es6\set.js]
[C:\Users\chaoy\WebstormProjects\light-bootstrap-dashboard-angular2\src\node_modules]
[C:\Users\chaoy\WebstormProjects\node_modules]
[C:\Users\chaoy\node_modules]
[C:\Users\node_modules]
[C:\node_modules]

The imports have changed for core-js version 3.0.1 - for example
import 'core-js/es6/array';

can now be provided simply by the following
import 'core-js/es/array';

if you would prefer not to bring in the whole of core-js


Test server: no logos

On https://codabench-test.lri.fr/

Uploads are not working either

It's because of the minio-test.lri.fr certificate expired. I've renewed it, it works now.


Svclb-traefik could not be started after data directory persistence

k3s version: k3s:v1.21.2-k3s1
k8s version: v1.19.8
apiVersion: v1
kind: Pod
metadata:
  name: k3s-master
spec:
  hostAliases:
    - ip: <IP_ADDRESS>
      hostnames:
        - harbor.misteruly.cn
  containers:
  - command:
    - /bin/k3s
    - server
    - --cluster-init
    - --tls-san=<IP_ADDRESS>
    - --snapshotter=native
    volumeMounts:
      - name: nfs-rancher-agent
        mountPath: /var/lib/rancher/k3s
    env:
    - name: K3S_TOKEN
      value: "8345ec20273a8d11968c1e8e18d08512"
    image: rancher/k3s:v1.21.2-k3s1
    imagePullPolicy: IfNotPresent
    name: k3s-cluster
    securityContext:
      privileged: true
    ports:
    - containerPort: 6443
  volumes:
  - name: nfs-rancher-agent
    nfs:
      server: <IP_ADDRESS>
      path: /nfsdata/ks-pv/k3s

k3s pod status
/ # kubectl get pod -A
NAMESPACE          NAME                                      READY   STATUS                 RESTARTS   AGE
kube-system        coredns-7448499f4d-f7x2b                  1/1     Running                1          2d12h
kube-system        helm-install-traefik-crd-fscmd            0/1     Completed              0          2d12h
kube-system        helm-install-traefik-jxspf                0/1     Completed              0          2d12h
kube-system        local-path-provisioner-5ff76fc89d-rtrt2   1/1     Running                1          2d12h
kube-system        metrics-server-86cbb8457f-rmrq2           1/1     Running                1          2d12h
kube-system        svclb-traefik-wb4t8                       0/2     CreateContainerError   1398       2d12h
kube-system        traefik-97b44b794-jsrsx                   1/1     Running                1          2d12h

error logs
E1227 02:37:50.237083       1 pod_workers.go:190] "Error syncing pod, skipping" err="[failed to \"StartContainer\" for \"lb-port-80\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-80 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\", failed to \"StartContainer\" for \"lb-port-443\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-443 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\"]" pod="kube-system/svclb-traefik-tq4zb" podUID=6f05c646-ff4a-4813-9f4c-b1e011dc664f
I1227 02:38:01.233943       1 scope.go:111] "RemoveContainer" containerID="f4e41126de88bc64779d98096cd737f92d345a399ed32a2e5c2da88742b8b5c0"
I1227 02:38:01.233988       1 scope.go:111] "RemoveContainer" containerID="adb98ae7a18d5c47b4b22552544333dab64fbe733af5b15ba2669a0a5b9ff5ee"
E1227 02:38:01.234546       1 pod_workers.go:190] "Error syncing pod, skipping" err="[failed to \"StartContainer\" for \"lb-port-80\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-80 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\", failed to \"StartContainer\" for \"lb-port-443\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-443 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\"]" pod="kube-system/svclb-traefik-tq4zb" podUID=6f05c646-ff4a-4813-9f4c-b1e011dc664f
I1227 02:38:14.234767       1 scope.go:111] "RemoveContainer" containerID="f4e41126de88bc64779d98096cd737f92d345a399ed32a2e5c2da88742b8b5c0"
I1227 02:38:14.234811       1 scope.go:111] "RemoveContainer" containerID="adb98ae7a18d5c47b4b22552544333dab64fbe733af5b15ba2669a0a5b9ff5ee"
E1227 02:38:14.235751       1 pod_workers.go:190] "Error syncing pod, skipping" err="[failed to \"StartContainer\" for \"lb-port-80\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-80 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\", failed to \"StartContainer\" for \"lb-port-443\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-443 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\"]" pod="kube-system/svclb-traefik-tq4zb" podUID=6f05c646-ff4a-4813-9f4c-b1e011dc664f
I1227 02:38:28.235442       1 scope.go:111] "RemoveContainer" containerID="f4e41126de88bc64779d98096cd737f92d345a399ed32a2e5c2da88742b8b5c0"
I1227 02:38:28.235471       1 scope.go:111] "RemoveContainer" containerID="adb98ae7a18d5c47b4b22552544333dab64fbe733af5b15ba2669a0a5b9ff5ee"
E1227 02:38:28.236444       1 pod_workers.go:190] "Error syncing pod, skipping" err="[failed to \"StartContainer\" for \"lb-port-80\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-80 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\", failed to \"StartContainer\" for \"lb-port-443\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-443 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\"]" pod="kube-system/svclb-traefik-tq4zb" podUID=6f05c646-ff4a-4813-9f4c-b1e011dc664f
I1227 02:38:39.233122       1 scope.go:111] "RemoveContainer" containerID="f4e41126de88bc64779d98096cd737f92d345a399ed32a2e5c2da88742b8b5c0"
I1227 02:38:39.233153       1 scope.go:111] "RemoveContainer" containerID="adb98ae7a18d5c47b4b22552544333dab64fbe733af5b15ba2669a0a5b9ff5ee"
E1227 02:38:39.234003       1 pod_workers.go:190] "Error syncing pod, skipping" err="[failed to \"StartContainer\" for \"lb-port-80\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-80 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\", failed to \"StartContainer\" for \"lb-port-443\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=lb-port-443 pod=svclb-traefik-tq4zb_kube-system(6f05c646-ff4a-4813-9f4c-b1e011dc664f)\"]" pod="kube-system/svclb-traefik-tq4zb" podUID=6f05c646-ff4a-4813-9f4c-b1e011dc664f

Here's how to solve the problem  ??

Can you try again with a more recent release? I'm also curious as to the two versions you list - are you using k3s 1.21.2, or 1.19.8?

Can you try again with a more recent release? I'm also confused by the two versions you list - are you using k3s 1.21.2, or 1.19.8?

k3s 1.21.2  Deployed on the K8S


Update sbt-apache-sonatype and handle rename

Updates sbt-apache-sonatype. Note that this new version renames SonatypeApachePlugin to ApacheSonatypePlugin to be consistent with the project name.

@pjfanning @nvollmar @He-Pin Another PR that was missed in the PR series from yesterday


Improve documentation of Context

Context needs documentation that explains how it is able to be used.

@samvaity PTAL

Closed in https://github.com/Azure/azure-sdk-for-java/pull/5705


Blueprint Crashes with playerAnimator Mod Animations

Mod Name
Blueprint Mod Library
Mod Homepage
https://www.curseforge.com/minecraft/mc-mods/blueprint
Minecraft version
1.20.1
Describe the bug
Spell Engine mods and Blueprint (Team Abnormals Mod Library) are incompatible via Sinytra due to animations.
Steps to reproduce

Install the mods - Spell Engine with an RPG series mod and dependants, and the Blueprint API mod.
Hold any item with an animation that leverages the mod playerAnimator. It crashes the game.
In a new world, with the forge version of BetterCombat installed, hold any item with a new animation. It crashes the game.
...

Logs
https://gist.github.com/SirChamomile/4154bbbab225efafcdcb8e0ec7306c85
Additional context
No response

Fixed in Forgified Fabric API 0.92.0+1.11.5+1.20.1.


Fix typo: tripple ==> triple

coverage: 95.965% (+0.07%) from 95.892% when pulling 731fa0b242ee051b28f8060aaa6a30be957c86fd on jdufresne:typo-triple into da4800420cd377960b6f20b94b97aa49e4bf94e0 on railsadminteam:master.


Azure Login using same federated service principal succeeding on Github provided runner and failing on self-hosted runner

I have a federated service principal attached with github repo. Azure login succeeds on ubuntu-latest runner, but same azure login task fails when self-hosted github runner is used with following error:
Using OIDC authentication...
Error:  Cannot read properties of undefined (reading 'message'). Please make sure to give write permissions to id-token in the workflow.
/bin/az cloud set -n azurecloud
Done setting cloud: "azurecloud"
Error: : AADSTS50027: JWT token is invalid or malformed.
Trace ID: xxxxxxxx-xxxx(https://github.com/xxxxx/xxxxx/actions/runs/xxxxx/jobs/xxxxx#step:x:xx)x-xxxx-xxxx-xxxxxxxxxxxx
Correlation ID: xxxxx
Timestamp: xxxx
Error: To re-authenticate, please run:
az login
Error: Az CLI Login failed. Please check the credentials and make sure az is installed on the runner. For more information refer https://aka.ms/create-secrets-for-GitHub-workflows

Please make sure to provide the below permissions in your workflow-
permissions:
      id-token: write
      contents: read

Can you share your workflow for more details if the above suggestion didn't help.

The below permissions are in place at workflow level:
permissions:
id-token: write
contents: read

The issue is still there, the flow is as follows:
name: 'CallTestAzureLoginIssue'
Controls when the workflow will run
on:
workflow_dispatch:
permissions:
id-token: write
contents: read
jobs:
deploy:
runs-on: runner2
environment: dev
steps:

- name: 'Echo ID token'
  run: |
    az version
    echo "ACTIONS_ID_TOKEN_REQUEST_URL = $ACTIONS_ID_TOKEN_REQUEST_URL"
    echo "ACTIONS_ID_TOKEN_REQUEST_TOKEN = $ACTIONS_ID_TOKEN_REQUEST_TOKEN"

- name: 'Login to Azure'
  uses: azure/login@v1
  with:
      client-id: ${{ secrets.AZURE_CLIENT_ID }}
      tenant-id: ${{ secrets.AZURE_TENANT_ID }}
      subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      audience: 'api://AzureADTokenExchange'

Please make sure to provide the below permissions in your workflow-
permissions:
      id-token: write
      contents: read

Can you share your workflow for more details if the above suggestion didn't help.

name: 'CallTestAzureLoginIssue'
Controls when the workflow will run
on:
workflow_dispatch:
permissions:
id-token: write
contents: read
jobs:
deploy:
runs-on: runner2
environment: dev
steps:

- name: 'Echo ID token'
  run: |
    az version
    echo "ACTIONS_ID_TOKEN_REQUEST_URL = $ACTIONS_ID_TOKEN_REQUEST_URL"
    echo "ACTIONS_ID_TOKEN_REQUEST_TOKEN = $ACTIONS_ID_TOKEN_REQUEST_TOKEN"

- name: 'Login to Azure'
  uses<EMAIL_ADDRESS>  with:
      client-id: ${{ secrets.AZURE_CLIENT_ID }}
      tenant-id: ${{ secrets.AZURE_TENANT_ID }}
      subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      audience: 'api://AzureADTokenExchange'

Thanks for sharing your workflow. A quick check to understand if you have setup the federated credential for the environment that you are using.

Thanks for sharing your workflow. A quick check to understand if you have setup the federated credential for the environment that you are using.

Actually the federated credential is setup. The azure login using azure/login@v1 works fine when the runner is set to below:
deploy:
runs-on: ubuntu-latest
environment: dev
But the azure login using azure/login@v1 fails when the runner is set to self-hosted:
deploy:
runs-on: runner2
environment: dev
I also ran the ./run.sh --check --url  --pat  to troubleshoot if self hosted runner has any issues:
But all checks w.r.t reaching api.github.com and other github urls are all passed

Same issue using credentials. All work on Github hosted runners but fails on self-hosted runners!

@yadusum Did you check if the node running your self-hosted runner has az and kubectl  commands installed? this was the issue on my side.
On ubuntu, you can install az as follows:
sudo apt-get install azure-cli

for kubectl:
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/

I am having the same issue. Everything works on github runners but not on self-hosted docker runners. The self-hosted runner has Azure CLI and kubectl installed.

same, i've also attempted this as well before azure/login
      - name: Install Azure cli         run: |           sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg           curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null           AZ_REPO=$(lsb_release -cs)           echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list           sudo apt-get update           sudo apt-get install azure-cli           az --version

@BALAGA-GAYATRI Any update on this? This is a major showstopper, as there basically is no proper Github <> Azure integration, with self-hosted runners running inside Azure itself... Quite the irony!
First step would probably be to remove the "Question" label and add the "Bug" label... or explain to us how to use OIDC with self-hosted runners (ie. answer the "question"). It's pretty clear most of us here have installed the Azure CLI on the runner.
Adding meaningful logging and debugging options to the script might be useful as well as this error only generates a useless generic message from a (too long) try/catch block.

@BALAGA-GAYATRI Any update on this? This is a major showstopper, as there basically is no proper Github <> Azure integration, with self-hosted runners running inside Azure itself... Quite the irony!
First step would probably be to remove the "Question" label and add the "Bug" label... or explain to us how to use OIDC with self-hosted runners (ie. answer the "question"). It's pretty clear most of us here have installed the Azure CLI on the runner.
Adding meaningful logging and debugging options to the script might be useful as well as this error only generates a useless generic message from a (too long) try/catch block.

use this before running action
ensure:
id-token: write is enabled
- name: az cli install
      run: |
            sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
            curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
            AZ_REPO=$(lsb_release -cs)
            echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list
            sudo apt-get update
            sudo apt-get install azure-cli
            # Update the list of packages
            sudo apt-get update
            # Install pre-requisite packages.
            sudo apt-get install -y wget apt-transport-https software-properties-common
            # Download the Microsoft repository GPG keys
            wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
            # Register the Microsoft repository GPG keys
            sudo dpkg -i packages-microsoft-prod.deb
            # Delete the the Microsoft repository GPG keys file
            rm packages-microsoft-prod.deb
            # Update the list of packages after we added packages.microsoft.com
            sudo apt-get update
            # Install PowerShell
            sudo apt-get install -y powershell -f
```

same, i've also attempted this as well before azure/login
      - name: Install Azure cli
        run: |
          sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
          curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
          AZ_REPO=$(lsb_release -cs)
          echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list
          sudo apt-get update
          sudo apt-get install azure-cli
          az --version

AZ version will list, but the next step when performing azure/login results in the same error as others
Please check the credentials and make sure az is installed on the runner. For more information refer https://aka.ms/create-secrets-for-GitHub-workflows

Following up on this. It appears we cannot run the AZ Cli install as part of the workflow since it only installs it for that session, the second you go to the next step for Azure/Login the container is cleaned up and the AZ CLI is lost.
My only work around is to manually go to my Self-Hosted runner and install AZ CLI on the virtual machine itself, so the AZ Cli is available for any container that github actions launches.

@BALAGA-GAYATRI Any update on this? This is a major showstopper, as there basically is no proper Github <> Azure integration, with self-hosted runners running inside Azure itself... Quite the irony!
First step would probably be to remove the "Question" label and add the "Bug" label... or explain to us how to use OIDC with self-hosted runners (ie. answer the "question"). It's pretty clear most of us here have installed the Azure CLI on the runner.
Adding meaningful logging and debugging options to the script might be useful as well as this error only generates a useless generic message from a (too long) try/catch block.

use this before running action
ensure: id-token: write is enabled
- name: az cli install
      run: |
            sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
            curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
            AZ_REPO=$(lsb_release -cs)
            echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list
            sudo apt-get update
            sudo apt-get install azure-cli
            # Update the list of packages
            sudo apt-get update
            # Install pre-requisite packages.
            sudo apt-get install -y wget apt-transport-https software-properties-common
            # Download the Microsoft repository GPG keys
            wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
            # Register the Microsoft repository GPG keys
            sudo dpkg -i packages-microsoft-prod.deb
            # Delete the the Microsoft repository GPG keys file
            rm packages-microsoft-prod.deb
            # Update the list of packages after we added packages.microsoft.com
            sudo apt-get update
            # Install PowerShell
            sudo apt-get install -y powershell -f

Thanks for the response. I had both az-cli and powershell installed inside the self-hosted docker runner but I still get that error.

@ruqaiyah-oqc Please, stop telling us to install the Azure CLI. We know it's needed, it's been told several times above, it IS installed. This is not the issue here.

Following up on this. It appears we cannot run the AZ Cli install as part of the workflow since it only installs it for that step, the second you go to the next step for Azure/Login the container is cleaned up and the AZ CLI install is lost.

@jku-sr What container are you referring to? Everything that is installed using apt-get will end up being available to all users on the runner host and will remain available until it is explicitly uninstalled. Unless of course you are using ephemeral runners on Azure Container Apps or whatever, in which case you should of course install it in your runner image. Anyway, steps of a given job are all executed on the same runner, so your remark does not apply either way.

Turns out my problem was that the user running the runner service was missing a home directory, which made the Azure CLI fail with a very explicit error message... that was swallowed by the login script.
My suggestion above still stands : please give users a means of debugging what's going on exactly when it fails, it will probably prevent many bug reports from being created.

in reference to the container I have this output the end of my Run command step:
az script ran successfully.
cleaning up container...

To me that means it installed AZ CLI only in that container and it was then cleanedup/deleted, on my next step when I try to do azure/login I get the
"Error: Az CLI Login failed. Please check the credentials and make sure az is installed on the runner. For more information refer https://aka.ms/create-secrets-for-GitHub-workflows"
I don't know why but i had to manually install az cli at the OS level on my linux runner. Hope that makes sense

Hi @yadusum,
Are you still experiencing the AADSTS50027: InvalidJwtToken error? I've investigated the issue and found some potential solutions:

Ensure that you're using the latest version of az cli.
Make sure that the clock on your self-hosted runner is synced with the Azure AD servers.
Double-check that your federated credential is valid and has the necessary permissions to perform the action.

If the issue persists, please use the debug branch with uses: azure/login@debug in your workflow to output more information. This will help us better troubleshoot the issue.

Hi @jku-sr,
Are you using the azure/cli action? This action will not install az cli on your runner, since it runs on the docker container with preinstalled az cli. Once you finish the azure/cli action, it will clean up the container. You should install az cli on your runner before using azure/login with command like
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

BTW, don't use azure/cli before azure/login. The standard operation to run any Azure actions is to perform the login action first.

Hi @jku-sr, Are you using the azure/cli action? This action will not install az cli on your runner, since it runs on the docker container with preinstalled az cli. Once you finish the azure/cli action, it will clean up the container. You should install az cli on your runner before using azure/login with command like
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

BTW, don't use azure/cli before azure/login. The standard operation to run any Azure actions is to perform the login action first.

Hi @MoChilia
You are correct, i am not running Azure/CLI action since I realized it's a docker container that gets cleaned up after the step is done. I have a separate run step now that installs AZ CLI at the Runner OS level before using azure/login

Hey,
Any updates on this issue ?
it's really strange that it works on GitHub hosted runners and not on self-hosted ones.

Hi @Z4ck404 , the PR is merged and we'll release it this Month.
If it blocks you somehow, you can use a workaround solution like https://github.com/Azure/login/issues/340#issuecomment-1624796136. And you can refer to the guide https://github.com/Azure/login/blob/6fd41fcee35d23a9aa03460fab8bb9f94fad4e0b/README.md#login-with-system-assigned-managed-identity .

Hi @Z4ck404 , the PR is merged and we'll release it this Month. If it blocks you somehow, you can use a workaround solution like #340 (comment). And you can refer to the guide https://github.com/Azure/login/blob/6fd41fcee35d23a9aa03460fab8bb9f94fad4e0b/README.md#login-with-system-assigned-managed-identity .

Thanks a lot for your reply @YanaXu. I think I can wait for the release if it will happen soon

@YanaXu I am bit confused as the OP requests for guidance on federated login whereas you point to a paragraph about system assigned managed identity login. Can you elaborate on this a bit?

@YanaXu I am bit confused as the OP requests for guidance on federated login whereas you point to a paragraph about system assigned managed identity login. Can you elaborate on this a bit?

Hi @cveld, the last comment is not valid anymore since the self-hosted runners now is supported in v1.
In my last comment, since it's not supported yet, I suggest users to use System Managed Identity to login for a workaround.
But now since they are all supported, please refer to the guide and choose a best login method for your cases.

Login With OpenID Connect (OIDC) [Recommended]
Login With a Service Principal Secret
Login With System-assigned Managed Identity
Login With User-assigned Managed Identity

I'll close this issue since it's solved now.


Error removing certificate: Index was outside the bounds of the array.

The latest version ends up using up a rate limit on the domain, and leaves the site in a broken state. I.e. the certificate is invalid.
I get the following error:
Error removing certificate: Index was outside the bounds of the array.
Please help!  How do I get this working?

UPDATE:  I went in to Web Hosting certificates and removed all certs.  Re-ran the lets encrypt code, and it successfully completed its process (i.e. no errors were displayed)


Fix for issues when building the tensorflowload container

updated dockerfile to point to an image with the curl_user

The latest version of the image, 8.1.2 gives the following error when you attempt to build with it
ERROR: failed to solve: process "/bin/sh -c chmod +x /load.sh &&     chown curl_user: /load.sh" did not complete successfully: exit code: 1

Version pins are just better 👍


Add User to Waitlist of an Item

User stories
As a borrower I want to add myself to the item's waitlist in order to get notified as soon as the item I want to lend is available.
Dependencies
Depends on:

#27
#11
#46
#14

UI Mockup

Acceptance Criteria

[ ] triggers when click on waitlist button
[ ] adds me on the item's waitlist

We BP-PBRH+ also will implement the waitlist for a item


Fixing Workflows and Improvements

Added workflow input to set the choice for version bump.
Now build-docs.yml only from artifact based official plugins.
Testing now triggers only on pr and push on main.

Document failing is not problem. We havent deployed docs to main yet.


add support for web-hook url and proxy

web-hook url as 4th parameter overwrites hardcoded value
5th parameter can be used for proxy configuration for curl call

I was going to implement exactly this functionality and then saw this PR. Thanks @rolfvreijdenberger ;
@ericoc as the maintainer of the repo, could you please take a look? This functionality proposed is essential for the script's reusability.

Well, found out that one can send a notification to a specific channel like so: https://github.com/ericoc/zabbix-slack-alertscript#testing


⚠ Bofrost.de has degraded performance

In ac6d7e9, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1481 ms

Resolved: Bofrost.de performance has improved in 0fc9298.


chore(docs): move developer tools to sdk repo

This PR:

Moves the developer tools section from the main docs repo to this one
Adds a variable for the minimum supported version of the SDK to show in the docs

Is it "npm" or "NPM" or "Npm"?
npm should never be capitalized unless it is being displayed in a location that is customarily all-capitals (ex. titles on man pages).

https://github.com/npm/cli/blob/latest/README.md#faq-on-branding

Thanks for the updates @pvlugter I simply moved the pages from the docs to here, I hadn't updated them yet.

Yeah, there are likely other uses of NPM in the docs too

Following up on the NPM usage while thinking of it: #173


Publish package for python 3.11

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
ta-lib apparently already supports python 3.11, but the highest version supported on conda-forge seems to be python 3.10.
Installed packages
n/a

Environment info
n/a

3.11 should be available with latest builds.


Partitioning behaviour

If we already swap table for partitioning, i guess new write will automatically write to only child table, but in my case, new write would write to both parent and child table ?
Am i missing something ?

Hey @checkraiser, writes will only ever go to one table. Before the swap, they go to the original table. After the swap, they go to child tables. When you query the parent table, it'll query all its children.


intersect result abnormally pasted

I am using the version in master branch.
For example,
bedtools intersect -nonamecheck -wo -a A.bed -b B.gtf
Result:
chr1    130472  130530  ENST00000493797.1_2     Line_48 -       chr1    StringTie       exon    130268  130530  1000    -       .    MG_panTro4.1MG_panTro4.1.1       1       58
Why these two columns were pasted?
In my input file, they are two closed column.

I have no idea, can you show me what the A and B files look like?

What about formatting your files with the following command and try again?
awk '{sub("\r$", ""); print}'

I think it is because my A.bed contained more than 9 columns (seperated by tab), so the results showed pasted content in the last 2 columns.


🎮 Game Request
Fight for your survival in an arena filled with vile creatures. The worse you do, the poorer your luck. The poorer your luck, the harder the enemies you'll face.
Press 'P' at during the game for more explicit game instructions.
Point down the features
Game points will be awarded on basis of kills
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @S-ishita !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Hey @S-ishita ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


[BUG] Limited permission overlay does not show up when paired with maxAssets: maxAssetsCount: 1 and specialPickerType: SpecialPickerType.noPreview

Describe the bug
Limited permission overlay does not show up when paired with maxAssets: maxAssetsCount: 1 and specialPickerType: SpecialPickerType.noPreview
How to reproduce
Execute below mentioned code:
AssetPicker.pickAssets(
          context,
          pickerConfig: AssetPickerConfig(
            maxAssets: 1,
            requestType: RequestType.image,
            specialPickerType: SpecialPickerType.noPreview,
          ),
        );

Steps to reproduce the behavior:

Execute above mentioned code on IOS device
Provide limited permission and select few assets and continue
Limited access overlay is not visible

Expected behavior

Limited access overlay should be visible depending on permission and should not be influenced by above mentioned parameters

Screenshots

with maxAssets: maxAssetsCount: 1 and specialPickerType: SpecialPickerType.noPreview:

if either of value is changed (eg: changing maxAssets: maxAssetsCount: 2 OR removing optional property specialPickerType: SpecialPickerType.noPreview):

Version information

Device: iPhone 15 pro (simulator)
OS: iOS 17.5
Package Version: 9.2.1
Flutter Version: 3.24.0

Additional context
Culprit:
For android:
https://github.com/fluttercandies/flutter_wechat_assets_picker/blob/f15336e9b77740b33918f159bb700e051e92e5e4/lib/src/delegates/asset_picker_builder_delegate.dart#L1089-L1090
For IOS:
https://github.com/fluttercandies/flutter_wechat_assets_picker/blob/f15336e9b77740b33918f159bb700e051e92e5e4/lib/src/delegates/asset_picker_builder_delegate.dart#L1116-L1117
Solution:
Updating condition would probably fix issue:
if (isPreviewEnabled || !isSingleAssetMode || permissionNotifier.value == PermissionState.limited)

Questions:

Is above mentioned code there for specific reason or to avoid any issue?
If this is not expected behaviour please ping me i can generate PR :)

Hi @Dimilkalathiya. Thank you for your report and the PR. I've setup another change request to cover more details and cases, could you review it?


Add M4 file extension listener to continiously update result files

In bash the inotify tool can be used
https://www.kernel.org/doc/Documentation/filesystems/inotify.txt?__hstc=18713382.0d952289c3ec013e304137f21f9ef72b.1463562513038.1463562513038.1463562513038.1&__hssc=18713382.1.1463562513039&__hsfp=1379893900

Not needed after #64


Add NavernaGit's file

I did all: created a branch, created a file and made a commit, and opened a pull request

no need in branch any more