chore: split Subsingleton off of Data.Set.Basic

Moves definition of and lemmas related to Set.Subsingleton to a new file, so that Basic can be shorter.

It seems a bit weird to separate Set.Subsingleton and Set.Nontrivial

Nontrivial seems to not interfere with the rest of Basic` so I could move that too. Any preference on the name for the new file then?

bors merge


Improved detection of obfuscated email addresses

Attempt to catch posts like this one: https://metasmoke.erwaysoftware.com/post/76646
where the email address is @ g mail . com.

Codecov Report

Merging #964 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #964   +/-   ##
=======================================
  Coverage   63.48%   63.48%
=======================================
  Files           6        6
  Lines        1780     1780
=======================================
  Hits         1130     1130
  Misses        650      650

Impacted Files
Coverage Δ

findspam.py
82.39% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

!!/approve


Use gtar to restore /nix on macOS

GNU tar is included in default Github runner macOS images https://github.com/actions/runner-images/blob/macOS-12/20231216.1/images/macos/macos-12-Readme.md
Use it to save a few seconds on macOS runner.

Awesome, thanks!


Add Rishabh kr bothra to Contributors list

@geekychaser, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?

yes sir sure!!

It was a great experience till now i was only able to use github with its UI but this pr made me kaern about how to use git , how make another development branch and lots of other stuff. It make me feels very happy when my contribution merged.
Hoping to contribute more and help our society.
thank you!!

@geekychaser, I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://firstcontributions.herokuapp.com


How does the code loop through each agent to calculate its speed？

Thank you for sharing your code.I have carefully read your code and corresponding papers.I would like to ask you some questions：
In TD3PER_monitor, actions = agent.select_action(states) . Is the returned 'actions' the probability of multiple actions by one agent or the actions of multiple agents？and how does the code loop through each agent and calculate its speed? I don't quite understand this point.
Also,I have sent you an email, hoping to receive your reply!
Best wishes！

Hi,
Can you specify the file you are talking about?
I am not 100% sure, but I think that the action is only for the "ego" vehicle, so, there is only one action calculated simultaneously. But, in each time step, one action is calculated for all of the vehicles in the intersection.
For the calculation of each action, the intersection manager (IntersectionManager.py) is used.
Sorry for the delay in the response.
Best,

Hey,
I have the same doubt as to how the code loops through each vehicle one by one, such that each vehicle is considered as the ego vehicle...
It would be really helpful if you check the mail that I have sent.
Cordially yours,
Ben Thomas

Each vehicle is ordered by its distance from the center of the intersection. Then, in the list that is created of each vehicle in the intersection, it is iterated one by one, considering the selected vehicle as ego and the rest of the vehicles as vehicles with which it has to cooperate.
Check the variable state in the __update_state method of IntersectionManager.py
# Looping every vehicle, to create the states
for k, v in rw_data.items():
     # Highlight the vehicle selected
     state = self.set_vehicle_highlight(state, k, v) # Select the ego vehicle
     state = self.set_other_vehicles(state, rw_data, k) # Obtain the states of the other vehicles

I hope this clears up your doubts.

Hey,
Thank you for the clarification. That clearly resolves some issues I had. Also, Is the LSTM part in your subsequent work also included in this repository, if so kindly mention where it is included too.
Cordially yours,
Ben Thomas


Error in opening Perf profile trace that complaining a concurrent update was performed

I try to open a Perf profile trace using WPA but keep getting the following error. I tried different WPA versions, not helping. The Linux Perf plugin version is 1.2.4. The error says, "A concurrent update was performed on this collection and corrupted its state".

Ivan got the stack of exception and it shows from our "3rd party" TraceEvent lib that processes the file.

This appears to be caused by multiple callers into the same LinuxPerfScriptStackSource, which is not supported.  Are you able to see why there are two threads touching this object at the same time?  The exception comes from a Dictionary lookup that occurs during a write operation into the same Dictionary.  I am wondering if this is an issue in the plugin rather than LinuxPerfScriptStackSource.

I can debug more to see if this is happening. However it should not be AFAIK. @qizhang15 can you test your file with PerfView GUI to see if this issue repros there as well?

Thanks @ivberg. We can certainly protect that Dictionary with a lock, but I would love to understand the use before we do anything like that.

Verified fixed manually using trace supplied by @qizhang15 . Thx @brianrob  for the quick fix!

Verified fixed manually using trace supplied by @qizhang15 . Thx @brianrob for the quick fix!

Excellent.  Thanks for reporting.


imagemin memory usage too high

A build task can fail on a reasonably modest machine that has some services like mysql running.
Example: I am developing on a virtual machine that has 2gb ram and hosts a couple of services like mysql and email servers. A 'grunt build' task even for a small web app can fail at the imagemin-task without a proper error message, presumably because the process runs out of memory to allocate. 'grunt build --verbose' doesn't display an error either but shows that the task fails at imagemin.
Stopping services like mysql, php-fpm and such solved my immediate problem but is an unsatisfying solution.
Hope this helps!

Today there was a similar case on my production server. It so happened that I had to re-install npm deps for my application. Specifically, grunt-contrib-imagemin download process directly at the end (during the pre-build test) stops responding. No any error in the console. Dozens of PID eaten all free RAM (~6-8 gigabytes). On the server running many services using crontab and mailings. When I did this the last time these services were stop. Now I do not have this capability. On the local machine with a similar configuration such never happened.
grunt-contrib-imagemin v0.9.2
npm v1.3.6
Node v0.10.33
CentOS 6.5

@ArtemFitiskin, https://github.com/imagemin/imagemin/issues/68.


Worker mode uses wrong path

Hi, thanks for the quick fix for #104!
I am now one step further, as in: the server now redirects and responds correctly, but it doesn't serve the file I gave it in the command line.
Running this command with the latest (sha-878a30d) image:
docker run --rm -e FRANKENPHP_CONFIG="worker ./example/worker.php" -p 80:80 -p 443:443 -v $pwd:/app -w /app dunglas/frankenphp

and this worker.php file:
<?php
// ./example/worker.php

do {
    $running = frankenphp_handle_request(
        function () {
            echo "hello world";
        }
    );
} while ($running);

Results in this output:

Warning: Unknown: Failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Failed opening required '/app/public/worker.php' (include_path='.:/usr/local/lib/php') in Unknown on line 0

So I assume the public path is hardcoded somehow? Which path do I need to give it in the FRANKENPHP_CONFIG value for the worker mode?

I'll leave this issue open for you to review. Feel free to close it.

This is intended, the path of the URL must exactly match the path of the worker script from the document root (usually, you'll want to use index.php).
You can use the rewrite Caddy directive to rewrite the path if needed:
	# If the requested file does not exist, try index files
	@indexFiles file {
		try_files {path} worker.php
		split_path .php
	}
	rewrite @indexFiles {http.matchers.file.relative}

Thanks @dunglas. I've made a little frameworkless demo with this setup.
https://github.com/f00b4r/2023-10-frankenphp


for some reason when i boot up the SRT and i boot up RE2 the health and timer stay at 0 at all times [BUG]

Computer Information:

OS: [e.g. Windows 10 Version 1809 (Start + 'winver' to find out)]
Program Version [e.g. 1.0.2]
Game Version [e.g. 1.01]

Describe the bug
A clear and concise description of what the bug is.
Steps to Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Lacking any details in this bug report, there is not much I can do to look into the issue but I'll ask the questions...
Are you using the latest version of the SRT? Are you running the latest version of the game on Steam? Is the game modified, cracked or pirated?
Anyone of these could be the issue. Older versions of the SRT may have had pointers for older versions of the game. As the game gets updated, sometimes the base pointers are in different position in memory, thus requiring an update to the SRT. The latest SRT is designed to run on the latest version of the game from Steam, as-is (unmodified). Cracks and anything that modifies re2.exe can also mess with the pointer positions causing this issue to occur.

Same, latest steam version along with latest SRT.

Yes the issue is with the latest steam patch that dropped on the 1st of feb
It broke LiveSplits also but they dropped an update already

Original poster lacked any details on their question, subsequent comments were for the same issue as the title but due to either a new patch or potentially modified version of the game. Latest steam release works with the latest SRT release on https://www.neonblu.com/SRT/ as of this date.

I can confirm I have the exact same issue as OP.
I am playing on the latest version of the game, totally untouched. I reinstalled it entirely to make sure all files are exactly vanilla.
I tried running it both in DX11 and DX12 and it did not change anything.
I tried using full screen and borderless full screen. I usually exclusively play using borderless full screen using DX12.
I also tried activating and deactivating the Steam overlay without getting any result.
Even though I doubt it has anything to do with it, I am running the game on an i9 9900k and a GeForce RTX 3080.
Drivers are all up to date.
Again, I am not using any mod alongside this tool.
I also tried running the game, the host and the tool and also just the tool without the host. None worked.
Hope this helps.


Replace Debug.checkDefined to avoid redundant debugger stops

cc @jakebailey

Adding @sheetalkamat to verify but I've personally had issues debugging locally due to this assert firing when it was okay to do so, so I believe this is an okay change.


Hooks should be able to return a basic string without being wrapped in the envelope

Description
Returning a string from a function attached to a hook should not wrap it in a JSON object under key payload
should return
"data"

not
{"payload": "data"}

when function returns a string
This is helpful when making callbacks for third party services that expect the returned data in a certain format.
Steps to Reproduce

Create a function
Return a string in the function
Register the function as a hook
Call hook for newly created function

Expected Result
Hook call should return a string
Actual Result
Hook call returns the string wrapped in JSON under the key payload
Context

[x] Javascript

Your Environment
nakama - 2.4.0
cockroach - 2.1.4
operating system - macOS Sierra version 10.12.6
environment - latest version of docker

@JustinNicholls Was the S2S RPC function called with POST or GET from the external service?

This is resolved in 20d6ab3cfc2478c39498a4d261d23c9fd1906ef2 and will be part of the next release.
Hooks will accept an unwrap query parameter and receive/return any raw string payload without wrappers. The documentation will be updated to reflect this in time for the next release.


Store data in database and allow for different configs

I'm sorry - this is a bit mad, but it seems to work

@barthalion this should be good to go now. There might be a timeframe between applying the migration and the /update running, where some moderator specific pages will not work.
Would be nice to have a backup of qualitymoderation before this, just in case. We also might want to watch if the migration runs without issues, as our local env have less historical data, which might cause problems.


Failed to submit signed tx: transaction was rejected by daemon

Hi, It's me again.
I meet an exception as the title when I send signed tx via submitTxs.
But it's normal when I using relayTx to send the transaction.
Has any idea how I can fix it?

MoneroWallet.submitTxs() is to be used with signed txs from view-only wallets.
It requires the view-only wallet to be set up in a specific way.  Here's a test which shows setting up a view-only wallet and submitting a signed tx which works for me: https://github.com/monero-ecosystem/monero-java/blob/633398fe7dbf70773f29c9c8b6f19705c46104c9/src/test/java/test/TestMoneroWalletCommon.java#L2128

Yes...
I missed updating the key images.
Thanks for your help.


module 'cv2' has no attribute 'ovis' in opencv-contrib-python

Expected behaviour
Normally ovis shpuld be also installed. Am I right?
But it doesnt work
Actual behaviour
By using ovis it shows me the error: module 'cv2' has no attribute 'ovis'
Steps to reproduce

example code:

import cv2
print(cv2.ovis)

operating system: Ubuntu 20.04
opencv-python version: 4.5.5

Could you provide cv2.getBuildInformation() output for your setup?

The module depends on Ogre3D framework that is not enabled during OpenCV build. It's pretty heavy dependency and you have to build OpenCV from sources to get custom configuration with extra dependencies.
CMake:
if(NOT OGRE_FOUND)
  message(STATUS "Module opencv_ovis disabled because OGRE3D was not found")
  ocv_module_disable(ovis)
elseif(OGRE_VERSION VERSION_LESS 1.11.5)
  message(STATUS "Module opencv_ovis disabled because of incompatible OGRE3D version (${OGRE_VERSION})")
  ocv_module_disable(ovis)

Hello @asmorkalov,
thank you for your reply and for your help.

I were not sure, if ovis will be in the dependency of opencv-contrib-python or not.
In the upper image, I see that ovis is unavailable.
I will build opencv from source and reply again if it works. Especially for the others who face on the same problem. Thank you


Can't have multiple instruments of the same type at one site

For example, there are often multiple Piccaros. Need to figure out how to handle this.

I think this is dealt with sufficiently for now


[twitter] Include x-csrf-token header if ct0 cookie is set

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
To resolve issue #2762.
This patch adds a x-csrf-token header to the API requests when the ct0 cookie is set, resolving the HTTP Error 403 when twitter URLs are supplied with a cookie file (--cookies / --cookies-from-browser).

I assume the code has been (manually) tested?

Do you think I should submit this same patch to the upstream (YouTube-dl) project?

sure. Upstream now has a new maintainer. So there is a good chance it will be merged


allow image export to remote edge server

Hi,
First, thanks for making this project.
I have a use case where I am trying to host the next-exported files (html, js, css, etc) separately from the images.   I'd like to host the images on a remote edge server (eg, S3 or similar) and was wondering if there might be a way to:

make it so the next-image-export-optimizer renders all versions of the static images into one folder.  That might be happening already, but it seems like there are duplicate nextImageExportOptimize folders that may be copied from the /public build
allow the substitution of all image sources with a remote URL (eg. replace source images '/nextImageExportOptimizer' with 'https://myedgeserver/path/to/file'

I've tried doing a simple find | sed on the output, but it's not clear to me if the source sets are even being used.
I guess my questions are:

How to test if the source sets are being used?  I can't see in the browser.  It appears as if '_next/static/path/to/full/file' is being used instead of 'nextImageExportOptimize' ones
How would you go about doing the above?  Do you reckon a string replace work on the output?
Is there maybe a better way?

thanks for any input you might have and for this great project.

First, it appears with a simple export, the blur images are not getting used. The images load with a blank first and then come in with the full image (even though placeholder="blur" is set and was working in the past versions).

Are you using Firefox? Blurry placeholders currently do not work in Firefox, unfortunately. The background image does not get displayed.

Second, it seems as if the first url that is loaded is /_next/static/media/ and not /nextImageExportOptimizer/

This is only the case when the optimized images cannot be found, and the /_next/static/media/ is then used as a fallback. Could you please check whether the folder nextImageExportOptimizer was generated in your public folder and contains the optimized images?

Third, when I run a simple static html server (eg. python3 -m http.server) on the exported output, it seems as if either this module or next.js (not sure which) is prepending a full http://hostname:port to the URL - instead of src="/filename" it is setting src="http://localhost:8000/filename" Ideally, the image src would only have a relative path to the hostname and not include the hostname in the URL.

This is not done purposely by this module. I guess that it is also happening in the standard Next.js image component.

Do you happen to know why /_next/static/media/ is created at all?

This is where Next.js stores the optimized statically imported images.

Hi,
I'm not using firefox and was having issues with the blur in chrome.
The nextImageExportOptimizer folder was created and all the files are there.
Ultimately, I did a little digging and decided to use the base Image module of next but set a custom loader.
That doesn't auto-generate the images like this module does, but was more straightforward for my use case.
thanks for the attention and for this software - I still use it in other cases.


Implement Optional GetAll Method for Services

Addresses https://github.com/ent/ent/issues/2107
ToDo:

[ ] Implement unit tests for validation

Hey @JeremyV2014 as I responded on the issue, really well done on the detailed work on this, but I have some reservations about adding this to the package, let's continue the discussion there. Closing for now, once we nail the design you can pick up from here


Warning xsl:stylesheet when doing OAI import -c

Describe the bug
When performing a oai import -c action, an warning is shown.
I had the same issue when reviewing this PR: https://github.com/DSpace/DSpace/pull/2756#issuecomment-852967636
and the same still occurs today with DS 7.5-snapshot with a migrated repository.
OAI 2.0 manager action started
Clearing index
Index cleared
Using full import.
Full import
Warning at xsl:stylesheet on line 14 column 35
  Unrecognized version 1.1: treated as 1.0
Total: 984 items
Total: 1 items
Purging cached OAI responses.
OAI 2.0 manager action ended. It took 75 seconds.

To Reproduce
Steps to reproduce the behavior:

I just did a [dspace]/bin/dspace oai import -c with migrated content.
I've also tried docker docker-compose -f cli.yml run --rm dspace-cli oai import -c
According to https://github.com/DSpace/DSpace/pull/2756#issuecomment-852967636 this issue started occurring with this PR.

Expected behavior
No warning shown.
Related work
This issue has been around:
https://github.com/DSpace/DSpace/pull/2756#issuecomment-852967636
https://github.com/DSpace/DSpace/pull/2856#issuecomment-933701753

I understand the warning is related with this line:
https://github.com/DSpace/DSpace/blob/main/dspace-oai/src/main/java/org/dspace/xoai/app/CCElementItemCompilePlugin.java#L39

Well, it's using the default JRE XSL library, forked from Xalan I believe, which doesn't implement XSL-T 1.1 as called for by dspace-api/src/main/resources/org/dspace/license/CreativeCommons.xsl.  You could try forcing it to use Saxon -- I think even Saxon HE implements 1.1.  Or we could try to figure out what 1.1 features are being used (if any) and whether they can be replaced with 1.0-compatible usage.

Thank you @mwoodiupui for your feedback! Yes the solution could be so simple as changing
dspace-api/src/main/resources/org/dspace/license/CreativeCommons.xsl:
<xsl:stylesheet version="1.1" to <xsl:stylesheet version="1.0"
not sure the what are the implications of this change. At first sight, none, perhaps @mdiggory has a different feedback on this.
I will create the PR to address this change.


_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m 23s
master passed

+1 :green_heart:
compile
0m 24s
master passed

+1 :green_heart:
checkstyle
0m 11s
master passed

+1 :green_heart:
spotless
0m 46s
branch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 30s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m  6s
the patch passed

+1 :green_heart:
compile
0m 24s
the patch passed

+1 :green_heart:
javac
0m 24s
the patch passed

+1 :green_heart:
checkstyle
0m  9s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
11m 22s
Patch does not cause any errors with Hadoop 3.2.4 3.3.5.

+1 :green_heart:
spotless
0m 50s
patch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 39s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 10s
The patch does not generate ASF License warnings.

29m 17s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5337/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5337

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile

uname
Linux 734abc51615b 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 0bbc8d15c1

Default Java
Eclipse Adoptium-11.0.17+8

Max. process+thread count
79 (vs. ulimit of 30000)

modules
C: hbase-http U: hbase-http

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5337/1/console

versions
git=2.34.1 maven=3.8.6 spotbugs=4.7.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Docker support is broken since 1.7.1

Looking into it...

Name of the official container changed, fixed.


Deployment related changes

This changes the app container to use gunicorn inside the base Python:3.10 container image.
It also adds a new docker-compose file that will launch the app behind an nginx proxy with SSL termination.
Certificate renewals are handled by the certbot container.

The nginx/certbot changes were based on a blog post and related github repo: https://github.com/wmnnd/nginx-certbot


feat: make sass optional and support sass-embedded

sass-loader v16 prefer sass-embedded with modern api, so we make this changes to improve webpack performance.

Webpack ci are all falling, could you help to investigate?

Webpack ci are all falling, could you help to investigate?

I investigated the issue for a while and can only confirm that the problem is caused by plugin-pwa, as the vuepress build completes but the process does not terminate.
I suspect that the issue lies with this line of code pwaPlugin.ts#L71, as commenting it out allows the process to successfully terminate upon repeated execution. However, when building the project without the directories e2e/.vuepress/{.cache,.temp,dist}, the process does not terminate.
This confuses me; I am not clear about what happened to cause it.

@meteorlxy any ideas?


az acs create fails

For me, the line
az acs create --name mySwarmCluster --orchestrator-type dockerce --resource-group myResourceGroup --generate-ssh-keys
results in this failure:
Deployment failed. Correlation ID: d8b5ac84-525d-4fa9-9fd5-2f454eb42c29. {
"error": {
"code": "BadRequest",
"target": "containerService.properties.orchestratorProfile.orchestratorType",
"message": "Error converting value "DockerCE" to type 'System.Nullable`1[Microsoft.WindowsAzure.ContainerService.A
PI.OrchestratorType]'. Path 'properties.orchestratorProfile.orchestratorType', line 1, position 91."
}
}

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 56ffefbe-77db-da49-0766-8bf4baec4b07
Version Independent ID: 98839976-5753-ce2e-0cb6-580024b78167
Content: Quickstart - Azure Docker CE cluster for Linux
Content Source: articles/container-service/dcos-swarm/container-service-swarm-mode-walkthrough.md
Service: container-service
GitHub Login: @neilpeterson
Microsoft Alias: nepeters

@HaikoHertes Thanks for the feedback! We are currently investigating and will update you shortly.

@HaikoHertes I tested the command and did not have any issues. Are you running this command from a local Azure CLI instance? Can you check the version for me? az --version
The latest version is 2.0.29 so you might need to do an update.
You can also try running these commands via the Azure Cloud Shell to see if it makes a difference. This ensures you are running an up-to-date version of CLI.

@HaikoHertes any update on this?

I have just downloaded the most recent online version, but as this was on a different machine, I take some more days to check the version...

With latest version, I still get this error:

az acs create --name mySwarmCluster --orchestrator-type DockerCE --resource-group MyResGroupNameHere --agent-count 2 --agent-vm-size Standard_D2_v2 --master-count 3 --generate-ssh-keys
Deployment failed. Correlation ID: 2ca2f482-f578-4b29-b744-7be5825c5bfd. {
"error": {
"code": "BadRequest",
"target": "containerService.properties.orchestratorProfile.orchestratorType",
"message": "Error converting value "DockerCE" to type 'System.Nullable`1[Microsoft.WindowsAzure.ContainerService.API.OrchestratorType]'. Path 'properties.orchestratorProfile.orchestratorType', line 1, position 91."
}
}

az --version
azure-cli (2.0.30)

acr (2.0.22)
acs (2.0.30)

@HaikoHertes thanks for confirming. I will double check this by running it locally on my machine as well.
Can you try via the cloud shell as well?

@HaikoHertes I tested using my local CLI and I got the same error as you are seeing.
Can you please try via Azure Cloud Shell and let me know the results?
@neilpeterson any thoughts on this?
C:\Users\mimckitt>az acs create --name mySwarmCluster --orchestrator-type DockerCE --resource-group MicahClusterSwarm --agent-count 2 --agent-vm-size Standard_D2_v2 --master-count 3 --generate-ssh-keys
SSH key files 'C:\Users\mimckitt\.ssh\id_rsa' and 'C:\Users\mimckitt\.ssh\id_rsa.pub' have been generated under ~/.ssh to allow SSH access to the VM. If using machines without permanent storage like Azure Cloud Shell without an attached file share, back up your keys to a safe location
Deployment failed. Correlation ID: 6301a2e1-7338-4fae-bc45-975aad5f0ef3. {
  "error": {
    "code": "BadRequest",
    "target": "containerService.properties.orchestratorProfile.orchestratorType",
    "message": "Error converting value \"DockerCE\" to type 'System.Nullable`1[Microsoft.WindowsAzure.ContainerService.API.OrchestratorType]'. Path 'properties.orchestratorProfile.orchestratorType', line 1, position 87."

I can pull up the correlation ID on the backend but figured worth an ask before I do.

@MicahMcKittrick-MSFT - I am not sure what is going on here. I've tried to deploy as well however am experiencing a different issue.
The template deployment 'azurecli1522421630.16533789415' is not valid according to the validation procedure. The tracking id is 'dddb2baa-15a0-44e1-a186-64b5fdca40d2'. See inner errors for details. Please see https://aka.ms/arm-deploy for usage details.

I think this will need to go to support / PG. I can help track down some help if needed.
Thanks

Thanks for coming @neilpeterson! Good to know it is not just us then :)
@HaikoHertes do you have the ability to open a Technical Support Ticket?
If so, can you please open a ticket under the "Cannot Deploy" section and share the ticket number? We can continue this offline as it will require deeper investigation. Else, if you do not have the ability to open a support ticket please email me at<EMAIL_ADDRESS>with your subscription ID and I can take care of it for you.

@HaikoHertes I will close this out for now. Please see my above comment for any next action.

This is happening for me today. I've tried PS locally and I've tried the cloud PS. Same error in both cases. How do I create a Docker swarm on Azure?

This is still an issue (2 months after it was opened). Please fix your documentation.

WOW! this is pretty poor this is not fixed!!!!

I am not seeing an issue with this anymore. @classaction, @locohost, @nigel-dewar can you try the doc using Azure Cloud Shell?
Here is my output:
micah@Azure:~$ az group create --name MicahDockerRG --location ukwest
{
  "id": "/subscriptions/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/resourceGroups/MicahDockerRG",
  "location": "ukwest",
  "managedBy": null,
  "name": "MicahDockerRG",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}
micah@Azure:~$

micah@Azure:~$ az acs create --name mySwarmCluster --orchestrator-type dockerce --resource-group MicahDockerRG --generate-ssh-keys
{
  "id": "/subscriptions/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX/resourceGroups/MicahDockerRG/providers/Microsoft.Resources/deployments/azurecli1528305382.45876965346",
  "name": "azurecli1528305382.45876965346",
  "properties": {
    "correlationId": "4516c586-9fa1-4dfd-bea5-14104c84e35b",
    "debugSetting": null,
    "dependencies": [],
    "duration": "PT6M32.2577843S",
    "mode": "Incremental",
    "outputResources": [
      {
        "id": "/subscriptions/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX/resourceGroups/MicahDockerRG/providers/Microsoft.ContainerService/containerServices/mySwarmCluster",
        "resourceGroup": "MicahDockerRG"
      }
    ],
    "outputs": {
      "agentFQDN": {
        "type": "String",
        "value": "myswarmclu-micahdockerrg-b83c1eagent.ukwest.cloudapp.azure.com"
      },
      "masterFQDN": {
        "type": "String",
        "value": "myswarmclu-micahdockerrg-b83c1emgmt.ukwest.cloudapp.azure.com"
      },
      "sshMaster0": {
        "type": "String",
        "value": "ssh<EMAIL_ADDRESS>-A -p 2200"
      }
    },
    "parameters": null,
    "parametersLink": null,
    "providers": [
      {
        "id": null,
        "namespace": "Microsoft.ContainerService",
        "registrationState": null,
        "resourceTypes": [
          {
            "aliases": null,
            "apiVersions": null,
            "locations": [
              "ukwest"
            ],
            "properties": null,
            "resourceType": "containerServices"
          }
        ]
      }
    ],
    "provisioningState": "Succeeded",
    "template": null,
    "templateHash": "2884866435469882472",
    "templateLink": null,
    "timestamp": "2018-06-06T17:22:57.160657+00:00"
  },
  "resourceGroup": "MicahDockerRG"
}`

@nigel-dewar please see my above comment. This issue is the same issue as the one you opened (#9785)

@MicahMcKittrick-MSFT I've experienced this issue today as well.
Local Windows:
λ az acs create --name mySwarmCluster --orchestrator-type dockerce --resource-group testACS --generate-ssh-keys        Deployment failed. Correlation ID: 76b6f376-7f74-4e0b-8b81-762af2567cd2. {                                               "error": {                                                                                "code": "BadRequest",                                                                                "target": "containerService.properties.orchestratorProfile.orchestratorType",                                          "message": "Error converting value \"DockerCE\" to type 'System.Nullable`1[Microsoft.WindowsAzure.ContainerService.API.OrchestratorType]'. Path 'properties.orchestratorProfile.orchestratorType', line 1, position 87."                   }                                                                                }
Azure CLI Version:
λ az --version azure-cli (2.0.32)
Cloud Shell:
az acs create --name mySwarmCluster --orchestrator-type dockerce --resource-group testACS --generate-ssh-keys Deployment failed. Correlation ID: d2ea8c2f-57a3-47fd-a127-347abded2b23. {   "error": {     "code": "BadRequest",     "target": "containerService.properties.orchestratorProfile.orchestratorType",     "message": "Error converting value \"DockerCE\" to type 'System.Nullable`1[Microsoft.WindowsAzure.ContainerService.API.OrchestratorType]'. Path 'properties.orchestratorProfile.orchestratorType', line 1, position 87."   } }

Creating from the UI the following is generated in the ARM template:
        "orchestratorType": {             "type": "string",             "defaultValue": "Kubernetes",             "allowedValues": [                 "Kubernetes",                 "DCOS",                 "Swarm",                 "SwarmMode"             ],             "metadata": {                 "description": "The type of orchestrator used to manage the applications on the cluster."             }
And using 'Swarm' for orchestrator-type is successful:
 az acs create --name mySwarmCluster --orchestrator-type swarm --resource-group testACS --generate-ssh-keys {   "id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX/resourceGroups/testACS/providers/Microsoft.Resources/deployments/azurecli1528325878.15365245117",   "name": "azurecli1528325878.15365245117"... }
I assume the doco just needs to be updated with Kubernetes, DCOS, Swarm, and SwarmMode as valid options. This page  also contains incorrect information about valid orchestrator types, though it also has the valid 'Swarm'.

When deploying to UK West I can use "Docker CE" as orchestrator type. A deployment in West Europe will fail on the other hand.

@neilpeterson do you know if there are regional limitations on this?

@MicahMcKittrick-MSFT - yes, here are the regions for ACS RPv2.
https://github.com/Azure/ACS/blob/master/announcements/2017-08-04_additional_regions.md
If these regions do not meet the local needs, I would suggest looking at Docker for Azure:
https://azure.microsoft.com/en-us/services/container-service/docker/

Thanks @neilpeterson!
@HaikoHertes please take a look at the above link referenced by Neil. Looks like UK west is currently supported but West Europe is not yet available. Hence, the reason you are seeing the deployment issue.
I will close this for now but if you see further issues just let me know :)

I am following this doc: https://docs.microsoft.com/en-gb/azure/container-service/dcos-swarm/container-service-swarm-mode-walkthrough
 az acs create --name dennisswarm --orchestrator-type dockerce --resource-group dennis --generate-s sh-keys --agent-count 1
fails with:

Deployment failed. Correlation ID: ff794e1d-e203-4d75-bb62-94286d8ecb27. {
"error": {
"code": "BadRequest",
"target": "containerService.properties.orchestratorProfile.orchestratorType",
"message": "Error converting value "DockerCE" to type 'System.Nullable`1[Microsoft.WindowsAzure.ContainerService.API.OrchestratorType]'. Path 'properties.orchestratorProfile.orchestratorType', line 1, position 87."
}
}

So.. Is the doc wrong or is this a bug?
az version:

az --version
azure-cli (2.0.41)

acr (2.0.28)
acs (2.1.3)
advisor (0.5.1)
ams (0.1.1)
appservice (0.1.36)
backup (1.1.2)
batch (3.2.4)
batchai (0.3.1)
billing (0.1.8)
cdn (0.0.14)
cloud (2.0.15)
cognitiveservices (0.1.13)
command-modules-nspkg (2.0.1)
configure (2.0.17)
consumption (0.3.1)
container (0.2.1)
core (2.0.41)
cosmosdb (0.1.21)
dla (0.1.0)
dls (0.0.22)
dms (0.0.1)
eventgrid (0.1.12)
eventhubs (0.1.3)
extension (0.1.0)
feedback (2.1.3)
find (0.2.11)
interactive (0.3.25)
iot (0.1.21)
keyvault (2.0.23)
lab (0.0.22)
maps (0.2.0)
monitor (0.1.8)
network (2.1.5)
nspkg (3.0.2)
policyinsights (0.1.0)
profile (2.0.27)
rdbms (0.2.5)
redis (0.2.14)
reservations (0.2.1)
resource (2.0.32)
role (2.0.26)
servicebus (0.1.2)
servicefabric (0.0.12)
sql (2.0.27)
storage (2.0.35)
vm (2.0.35)

@dazinator as mentioned by @neilpeterson above, please use a resource group with a compatible region (i.e. westcentralus may be the closest to you if you normally use eastus)
https://github.com/Azure/ACS/blob/master/announcements/2017-08-04_additional_regions.md
After changing the region I received the template deployment error:
The template deployment 'azurecli1533673725.92306375737' is not valid according to the validation procedure. The tracking id is '88a6cda7-f148-4ec8-b073-ace44bcde2aa'. See inner errors for details. Please see https://aka.ms/arm-deploy for usage details.
Command on Azure Cloud Shell:
az acs create --name bms-swarm --orchestrator-type swarm --resource-group bms-server --generate-ssh-keys
Any solutions?

Same issue here for northeurope location.
While I created the same environment 6 months ago and everything worked fine.

@MicahMcKittrick-MSFT when I tried uksouth, which is on the list of supported locations, it failed and looking at the trace it was complaining about the dv2 vm size not being available in that region under a free subscription. Can you confirm this - is a free subscription not good enough for ACS and uksouth? Cheers

You have a core limit on a free subscription. I believe it is only 4 cores. So if you are trying to deploy more than you have allocated it will fail .

I have a Bizspark sponsorship subscription, so I'm not in the free
subscription case.
Moreover, you said that notheurope is not supported, why I could deploy
exactly the same cluster few months ago and It's still works fine ??
[image: Capture d’écran 2018-10-03 à 19.03.33.png]
Le mer. 3 oct. 2018 à 18:52, Micah<EMAIL_ADDRESS>a écrit :

You have a core limit on a free subscription. I believe it is only 4
cores. So if you are trying to deploy more than you have allocated it will
fail .
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/6349#issuecomment-426712481,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVxM9yP6hm2gDNWXA5a3C7TCJt8d6iZks5uhOtGgaJpZM4S9Drl
.

--
[image: photo]
Matthieu Delmaire
Co Founder, Mixit Music
Mobile +33 6 85 18 38 51  <+33%206%2037%2012%2024%2009>
Email<EMAIL_ADDRESS><EMAIL_ADDRESS>Website https://mixit-music.com
http://www.facebook.com/MixitMusicApp/ http://twitter.com/mixitmusicapp
http://www.instagram.com/mixitmusic/

I have a Bizspark sponsorship subscription, so I'm not in the free subscription case.
Moreover, you said that notheurope is not supported, why I could deploy exactly the same cluster few months ago and It's still works fine ??

@MicahMcKittrick-MSFT as per comment up above, use swarm or swarmmode as the argument instead of 'dockerce`..

Swarmmode seems to be also an invalid argument.
Use swarm argument has not the same effect at all. There is a big difference between a swarm cluster and a swarm mode cluster.

FYI I am working offline to get this sorted out. Will provide updates as I have them.

UPDATE
The product groups are aware of this issue. They are working internally on it.
In the meantime, they have suggested that customers use the images from the marketplace provided by docker to continue working

We will be updating this doc once changes have been made to the product and a fix or additional work arounds have been provided.
For now, this is a known problem and that is the provided work around until the product team has released any additional updates. If I hear more I will come back and update this issue. Otherwise, I am going to close it out for now. However having this commented noted on the doc will assist others in the meantime.


Subproject tasks don't run when Configuration Cache is enabled

Current Behavior
Subproject tasks don't run when Configuration Cache is enabled
Expected Behavior
Subproject tasks ~don't~ run when Configuration Cache is enabled
Context (optional)
I have a multimodule project
Root project 'cmr-tests'
+--- Project ':sp-with-html'
+--- Project ':sp-with-html-and-markdown'
+--- Project ':sp-with-markdown'
\--- Project ':sp-without-plugin'

I've set up a custom plugin in buildSrc that should aggregate the subprojects into the root project using a nightmarish amalgamation of Configurations/Attributes/Outgoing variants/artifact views/etc, AKA 'Gradle best practices'.
Aggregating works unless configuration cache is enabled.
Sometimes if I run the aggregating task repeatedly it will eventually make the tasks in the subprojects run!
Steps to Reproduce

download project.zip

Run ./gradlew :aggregateHtmlModules

observe subproject tasks don't run, resulting in an error
$ ./gradlew :aggregateHtmlModules --console=plain
Reusing configuration cache.
> Task :aggregateHtmlModules FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':aggregateHtmlModules'.
> ////tmp/gradle-not-adding-dependency/sp-with-html/build/tmp/generatedHtmlRenderedFiles doesn't exist!

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 323ms
1 actionable task: 1 executed
Configuration cache entry reused.

Disable config cache ./gradlew :aggregateHtmlModules --no-configuration-cache

Observe no error
$ ./gradlew :aggregateHtmlModules --no-configuration-cache --console=plain --rerun
Type-safe project accessors is an incubating feature.
> Task :buildSrc:checkKotlinGradlePluginConfigurationErrors
> Task :buildSrc:generateExternalPluginSpecBuilders UP-TO-DATE
> Task :buildSrc:extractPrecompiledScriptPluginPlugins UP-TO-DATE
> Task :buildSrc:compilePluginsBlocks UP-TO-DATE
> Task :buildSrc:generatePrecompiledScriptPluginAccessors UP-TO-DATE
> Task :buildSrc:generateScriptPluginAdapters UP-TO-DATE
> Task :buildSrc:compileKotlin UP-TO-DATE
> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:pluginDescriptors UP-TO-DATE
> Task :buildSrc:processResources UP-TO-DATE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:jar UP-TO-DATE
> Task :aggregateHtmlModules

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.6-rc-1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 381ms
11 actionable tasks: 2 executed, 9 up-to-date

And observe files correctly generated in the build dir
$ tree build
build
└── tmp
  └── aggregateHtmlModules
      ├── _sp_with_html
      └── _sp_with_html_and_markdown

Gradle version
8.6-rc-1
Build scan URL (optional)
No response
Your Environment (optional)
No response

Sorry that you're having trouble with Gradle!
We appreciate the effort that went into filing this issue, but we must ask for more information.
As stated in our issue template, a minimal reproducible example is a must for us to be able to track down and fix your problem efficiently. Our available resources are severely limited, and we must be sure we are looking at the exact problem you are facing.
If we have a reproducer, we may be able also to suggest workarounds or ways to avoid the problem.
The ideal way to provide a reproducer is to leverage our reproducer template. You can also use Gradle Project Replicator to reproduce the structure of your project.
This issue will be closed after 7 days unless you provide more information.

Your provided reproducer does not reproduce 8.3, 8.4, 8.5 or 8.6-RC1

Thanks for checking @cobexer. I've tried again and for some reason the error didn't trigger. Something weird with Config Cache.
Try running ./gradlew :aggregateHtmlModules with the attached project
project.zip
Even though the task aggregateHtmlModules depends on the output from some subprojects, the subproject tasks don't run.
./gradlew :aggregateHtmlModules --console=plain
Calculating task graph as configuration cache cannot be reused because file 'gradle.properties' has changed.
Type-safe project accessors is an incubating feature.
> Task :buildSrc:checkKotlinGradlePluginConfigurationErrors
> Task :buildSrc:generateExternalPluginSpecBuilders UP-TO-DATE
> Task :buildSrc:extractPrecompiledScriptPluginPlugins UP-TO-DATE
> Task :buildSrc:compilePluginsBlocks UP-TO-DATE
> Task :buildSrc:generatePrecompiledScriptPluginAccessors UP-TO-DATE
> Task :buildSrc:generateScriptPluginAdapters UP-TO-DATE
> Task :buildSrc:compileKotlin UP-TO-DATE
> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:pluginDescriptors UP-TO-DATE
> Task :buildSrc:processResources UP-TO-DATE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:jar UP-TO-DATE
> Task :aggregateHtmlModules UP-TO-DATE

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.6-rc-1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 776ms
11 actionable tasks: 1 executed, 10 up-to-date
Configuration cache entry stored.

If you uncomment the manual task dependencies in the root project, then the task runs correctly.
  // uncomment these lines
  dependsOn(":sp-with-html:generatedHtmlRenderedFiles")
  dependsOn(":sp-with-html-and-markdown:generatedHtmlRenderedFiles")

./gradlew :aggregateHtmlModules --console=plain
Calculating task graph as configuration cache cannot be reused because file 'build.gradle.kts' has changed.
Type-safe project accessors is an incubating feature.
> Task :buildSrc:checkKotlinGradlePluginConfigurationErrors
> Task :buildSrc:generateExternalPluginSpecBuilders UP-TO-DATE
> Task :buildSrc:extractPrecompiledScriptPluginPlugins UP-TO-DATE
> Task :buildSrc:compilePluginsBlocks UP-TO-DATE
> Task :buildSrc:generatePrecompiledScriptPluginAccessors UP-TO-DATE
> Task :buildSrc:generateScriptPluginAdapters UP-TO-DATE
> Task :buildSrc:compileKotlin UP-TO-DATE
> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:pluginDescriptors UP-TO-DATE
> Task :buildSrc:processResources UP-TO-DATE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:jar UP-TO-DATE

> Task :aggregateHtmlModules
[:aggregateHtmlModules] got module modules.CoolModuleSpec_Decorated@28e476a4
[:aggregateHtmlModules] got module modules.CoolModuleSpec_Decorated@6de6fddc

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.6-rc-1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 748ms
11 actionable tasks: 2 executed, 9 up-to-date
Configuration cache entry stored.

Even though the task aggregateHtmlModules depends on the output from some subprojects, the subproject tasks don't run.

Can you point us to how you set up that relation?
Please check the documentation for sharing outputs
Also please help us help you by providing minimal reproducers so there is no unrelated code in the reproducer!
Currently your project contains dead code, commented out code, ...

Can you point us to how you set up that relation?

The subprojects add outputs to the configurations, for example
// sp-with-html/build.gradle.kts

// ...

coolDependenciesHtml
  .variantRenderedFiles
  .outgoing
  .artifact(generatedHtmlRenderedFiles) {
    type = "directory"
  }

Please check the documentation for sharing outputs

Thanks for the suggestion but unfortunately I don't find that documentation page very helpful https://github.com/gradle/gradle/issues/18846.
While it is technically possible to share files between subprojects, the limitations are surprising and it's a minefield of bugs and undocumented/flaky behaviour. The point of the reproducer is to try and discover ways to workaround these problems.
I did remove as much of the unrelated code as possible, but usually when I remove more then it fix the problem at hand, but it causes other problems, or not provide a way to achieve the behaviour that Gradle is supposed to support (sharing files between subprojects).

This issue needs a decision from the team responsible for that area. They have been informed. Response time may vary.

One issue here is that the aggregating task does not depend on the subprojects tasks, so the subprojects tasks do not actually run.
The main difference between running with the configuration cache and without the configuration cache, is that the task graph with CC only contains the tasks that are actually going to execute.
The reason the output directory required by the aggregating task only exists when CC is off is because FormatRendererTask declares a property as @OutputDirectory,  and that alone is enough for the directory to be created for free,  even if the task is not executed.
I "addressed" the problem by making AggregateModulesTask depend on FormatRendererTask.
@aSemy Please let me know if my analysis is off.

I ended up taking back some of what I wrote above. I left the bits that I believe still apply. This does not seem to be about whether tasks in subprojects are not being executed (they are never executed as far as I could tell). That is true no matter the configuration cache is enabled or not.
Instead, the issue seems to be about whether a tasks' temporary directory (which is provisioned when getTemporaryDir() is invoked) is being created or not, and that (the task's private temporary directory not being created sometimes) seems to be reproducible only when the configuration cache is enabled.
In the project attached here, getTemporaryDir() is used to set the convention location for outputDir property in FormatRendererTask tasks:
https://github.com/abstratt/reproducer-27594/blob/main/buildSrc/src/main/kotlin/cool-plugin-base.gradle.kts#L17
tasks.withType<tasks.FormatRendererTask>().configureEach {
  outputDir.convention(layout.dir(provider { temporaryDir }))
}

That difference in behavior makes more sense now since provider { temporaryDir } would be executed at Configuration Cache store time when CC is on and at task execution time when CC is off.
I'm not sure temporaryDir is supposed to be used like that 🤔

I think I found reproducible steps:
./gradlew clean
rm -Rf .gradle/
./gradlew aggregateHtmlModules
./gradlew clean
./gradlew aggregateHtmlModules

Thank you for your efforts so far, I appreciate your updates.
I'm not sure how related temporaryDir is, but in case it helps I also see the same behaviour when not using temporaryDir:
tasks.withType<tasks.FormatRendererTask>().configureEach {
  val customTemp = File("build/blah/$name")
  customTemp.mkdirs()
  outputDir.convention(layout.dir(provider { customTemp }))
  doFirst {
    customTemp.mkdirs()
  }
}

Calculating task graph as configuration cache cannot be reused because an input to plugin class 'org.gradle.kotlin.dsl.plugins.precompiled.PrecompiledScriptPlugins' has changed.
Type-safe project accessors is an incubating feature.
> Task :buildSrc:checkKotlinGradlePluginConfigurationErrors
> Task :buildSrc:generateExternalPluginSpecBuilders UP-TO-DATE
> Task :buildSrc:extractPrecompiledScriptPluginPlugins
> Task :buildSrc:compilePluginsBlocks UP-TO-DATE
> Task :buildSrc:generatePrecompiledScriptPluginAccessors
> Task :buildSrc:generateScriptPluginAdapters
> Task :buildSrc:pluginDescriptors UP-TO-DATE
> Task :buildSrc:processResources UP-TO-DATE
> Task :buildSrc:compileKotlin
> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:jar

> Task :aggregateHtmlModules FAILED
[:aggregateHtmlModules] got module modules.CoolModuleSpec_Decorated@3ad7501e

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.6-rc-1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
11 actionable tasks: 7 executed, 4 up-to-date
Configuration cache entry stored.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':aggregateHtmlModules'.
> /dev/project/sp-with-html/build/blah/generatedHtmlRenderedFiles doesn't exist!

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 2s
16:10:29: Execution finished 'aggregateHtmlModules'.

@aSemy You are right, the issue with getTemporaryDir() is a different matter.
We tweaked a bit your project, like here:

The call to filter() in ArtifactCollection resolves to Kotlin's standard Iterable.filter() extension, which is eager is defeats dependency tracking.
printHtmlRenderedFiles and printMarkdownRenderedFiles where adapted like this:

That shows dependencies being correctly tracked:
./gradlew :clean :printHtmlRenderedFiles --console=plain --configuration-cache
Calculating task graph as no cached configuration is available for tasks: :clean :printHtmlRenderedFiles
Type-safe project accessors is an incubating feature.
> Task :buildSrc:checkKotlinGradlePluginConfigurationErrors
> Task :buildSrc:generateExternalPluginSpecBuilders UP-TO-DATE
> Task :buildSrc:extractPrecompiledScriptPluginPlugins UP-TO-DATE
> Task :buildSrc:compilePluginsBlocks UP-TO-DATE
> Task :buildSrc:generatePrecompiledScriptPluginAccessors UP-TO-DATE
> Task :buildSrc:generateScriptPluginAdapters UP-TO-DATE
> Task :buildSrc:compileKotlin UP-TO-DATE
> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:pluginDescriptors UP-TO-DATE
> Task :buildSrc:processResources UP-TO-DATE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:jar UP-TO-DATE
> Task :clean
> Task :sp-with-html-and-markdown:generatedHtmlRenderedFiles
> Task :sp-with-html:generatedHtmlRenderedFiles

> Task :printHtmlRenderedFiles
got 2 files:
 - /Users/rafael/sources/repros/reproducer-27594b/sp-with-html/build/tmp/generatedHtmlRenderedFiles
 - /Users/rafael/sources/repros/reproducer-27594b/sp-with-html-and-markdown/build/tmp/generatedHtmlRenderedFiles

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.6-rc-1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 954ms
14 actionable tasks: 5 executed, 9 up-to-date
Configuration cache entry stored.

For aggregateHtmlModules, you should be able to follow the same approach.

Hi @abstratt. Thanks again for your efforts.
It's not clear from your screenshot, but I think you commented out the .filter { artifact -> ... } section?
If so, I tried modifying the code as suggested, but then gradle aggregateHtmlModules fails.
* What went wrong:
Could not determine the dependencies of task ':aggregateHtmlModules'.
> missing PROJECT_PATH attribute in resources (project :sp-without-plugin)

This is because in some random situations Gradle will ignore the attributes, and fetch files that don't match the requested attributes. The filtering is necessary, because Gradle doesn't provide any other way of making attributes required. I did request this functionality https://github.com/gradle/gradle/issues/27991, but it was refused.

Hi @aSemy, sorry if my response was too vague.
The main point I intended to convey is that as long as you stay clear from using API that causes the eager realization of providers, task dependencies should be preserved. If some filtering or transformation/mapping needs to be done, it is important to use dependency-preserving API (for instance, Provider.map or Provider.filter).

This is because in some random situations Gradle will ignore the attributes, and fetch files that don't match the requested attributes.

Is there an issue reported for this specific behavior? This seems to be what needs to be addressed. Does that behave differently w.r.t. configuration cache being enabled or not?

Hi @aSemy, sorry if my response was too vague.
The main point I intended to convey is that as long as you stay clear from using API that causes the eager realization of providers, task dependencies should be preserved. If some filtering or transformation/mapping needs to be done, it is important to use dependency-preserving API (for instance, Provider.map or Provider.filter).

That makes sense, but the situation is confusing because the code does use Provider.map {}. I had expected that would be enough, even if Kotlin's Collection.filter {} is apparently incompatible with the Provider API.

This is because in some random situations Gradle will ignore the attributes, and fetch files that don't match the requested attributes.

Is there an issue reported for this specific behavior? This seems to be what needs to be addressed. Does that behave differently w.r.t. configuration cache being enabled or not?

Yes, it would be really nice if the actual functionality was addressed, and there wasn't any need for these bug-triggering workarounds.
I don't think it's related to CC.
Dokkatoo has two open issues relating to this

https://github.com/adamko-dev/dokkatoo/issues/165
https://github.com/adamko-dev/dokkatoo/issues/170

I've tried reporting it a few times.

https://github.com/gradle/gradle/issues/23776
https://github.com/gradle/gradle/issues/28053

There's also a reproducer project here: https://github.com/martinbonnin/reproducer-attributes
And, as I mentioned above, I tried asking for a feature https://github.com/gradle/gradle/issues/27991, but frankly I don't think it was taken seriously.  Apparently a 'category' attribute is treated as a required attribute..?? It's patently not, and doesn't help with the reproducer in this issue.
Thanks again, I really appreciate you engaging with this.

That makes sense, but the situation is confusing because the code does use Provider.map {}. I had expected that would be enough, even if Kotlin's Collection.filter {} is apparently incompatible with the Provider API.

The tricky bit is that some Gradle types are also Java collections or Iterable. For instance, FileCollection extends Iterable. FileCollection's own filter(Closure) or filter(Spec) produce live views. FileTree also provide matching methods for filtering. Now, the Iterable protocol (and any Iterable-based extension functions Kotlin provides), or FileCollection.files or FileCollection.elements provide you with a snapshot of the current contents of the collection.

@aSemy If you could provide an example of using the Gradle API in that model is not preserving task dependencies, please provide a reproducer that is as small as possible and will look into it. Otherwise, there is not much purpose left for this issue.
Regarding issues that require installing your plugin to be reproduced, I suggest you try to find the exact revision of the plugin that causes the problem to appear, hopefully its diff will allow you to pinpoint a change in the way the Gradle API was being used that introduced the unexpected behavior.

@abstratt From what I understand from your explanation, this is the relevant part of the above reproducer that isn't preserving task dependencies:
// buildSrc/src/main/kotlin/CoolDependencyContainer.kt

// ...

    val incomingArtifacts =
      baseIncomingResolver.map { incoming ->
        incoming.incoming
          .artifactView {
            withVariantReselection()
            attributes {
              attribute(USAGE_ATTRIBUTE, coolPluginUsage)
              attribute(COOL_TYPE, type)
              attribute(COOL_VARIANT, variantAttribute)
            }
            lenient(true)
          }
          .artifacts
          .filter { artifact ->
            val valid = artifact.variant.attributes.getAttribute(COOL_VARIANT) == variantAttribute
            when {
              !valid -> logger.info("warning - got invalid type ${artifact.id} ${artifact.id::class.simpleName}  | attributes:${artifact.variant.attributes.toMap()} ")
              else   -> logger.info("got valid type ${artifact.id} ${artifact.id::class.simpleName}  | attributes:${artifact.variant.attributes.toMap()} ")
            }
            valid
          }
      }

The docs here indicate that .map {} preserves task dependencies, but it seems some situations it's possible to break this behaviour. Usually it's possible to work around it. However, when using map {} + artifactView {} there is no workaround.
It's also not clear to me why the reproducer works when configuration cache is disabled.

@aSemy The loss of dependencies should not be due to artifactView, but due to invoking Iterable.filter() on  the ArtifactCollection returned by ArtifactView.getArtifacts().

This issue will be closed as a duplicate of

#29238

I already included the present issue as a use case there, please 👍 to that issue. It a fairly general one, and may not cover all that is needed your specific use case (say, can't do X in a lazy way), so please feel free to open a specific feature request for API that would allow you to write code that behaves correctly (without resorting to eager realization).
If you think our analysis is wrong, please provide us with more detailed information explaining why.
Regarding enablement of configuration caching being required to reproduce the present issue, the Configuration Cache does affect the actual behavior of existing code (timing of execution, for one - for instance, most providers are automatically resolved at configuration store time, whereas without the configuration cache, they would be resolved during execution, and only if requested).

Duplicate of #29238


Update wavereadfirstlane.md

@briannagerads : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Update submodule.

Coverage remained the same at 19.357% when pulling 8a1f4434d7e690400e6fe40cc4f14aa42561a053 on proto-update into<PHONE_NUMBER>2068cea613875ec87aba611f220b9e on master.


Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 577bf9ad-b1b2-f48d-88bf-425ef7f9004c
Version Independent ID: 3fb63a45-2bc7-408e-7365-cb7f9fefc8c7
Content: Azure Tables client library for .NET - Azure for .NET Developers
Content Source: api/overview/azure/latest/data.tables-readme.md
Service: tables
GitHub Login: @christothes
Microsoft Alias: chriss

Hi @pgrek001 - I'm sorry, but could you provide more context? If you are referring to which namespaces are required for basic table operations, it would be using Azure.Data.Tables.


Guidance on updating to tfa AdamW from contribs AdamW

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOS
TensorFlow version and how it was installed (source or binary):  2.0.0rc
TensorFlow-Addons version and how it was installed (source or binary): 0.5
Python version: 3.7.3
Is GPU used? (yes/no): No

Hi, please tell me if this is the wrong place to post this issue. I'm in the process of updating my code to 2.0, and running into issues using the tfa AdamWOptimizer minimize function.
Specifically, whereas loss used to take a Tensor, it now requires a callable. Could you please provide guidance/documentation on how to update from contrib.AdamWOptimizer to the tfa-version, with respect to this loss-function?
In tf 1.14.0 I had working code like the following:
self.joint_loss = tf.reduce_mean(input_tensor=tf.reduce_sum(input_tensor=cost_list))
# ...
tf.contrib.opt.AdamWOptimizer(lmbda, self.learn_rate)
self.train_step = optim.minimize(self.joint_loss)

But now using tfa, I get the error that 'Tensor' object is not callable:
self.joint_loss = tf.reduce_mean(input_tensor=tf.reduce_sum(input_tensor=cost_list))
# ...
optim = tfa.optimizers.AdamW(learning_rate=self.learn_rate, weight_decay=lmbda)
var_list = tf.compat.v1.trainable_variables()
self.train_step = optim.minimize(self.joint_loss, var_list  =  var_list)

Hi @tsrobinson! Without seeing the full code it's a little tough, but in general in TF2 I would recommend you run your code in eager execution or have Keras compile and fit the model.
As you said Keras optimizers need a callable loss to execute:
https://github.com/tensorflow/tensorflow/blob/r1.14/tensorflow/python/keras/optimizer_v2/optimizer_v2.py#L99
opt = tf.keras.optimizers.SGD(learning_rate=0.1)
  model = tf.keras.Sequential()
  model.add(tf.keras.layers.Dense(num_hidden, activation='relu'))
  model.add(tf.keras.layers.Dense(num_classes, activation='sigmoid')
  loss_fn = lambda: tf.keras.losses.mse(model(input), output)
  var_list_fn = lambda: model.trainable_weights
  for input, output in data:
    opt.minimize(loss_fn, var_list_fn)

This example nicely shows you what is happening behind the scene in opt.minimize
https://www.tensorflow.org/beta/guide/eager
def train_step(images, labels):
  with tf.GradientTape() as tape:
    logits = mnist_model(images, training=True)

    loss_value = loss_object(labels, logits)
  loss_history.append(loss_value.numpy().mean())
  grads = tape.gradient(loss_value, mnist_model.trainable_variables)
  optimizer.apply_gradients(zip(grads, mnist_model.trainable_variables))

Or you can see how we utilize TFA optimizers using Keras compile in this example:
https://github.com/tensorflow/addons/blob/master/examples/optimizers_lazyadam.ipynb

Hi, Tom, please check out https://www.tensorflow.org/beta/guide/eager#variables_and_optimizers and let us know if it helps :-)

Closing. Please feel free to re-open if this was not sufficient


Freehand View ： line disapper

1：Draw a long line on the picture.
2：Magnify the picture ，The line will disappear

This is a known limitation as mentioned in the sample app. The sample is not part of the library and is not supported.

how can we remove long line from the picture because i am facing issue while using library. it is drawing a long line over image


[Bug]: jupyter tile notebook server control panel image details not sha256 digest compatible

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
More of a cosmetic bug, but still:
Was a direct bug resulting from my PR changes, has nothing to do with dashboard itself, more with the reliance on openshift internal registry and imagestream tag and name. The image change trigger annotation admission plug-in in my PR that handles image stream values and looking up container image field values from them is always working with sha256 resolve of an imagestream tag and image behind it. It also resolves to references in the internal openshift registry in sha256 format, which makes sense, but leads to some side effects with your current manual parsing of image fields. We still need info on the actual imagestream tag, so the way to do that is to keep imagestreamame:imagestreamtag in the ENV var JUPYER_IMAGE, something that I have confirmed CI tests downstream need (actual imagestream name) anyways.
My PR 800 makes it so that container image fields are, via image change trigger annotation, always in sha256 format.
registry-openshift-registry:5000/opendatahub/jupyter-standard-datascience@sha256:5df71f5542d2e0161f0f4342aa9a390679d72dc6fae192fd8da1e5671b27e8d4
so imagestream name and tag parsing did not work anymore ... Fixed in my PR 800, see last comment.
Discussion on/about putting imagestreamname:tag string into env var JUPYTER_IMAGE, being compatible with downstream CI tests here

Jupyter tile
notebook server successfully spawned
non-weekly image tag version, that is, not the one with  opendatahub.io/workbench-image-recommended:

image-field-value of container is in sha256 digest format, e.g. myrepo.com/notebook@sha256:492991292929cm19291929
notebook server details notebook image shows:
Danger alert:Error loading related images...
Unable to show notebook image details at this time.
https://github.com/opendatahub-io/odh-dashboard/blob/main/frontend/src/pages/notebookController/screens/server/NotebookServerDetails.tsx#L64
This is because image and tag parsing at
https://github.com/opendatahub-io/odh-dashboard/blob/main/frontend/src/pages/notebookController/screens/server/NotebookServerDetails.tsx#L64
is currently only tag-based, not digest-based. This presents a problem when using imagestreams such as
https://github.com/opendatahub-io/odh-manifests/blob/master/notebook-images/base/jupyter-datascience-notebook-imagestream.yaml#L35
where the tag is in sha256 digest format.
https://github.com/opendatahub-io/odh-dashboard/blob/main/frontend/src/utilities/imageUtils.ts#L159
You'd have to make a check for image and tag or image and digest.
Expected Behavior
parse image, tag
e.g. from quai.io/myrepo:v2.5
or
image, digest
e.g. from quai.io/myrepo@sha256:xxxxxxxx
My notebook running container section looks like this:
     image: >-
        quay.io/opendatahub/notebooks@sha256:5df71f5542d2e0161f0f4342aa9a390679d72dc6fae192fd8da1e5671b27e8d4

but could also look like this when using the internal registry of Openshift
     image: >-
        registry-openshift-registry:5000/opendatahub/notebooks@sha256:5df71f5542d2e0161f0f4342aa9a390679d72dc6fae192fd8da1e5671b27e8d4

Among others, I think you want to display imagestream name and tag (not image name and tag) on the gui there, e.g. jupyter-datascience-notebook:1.2
but you do a kind of reverse lookup from the container image field value back to that info.
Since imagestreams always have tags and names, while container image-sections do not, the entire logic in imageUtils does not work with that approach.
Steps To Reproduce
latest master version of dashboard
master branch odh-manifests
image: Jupyter Data Science
Version: 1.2
Workaround (if any)
No response
What browsers are you seeing the problem on?
No response
Open Data Hub Version
1.6.0

Anything else
You probably have to check your frontend image utils
https://github.com/opendatahub-io/odh-dashboard/blob/main/frontend/src/utilities/imageUtils.ts
in general for parsing out digests, too in addition to image names and tags (when tag is not present)
It is not always clear and maybe even a misnomer in the code types to me if image tag is the image tag in the container or the imagestream tag.
Same for imagestream name vs image name from tags.from.name
Probably a matter of having a more consolidated look at e.g. imageUtils.ts
There's gotta be an easier way of getting to imagestream name and tag, not based on the container image-value, as done here https://github.com/opendatahub-io/odh-dashboard/blob/main/frontend/src/utilities/imageUtils.ts#L167
You'd have to make lookup of
https://github.com/opendatahub-io/odh-manifests/blob/master/notebook-images/base/jupyter-datascience-notebook-imagestream.yaml#L25
and
https://github.com/opendatahub-io/odh-manifests/blob/master/notebook-images/base/jupyter-datascience-notebook-imagestream.yaml#L36
tricky ...
@andrewballantyne
I once suggested putting notebook annotation value
notebooks.opendatahub.io/last-image-selection: jupyter-datascience-notebook:1.2
which is composed of imagestream name and tag but not present in the type: Pod at the end
into env variable JUPYTER_IMAGE, ie. jupyter-datascience-notebook:1.2
listed in pod spec.containers[0].env array ...
which would be way easier to getting to imagestream name and tag the running container is based on.
But never got an answer from RHOSDS folks and @VaishnaviHire  as to what exactly env JUPYTER_IMAGE in current format
registry-openshift-registry:5000/opendatahub/jupyter-datascience-notebook@sha256:5df71f5542d2e0161f0f4342aa9a390679d72dc6fae192fd8da1e5671b27e8d4
or
registry-openshift-registry:5000/opendatahub/jupyter-datascience-notebook:1.2
is necessary for.
Seems to be for some CI spawned image tests at downstream that would not work for digest-formats anyways anymore, or whether the CI test could be written differently. @lugi0 As far as I see, the python version tag check is run live in the running notebook, not dependent in JUPYTER_IMAGE env value being in one format or the other. Also, ${image} in the CI tests is in reality really the imagestream name, so the goal is to get to the imagestream name of the currently selected notebook, i.e. jupyter-datascience-notebook, to compare with what the original imagestream name was.
current situation with JUPYTER_IMAGE content get the imagestream name as well:

So, if we were to put imagestreamname:tag directly in the notebook env var JUPYTER_IMAGE in dashboard PR 800, @lugi0 would not even need to change the line downstream at
https://github.com/red-hat-data-services/ods-ci/blob/2c62e207183f1ec560ca44cefdcfa0bfb83c0c4d/ods_ci/tests/Resources/Page/ODH/JupyterHub/JupyterHubSpawner.robot#L305
since imagestream name still comes out

Of course, since we don't have the internal docker image registry full path in there anymore, optionally, you could change the line in CI test to
${out} =    Run Cell And Get Output    import os; print(os.environ["JUPYTER_IMAGE"].split(":")[0])

but not necessary, the parse-string is variable enough for both cases.
@VaishnaviHire putting imagestreamname:imagestreamtag in env VAR JUPYTER_IMAGE would not affect CI tests, but would make getting to imagestream name and tag of the currently running notebook pod wayy easier.
See https://github.com/opendatahub-io/odh-dashboard/pull/800/files#diff-7231b0281c274f99ded5edc8d0172a35bded20a62358f877916fa2181e573ffbL295
these thoughts also have some loose connection to PR 800

@shalberd When you talk about jupyter tile you mean non DS Projects notebooks right?

@lucferbux correct, I mean non DS projects notebook details.
I don't know if you also display image name and tag in the DS projects view for a workbench ... in any case, this specific bug here is for jupyter tile non DS

@lucferbux correct, I mean non DS projects notebook details.
I don't know if you also display image name and tag in the DS projects view for a workbench ... in any case, this specific bug here is for jupyter tile non DS
Could also have an effect on edit workbench and dropdown list there for the current running image ... I have not looked at that.

Yes.... we are bringing efforts to unify code between standard notebooks and DS Projects notebooks, and thanks for all the info cause we have a very scoped solution to fix. We have a grooming session tomorrow, so we can prioritize this.
Thanks for all the help!

Yes, having e.g. the imageutils all in frontend is a good thing
https://github.com/opendatahub-io/odh-dashboard/blob/main/frontend/src/utilities/imageUtils.ts
My input / suggestion is mainly making container image parsing work for tag and digest format image field values
     image: >-
        quay.io/opendatahub/notebooks@sha256:5df71f5542d2e0161f0f4342aa9a390679d72dc6fae192fd8da1e5671b27e8d4

but could also look like this when using the internal registry of Openshift
     image: >-
        quay.io/opendatahub/notebook
     image: >-
        registry-openshift-registry:5000/opendatahub/notebooks@sha256:5df71f5542d2e0161f0f4342aa9a390679d72dc6fae192fd8da1e5671b27e8d4
```

or look like this tag-based

 image: >-
    quay.io/opendatahub/notebook
 image: >-
    registry-openshift-registry:5000/opendatahub/notebooks:jupyter-stable-3.8-datascience

@lugi0 As far as I see, the python version tag check is run live in the running notebook, not dependent in JUPYTER_IMAGE env value being in one format or the other. Also, ${image} in the CI tests is in reality really the imagestream name, so the goal is to get to the imagestream name of the currently selected notebook, i.e. jupyter-datascience-notebook, to compare with what the original imagestream name was.
[...]
So, if we were to put imagestreamname:tag directly in the notebook env var JUPYTER_IMAGE in dashboard PR 800, @lugi0 would not even need to change the line downstream at
https://github.com/red-hat-data-services/ods-ci/blob/2c62e207183f1ec560ca44cefdcfa0bfb83c0c4d/ods_ci/tests/Resources/Page/ODH/JupyterHub/JupyterHubSpawner.robot#L305
since imagestream name still comes out

I can confirm that this looks good to me.
FWIW, even if we had to update our tests downstream to get to the imagestream name because it was moved to another env var or because the format changed, it would not be a big problem to deal with; I do appreciate the heads up though!

Migrated to jira:  https://issues.redhat.com/browse/RHOAIENG-320

@dgutride I am working on this, maybe you can add it to the redhat ticket.
It is working fine as part of dashboard PR-800
However, to close this issue, we will have to merge in kubeflow notebook controller PR-133, which is a requirement for dashboard PR-800 along with the image change trigger annotation to work.
I have been working very well with Harshad Reddy Nalla @harshad16 and Alexandra Theodorapolou @atheo89, but seems like due to other pressing customer matters, both PRs cannot get finalized.
Just so much from me: I've got PR-800 dashboard and PR-133 kubeflow-notebook-controller working fine in my environment, and Alexandra also confirmed it is working well in environments with the internal openshift docker registry enabled.

Keeping open -we will double track for now until we figure out a model for upstream/downstream contribution tracking

@harshad16 @jiridanek @jstourac @atheo89 @lucferbux
closed in favor odh odh notebook controller doing the notebook image field lookup in all cases (no openshift internal registry, openshift internal registry): https://github.com/opendatahub-io/kubeflow/pull/336 and https://github.com/opendatahub-io/kubeflow/pull/329
as well as dashboard changes https://github.com/opendatahub-io/odh-dashboard/pull/2867/
Thank you all very much, neat work
minor remaining: changing notebook container imagePullPolicy: IfNotPresent from old imagePullPolicy: Always
as a nice-to-have feature for external registry and large images with a unique hash. Needs to be validated if that works with internal openshift registry, too. Saves times on workbench startup.


jupyterhub: checkout correct branch

[x] include branch name in the url or get it from environment slug
[ ] configure git user and email from gitlab token info

--
addresses #148

closed via #162


Update middleware to support Django 1.10

Updates the middleware to be django 1.10-compatible as suggested here: https://github.com/selwin/django-user_agents/issues/13
Updates some out-of-date settings, imports, etc so that tests are runnable.

Templates: https://docs.djangoproject.com/ja/1.9/ref/templates/upgrading/
URL patterns: https://docs.djangoproject.com/en/1.9/ref/urls/#patterns
TestCase class: https://docs.djangoproject.com/en/1.10/topics/testing/tools/#simpletestcase

Updated travis CI matrix based on django release notes on python compatibility:

Thanks!


[docs] [ci] README badges, LICENSE & added a .travis.yml

godoc.org and Travis badges
A .travis.yml that runs go vet, go fmt and the race detector during tests (appropriated from https://github.com/gorilla/mux/pull/134)
Mention the license in the README explicitly
Privatize an exported test variable - TestRoutes - which wasn't used outside of this package.
Reformatted testRoutes to satisfy gofmt (for some reason it likes to remove the type from the slice items) - e.g.

var testRoutes = []testPattern{
-       testPattern{methods: nil, prefix: "/"},
+       {methods: nil, prefix: "/"},

Note: the Travis run will fail until the vanity domain is set up, so I can understand holding off on merging this for now.

Aww, I already did a bunch of this :/
The gofmt thing is because you're passing -s to simplify the code. The resulting code is in fact simpler, but I'm not sure who it's harming; and since gofmt without arguments seems to be the standard I'm inclined to leave it.
I'm going to leave this PR open to mentally track all the things you're doing in this PR that I'm not in master (although if you rebase and fix everything for me I'd of course be much obliged!)

Forgot that the -s flag was strict like that—agree that leaving it off is the preferred approach.
I've re-pushed this with:

Badges
Mention of the license in the README
gofmt on Travis builds (useful for PRs)

Website is also looking :+1:

Perhaps correct the GoDoc link in https://github.com/goji/goji/blame/master/README.md#L48 at the same time?
The GoDoc link on the bottom of the new website is also wrong.
And :+1: on the new website. Looking good!

I think all of this is done, so I'm closing this out.


142182 - Refactor aggregation code magic strings

Description
This PR takes all string values that we use for column names in our output dataframes and puts them in an enum called Names so that all naming is located one place where it can easily be changed if needed
References

This is branched out from feature/134513-construct_dataframe_based_on_data_from_multiple_sources  PR #153 which will need to be merge into main first**

#158

We want to keep the column names in the same file for ease of use.
The class should consist of string constants not an enum.
Columns not related to base tables should be defined in the scope where they are used eg. classes with functions where derived DataFrames are used.


Introduce log levels for DiagnosticLogs

Purpose

$subject
This was introduced to show two different log levels for the diagnostic logs

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/5341998582

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/5341998582
Status: success

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/5343211446

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/5343211446
Status: success


Fixed GetUserProfile to never return with a null CurrentAgent.

The (first,last) variant now calls this uuid-based variant which did not
ensure CurrentAgent was initialized like the name-based one did.

I believe this fixes the second last login problem, where it sends the user to Home problem.  This is because UserProfileManager.cs CreateAgent uses profile.HomeLocation if profile.CurrentAgent is null.


Improve search engine description, listing and urls (SEO optimization)

Description could be a bit better, right now it's using page's content
Link to /docs brings to a 404: https://game.ci/docs we can probably redirect this to /docs/introduction
Improve sharing description and image. Facebook Debugger says there is no og:image tag so the sharing result on Facebook looks like this:

I assume sharing on other platforms such as slack and discord will result in something similar.

The following plugin might be helpful for the redirection:
https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-client-redirects

There used to be a ogImage for Docusaurus v1. According to documentation for v2, this is now handled in theme configuration:
https://docusaurus.io/docs/migration/manual#footericon-copyright-ogimage-twitterimage-docssidenavcollapsible

Nice catch!
Actually I think perhaps "introduction" should just link to /docs. We don't need a plugin for that.
Note that if google links to a redirect (3xx) instead of a real page (2xx) it'll be bad for your SEO ranking.
Either way, that would be solved when google reindexes the page I think.
I think I'd prefer to just have /docs/introduction be docs/index instead so that /docs works again.

Fixed the 404.
I think if we're going to do SEO it might make sense to also install PWA. I have a config for that which already includes some meta stuff and icons.


list netstandard and netcore nuget packages

TODO:

[x] alphabetize the list
[ ] maybe different names?

I didn't list Microsoft.NETCore.Platforms because I wasn't sure if anything actually depended on it for realsies (easily addable once we try to actually use these?). I also didn't list Microsoft.NETCore.Targets, since I assume it's just msbuild targets.

Relevant to #7 (and #8 I guess).
Cool. It's going to be interesting getting these wired into the @net targets :P

total nit: maybe some private helper macros to separate the different packages a bit

So I'm thinking we check in a bunch of BUILDs relevant to each package? Check them in so we can generate deps correctly.
I still think it'd be good to wire these into @net targets eventually to make multi-targeting easy (e.g. at D2L we'll want to multi-target .NET framework and standard for some DLLs as we do that conversion). What do you folks think?

total nit: maybe some private helper macros to separate the different packages a bit

Can you expand on that one a bit?

Oh sorry, yeah that's unclear. I meant a helper function like _netstandard_repositories... but then there is overlap with .NET Core and maybe csharp_repositories should just be a big alphabetical list of packages anyway. Ignore that comment :P
(btw: I think the idea behind these _repositories macros is that it allows consumers of these rules to not call them, and instead provide their own definition of what the @System.Collections is, etc., if they want to go wild).

Cool! Keeping these up-to-date will be an interesting challenge :)

Cool! Keeping these up-to-date will be an interesting challenge :)

Yeah, can probably build a tool to walk the dependency tree of a package for a set of tfms and output the rules.


require('react-native') and jest test fails

I have the following simple Module
/**
 * @providesModule DropBox
 * @flow
 */
'use strict';

var React = require('react-native');
var {
   NativeModules,
    } = React;

var _ = require('underscore')._;

class DropBox {

    constructor() {
        this.nativeModule = NativeModule.DropBox;
    }

    loadFiles() {
        return new Promise((resolve, reject) => {
            this.nativeModule.load((error, names, contents) => {
                if (error) {
                    reject(error);
                } else {
                    var parsedContent = contents.map((c) => {
                        return JSON.parse(c);
                    });
                    resolve(_.zip(names, parsedContent));
                }
            });
        })
    }
}

module.exports = DropBox;

and the following test:
jest.dontMock('../js/model/DropBox');

describe('loadFiles', function() {
 it('adds 1 + 2 to equal 3', function() {
   var DropBox = require('../js/model/DropBox');
   expect(1 + 21).toBe(3);
 });

});

I know that the test is nonsense, but I just want to make sure that my setup works. Running npm test gives:

TypeError: /Users/roger/Documents/AwesomeProject/js/model/DropBox.js: /Users/roger/Documents/AwesomeProject/node_modules/react-native/Libraries/react-native/react-native.js: /Users/roger/Documents/AwesomeProject/node_modules/react-tools/src/browser/ui/React.js: /Users/roger/Documents/AwesomeProject/node_modules/react-tools/src/modern/class/ReactComponent.js: /Users/roger/Documents/AwesomeProject/node_modules/react-tools/src/core/ReactUpdateQueue.js: /Users/roger/Documents/AwesomeProject/node_modules/react-tools/src/core/ReactUpdates.js: undefined is not a function
at /Users/roger/Documents/AwesomeProject/node_modules/react-tools/src/core/ReactUpdates.js:26:39
at /Users/roger/Documents/AwesomeProject/node_modules/react-tools/src/core/ReactUpdateQueue.js:18:20
at /Users/roger/Documents/AwesomeProject/node_modules/react-tools/src/modern/class/ReactComponent.js:14:24
at /Users/roger/Documents/AwesomeProject/node_modules/react-tools/src/browser/ui/React.js:18:22
at /Users/roger/Documents/AwesomeProject/node_modules/react-native/Libraries/react-native/react-native.js:20:47

Related StackOverflow question with some more research: How to use Jest with React Native

The main reason for this issue is that we currently ship React in source form (react-tools) inside react-native. That means that it's written in ES6 and it depends on globals like __DEV__, which your jest setup should support that. We have plans to start shipping react from npm, (I think with React v0.14). @zpao can you confirm this?
In the mean time here is what you can do: adapt the jestSupport directory and the jest config in the package.json to be used with your project.

I'm actually still getting errors after using the jestSupport/package.json setup.  But it seems to be because I'm requiring a React component in my jest test.
I haven't seen any of the tests in this repo do that yet, so I'm assuming that isn't supported yet.
@amasad can you confirm?

@naoufal
You have to mock react-native. The following example works:
jest.setMock('react-native', {
	NativeModules: {}
});
jest.dontMock('../js/model/DropBox');
jest.dontMock('mori');

var mori = require('mori')

describe('loadFiles', function() {

	pit('Spec 1', function() {

   	var DropBox = require('../js/model/DropBox');
   	var dropBox = new DropBox({
   		load: function(callback) {
      		callback(false,
				["file1"],
				['{"value":1}'])}
    	});

   return dropBox.loadFiles().then(
		function(stuff) {
      		var result = mori.toJs(stuff);
      		expect(result.length).toBe(1);
  		});
	});
});

I think we need a section in the docs about how to test your React Native components

@brentvatne I'd be glad to help if you guys think the approach here is satisfactory. naoufal/react-native-progress-hud#1

@naoufal - that would be great! can you write up a draft for that and submit a PR? I'll review and augment as necessary

Sure — I'll try and submit a PR tomorrow.

@brentvatne PR submitted #1477.  Can you review/leave feedback?

I'm getting problems with react-natives special requires
Error: /home/rasmus/Development/test/app/react/app/components/__tests__/button-test.tsx: /home/rasmus/Development/test/app/react/app/components/button.ios.tsx: /home/rasmus/Development/test/app/react/node_modules/react-native/Libraries/react-native/react-native.js: Cannot find module 'React' from '/home/rasmus/Development/test/app/react/node_modules/react-native/Libraries/react-native'

Does anybody managed to get auto mocked react-native ?
I'm still getting error when try to import React from 'react-native in jest..

cc @cpojer

Any update on this issue? I'm looking for a straight forward way of testing components. Cheers..

@taypo see this article: https://blog.formidable.com/unit-testing-react-native-with-mocha-and-enzyme-51518f13ba73

I'm currently polishing up the release for 0.9.0 which should improve the babel support in Jest and will fix performance. The next step will be to improve mocking of react-native by a lot.

Thank you for your patience. We launched Jest 14.0 with experimental react-native support:

Blog Post
React-Native Tutorial

Please feel free to create new issues after trying out the new integration if any issues remain.


DevOps Task #2  - Create instructions and scripts to deploy the project

Create easy-to-understand instructions and scripts to deploy the project and, if necessary, how to set up the development server and add a link to them to your readme.md file.

Wiki has been updated with Instructions list. Branch created to add link from Wiki to project readme.md file,


Add grass blocks to #minecraft:sniffer_diggable_block

Fixes #44
Adds these items to #minecraft:sniffer_diggable_block:
sc-goodies:pink_grass
sc-goodies:autumn_grass
sc-goodies:blue_grass

LGTM, thanks for the PR!


Introducing CSGHub Guru on Gurubase.io

Hello team,
I'm the maintainer of Anteon. We have created Gurubase.io with the mission of building a centralized, open-source tool-focused knowledge base. Essentially, each "guru" is equipped with custom knowledge to answer user questions based on collected data related to that tool.
I wanted to update you that I've manually added the CSGHub Guru to Gurubase. CSGHub Guru uses the data from this repo and data from the docs to answer questions by leveraging the LLM.
In this PR, I showcased the "CSGHub Guru", which highlights that CSGHub now has an AI assistant available to help users with their questions. Please let me know your thoughts on this contribution.
Additionally, if you want me to disable CSGHub Guru in Gurubase, just let me know that's totally fine.

Hi kursataktas, thank you for your great work.
This looks good to me❤

Hi @KinglyWayne,
I’d like to update you on the release of the Maintainer Panel feature on Gurubase. With this panel, you can add, remove, or update data sources, as well as change the logo and more. You can find the details here.
In the near future, I’m planning to include analytics insights in this panel, such as the number of questions asked, the most frequently asked ones, and more. I’ll be sure to update this thread once it’s available. However, in case I miss it, I highly recommend joining our Discord channel to stay updated.
If you’d prefer that I don’t update this thread anymore, please let me know.


ignite generate component shouldn't override already created component

What's going on?
Generating a component shouldn't override an already existing component with same name.  You can potentially warn the user or ask for confirmation
Steps to reproduce

issue command: ignite generate component testComponent
Make changes to testComponent
re-issue command: ignite generate component testComponent

Changes are overwritten

I agree. Should be straightforward.

Addressing this with https://github.com/infinitered/ignite-ir-boilerplate-2016/pull/32


These instructions don't work

These instructions don't work because there is no "Transform" tab

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 6aa9fd82-71d1-0a3f-4034-f9b5f48f544c
Version Independent ID: 5ae72e59-d997-d53d-12ac-92285918acb8
Content: Promote or demote column headers - Power Query
Content Source: powerquery-docs/table-promote-demote-headers.md
Service: powerquery
GitHub Login: @ptyx507
Microsoft Alias: miescobar

... group, not tab. There is no Transform group.

Hi @HAL9000ape
Thanks for the feedback! What app are you using to get to Power Query? Is it Power BI Desktop, Excel, Power BI service, Power Apps, Customer Insights, Analysis Services, or something else? I've checked all of the above, and when Power Query is invoked from any of them, there's a Transform group under the Home tab.

I am using Excel. Here's what

I see on the Home tab.

And, I don't see an option for Transform in the Customize the Ribbon pop up window:

Hi @HAL9000ape
The Transform tab is in the Power Query editor ribbon, not the Excel ribbon. You have to select the Data tab in the Excel ribbon, select Get data, select what data you want to connect to, connect to the data, select the data you want to use, and then select Transform data. This opens the Power Query editor, which contains the Transform tab.
For example:

In this case, text/csv is selected, so File Explorer is opened and you select a text or csv file and then select Import.
The imported data looks like this:

Once you select Transform data, the Power Query editor opens. You now have access to the Transform tab.
If you've already got data loaded into Excel, you can also access the Power Query editor by selecting the Data tab in the Excel ribbon, then Get data, and then select Launch Power Query Editor. This will load your current data into Power Query editor, and you can then use the Transform tab.
Let me know if this answers your question. If so, I'll close this issue. Thanks.

Yes! ok. Thank you. As soon as I saw your post, the bell rang in my head. I've got it now.
Thanks again!