Sign main tag and add missing env during release workflow

Signed-off-by: jorturfer<EMAIL_ADDRESS>Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[x] Tests have been added
[x] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
[x] A PR is opened to update the documentation on (repo) (if applicable)
[x] Changelog has been updated

Related #2501

I'm AFK, I'll update it in 40-50 min.
I can merge it once it's green if you agree @zroubalik (or wait, we don't have rush at all)

These f******* whitespaces... 🤣 🤣 🤣
Solved

These f******* whitespaces... 🤣 🤣 🤣 Solved

@JorTurFer btw you can enable pre-commit locally, so you catch these kind of issues before commiting the actual code.

I got it... but disabled because the tools are only installed inside the dev container, I should install it also in the host. Probably when my new computer arrives, I'll do something more reliable xD (usually I run it manually, but sometimes I forget it)
Anyway, thanks for the suggestion ❤


Feature request - giving delays

Thank you for great script. That's cool.
It would be helpful if we can give predefined second delays between each AJAX request.
That will give more human-like behaviour to our requests :)

Thanks,
I added delay and it works great. I queue all ajax request with predefined delay. So that, with a php controller I can set a maximum of 1 request per second per user IP. That's the way I use to stop overflooding.
$.ajaxq = function(qname, delay, opts) {
...
`enqueue(function() {
        //modification added settimout 1 s
        var timeout = window.setTimeout(function() {

            // Send off the ajax request now that the item has been removed from the queue
            var jqXHR = $.ajax.apply(window, [deferredOpts ? opts() : clonedOptions]);

            // Notify the returned deferred object with the correct context when the jqXHR is done or fails
            // Note that 'always' will automatically be fired once one of these are called: http://api.jquery.com/category/deferred-object/.
            jqXHR.done(function() {
                deferred.resolve.apply(this, arguments);
            });
            jqXHR.fail(function() {
                deferred.reject.apply(this, arguments);
            });

            jqXHR.always(dequeue); // make sure to dequeue the next request AFTER the done and fail callbacks are fired

            return jqXHR;

        } , delay);

    });`

Regards
Michel


Missing wtypes.h

The Debian/Ubuntu builds are failing because they expect wtypes.h to be available in the build directory's winpr/include/winpr but it is not there.
Application details

FreeRDP version 3.10.2 with cherry-picked af41563d6ba20b9e1678ddf2e6c83e541df48e67 and 91ae892f91b4a1d1f4a3595702999528dadf2677 which should be functionally equivalent to 3.10.3 which was tagged but not reelased

Environment (please complete the following information):

Debian Unstable or Ubuntu 25.04
All architectures

Additional context
Full build log available at https://launchpad.net/~jbicha/+archive/ubuntu/arch/+sourcepub/16820385/+listing-archive-extra Click amd64

@jbicha we've reworked the wtypes.h header, it is no longer auto generated but a normally installed header file.
adjust your debian build config.


OTP Bug Found

Updated Route test cases

Fixed Issue
Time Synchronization Issue:
TOTP-based OTPs rely on time synchronization between the server and the client generating the OTP . If there's a mismatch in time, even correct OTPs might not validate.


Translate: fixing link to supported languages [ci skip]

Fixes #1779

Changes Unknown when pulling 9783f41c09452ab89f0613c2f4a5e591e4f9c882 on garrettjonesgoogle:master into ** on GoogleCloudPlatform:master**.


Underflow test is not triggered for mixed Int/UInt additions

Test case:
main() {
    var x = 0u;
    x -= 1;
    println(x);
}

It does work however if the update is changed to x -= 1u;.

Fix in #171. Thanks!


pystlink as a library

Hi, great work on this implementation.
I'm in need to use this as a library in a python program I'm working on. I was able to take the lib folder, rename it to pystlink and change some imports from lib. to pystlink. and make it work as a library.
I see that pip install support is in the planed features. I think it would be a good idea to split the project up into two parts pystlink (library) and pystlink-cli (this application). That way pystlink-cli could just have a dependency on the library. I belive the library will need some improvemnets to make it easier to use and so on but I think this would be a good first start.
I want to avoid forking the project and doing it myself as I belive it's is better to focus on improving the original project. Thoughts?

Hi simonnilsson,
here is what you want https://github.com/cortexm/pyswd

Hi Pavel, I actually tried that library aswell but kept getting a
USB Error: [Errno 10060] Operation timed out
I think the error happens when using read_mem() with a (size > 4) and (size % 4 != 0)
I didn't have that problem using the code in this repository that is why I choose this instead. But if you think pyswd is the way to go then I will head over to that repo and report this issue there.
`


⚠ Spryr has degraded performance

In a5991e1, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 503
Response time: 10514 ms

Resolved: Spryr performance has improved in ebf4b44 after 9 minutes.


update from upstream

chore(deps): update rust:1.66.0 docker digest to 7d80aa9
fix: prevent cog throwing an error which causes script termination
chore(deps): update rust to v1.66.1
chore: bump package-lock.json

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


Iussues about ego vehicle

thank u for your work!
I want to change the physical parameters of the ego vehicle.
Before running, I want to use my custom configured vehicle.
To call a function,like vehicle.get_physics_control().
where I need to find?
look forward to your answer

Hi,
Thank you for your interest in our project.
You may customize that in the leaderboard if you have already your customized vehicle imported. here:
https://github.com/dotchen/WorldOnRails/blob/1a81d91d7661822ebb84bf5f6faebd04b2ea7543/leaderboard/leaderboard/scenarios/route_scenario.py#L250-L252
This is for route_scenario.py which is for evaluation. Similar changes applies for training scenario

Hi,
Thank you for your interest in our project.
You may customize that in the leaderboard if you have already your customized vehicle imported. here:
https://github.com/dotchen/WorldOnRails/blob/1a81d91d7661822ebb84bf5f6faebd04b2ea7543/leaderboard/leaderboard/scenarios/route_scenario.py#L250-L252
This is for which is for evaluation. Similar changes applies for training scenarioroute_scenario.py

Hi,
Thank you for your interest in our project.
You may customize that in the leaderboard if you have already your customized vehicle imported. here:
https://github.com/dotchen/WorldOnRails/blob/1a81d91d7661822ebb84bf5f6faebd04b2ea7543/leaderboard/leaderboard/scenarios/route_scenario.py#L250-L252
This is for route_scenario.py which is for evaluation. Similar changes applies for training scenario

hi,thank you for your answer. I have another question.
I already know how to ccontrol the number of pedestrians and cars. But I want to change the scenario. For example, I want to place an obstacle at a point in the map road to see if the ego vehicle under testing can bypass the obstacle or stop.
where I need to find?

For this you will need to create your own customized scenario file.
You can read this for reference.


{@link} tags generate broken links

Describe the bug
Hi. I'm pretty new to Astro so this may be a configuration issue but I wanted to open this just in case.
The Drupal API Client project just published docs built with Starlight and the TypeDoc plugin (thanks for this btw!). We noticed a few links are 404ing, specifically it seems like ones generated by typedoc {@link} tags. These particular ones are after a @see tag, but I see this behavior for other links too.
See https://project.pages.drupalcode.org/api_client/api/drupal-api-client/api-client/classes/apiclient/
To Reproduce

Go to https://project.pages.drupalcode.org/api_client/api/drupal-api-client/api-client/classes/apiclient/
Click on either of the two links under See, "ApiClientOptions" or "BaseUrl".

Expected: the link takes you to the correct page
Actual: 404
Expected behavior
Other links on that page seem to work fine. Here is an example of what the links look like in the plain markdown:
[ApiClientOptions](../type-aliases/ApiClientOptions.md) and [BaseUrl](../type-aliases/BaseUrl.md)

The other links do not have the file extension and the last part of the path is all lowercase. It also seems the links don't go up enough levels. ../../type-aliases/apiclientoptions/ works in this case.
How often does this bug happen?
Every time
System Info
Reproducible locally on m2 macbook. The site linked above is built in GitLab CI.
Additional Context
Here is our config:
        starlightTypeDoc({
          entryPoints: ["../packages/*"],
          output: "api",
          tsconfig: "../tsconfig.json",
          typeDoc: {
            entryPointStrategy: "packages",
            plugin: ["typedoc-plugin-mdn-links"],
            useCodeBlocks: true,
            navigationLinks: {
              "Project Page": "https://www.drupal.org/project/api_client",
            },
          },
        }),

Link to the repo if you are interested: https://git.drupalcode.org/project/api_client

Thanks for your feedback :raised_hands:
This should now be fixed in v0.10.0 that has just been released.

Thanks for the quick reply @HiDeoo ! I tested things with the latest release, and it doesn't appear to solve the issue @CobyPear reported. For example, the first link in our doc now points to:
http://localhost:4321/api_client/api/drupal-api-client/api-client/drupal-api-client/api-client/type-aliases/apiclientoptions
That seems to include redundant path arguments drupal-api-client/api-client If I strip that, a link like:
http://localhost:4321/api_client/api/drupal-api-client/api-client/type-aliases/apiclientoptions
will work.
I've also noticed that links generated by the theme rather than by {@link} in content still seem to include the .md extension. For example, a link for the return signature of one of our classes ends up as:
http://localhost:4321/api_client/api/drupal-api-client/api-client/classes/apiclient/ApiClient.md
I did notice that if I change configuration to a single entry point {@links} seem to work on this latest release (links generated by the theme do not.) When using multiple entry points, or the packages entryPointStrategy (we're using packages) {@links} are broken as described above.
Let us know if we can provide any more info.

Thanks for letting me know.

Let us know if we can provide any more info.

I would say small example(s) with the mininal amount of code to reproduce the issue would be helpful, e.g. something like this kind of fixtures in the repo and the associated configuration file(s) to reproduce the issue.

links generated by the theme rather than by {@link} in content

links generated by the theme do not

Not quite sure what you mean by this. I guess an example would help too to understand the actual result and the expected one.

@HiDeoo the {@link} case can be duplicated in one of the examples in this repo without any modification.
In examples directory:

Run pnpm dev:packages-entrypoints
View http://localhost:4321/packages-entrypoints/api-packages-entrypoints/foo/functions/dofoofaster/
The link in 'This is a faster alternative to doFoo' will be broken.

Still working on a clearer example for the second case.


Add all grid cells to global domain structure

@wietsefranssen and I have been discussing how to get all the domain information into the output files.  It seems like it will be best to store all grid cells (active and not) in the global domain and then, during the domain decomposition, only store the active grid cells. An run member will be added to the domain structure.

closed via #314 and #303


Aggregate and sum column value

Groupby and sum the value.

http://jsfiddle.net/gordonwoodhull/512bvkqo/    please refer to this link


pass arguments properly to invoke

The arguments being passed to invoke weren't doing anything.
Now they are properly parsed, converted (sort as list, due as integer, ...) and passed to invoke.

Are you using click 8.0 by any change?
Click 8.0 was not supported and had this issue, but the latest merge to master fixed that.


SW-5703 Add recorded sessions to modules

Add a fourth module event type, "Recorded Session," which is for sessions where
the content is a prerecorded video rather than a live video call.
The description of the recorded session is imported from an additional column in
the modules spreadsheet.
Since the session is a recording, it doesn't take place during a specific time
period. But we still want to send out notifications when the recording is ready
to view. For consistency with the way the other event types work, the notification
is sent based on the event's start time, but unlike other event types, the end
time is always set to the same value as the start time such that the "event"
is finished as soon as its time arrives.
The notification text is also customized since the wording for other event types
isn't appropriate for recorded sessions.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2227  👈
#2226
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @sgrimm and the rest of your teammates on  Graphite

Merge activity

Aug 2, 4:50 PM EDT: @sgrimm started a stack merge that includes this pull request via Graphite.


Version 5.0

This is my sort of idea list for version 5 that I would like to put out before working on it. Figured this time it would be better to make the complete update process transparent as migrating from 3 to 4 was quite interesting.
I have two streams, with separate ideas, that can be implemented:

[ ] Multiple @Token parameters in a method, parsed out as _ separated in order from left to right

[ ] Support lists/arrays as a "parse till you fail" style approach
[ ] String lists/arrays not allowed unless at the end of the param list
[ ] If final param is string and multiple token parts remain to parse, stick them in
[ ] Support for having middle parameters be @Nullable -> if parsing fails, try parsing to the next parameter from the same token
[ ] Class transformation to make small array types (like int[] or String[] with an expected size of 2 or 3) into separate parameters
[ ] Token parsing priority? (for instance, if tokens can be %a_b_c% or %a_b_d_5% and you put priority on 5, it will try to parse out that situation first) -> may not be worth it since it adds a layer of complexity.

[ ] Multiple methods under the same id using different token configurations
[ ] Custom, per placeholder token parsers attached to a specific parameter.

OR

[ ] Replace placeholder system with the Cause and Context system?

[ ] Throw an event when starting to parse a placeholder
[ ] Cause would contain sender, observer, and all parsed values from the token
[ ] Use command system (ValueParser, Parameter, etc.) to parse a placeholder's tokens
[ ] Event would contain:

placeholder id
a list of parsed token objects
the raw placeholder
the selected placeholder that will be used to parse
a cancellation boolean

[ ] If parsing fails, throw out an event for getting the error message + suggestions

[ ] Support an asynchronous event chain for the above AS WELL AS async/sync placeholder distinction

[ ] In placeholder declaration, define support for this (as in, @Async or something)

[ ] Placeholder method refactor:

Something like the following code block

Cause support (I'm not 100% sure about how causes work/will work, so if causes can support storing all the data needed, there will be no need for the object
If needed, some kind of object representing: the raw placeholder string, the parsed tokens as objects, the source, and the observer
Event filter parameters + a bit extra for support for this

@Placeholder("example")
@Async
public Object example(ParsedPlaceholder placeholder, Cause cause, @First Player source, ...) {
    /*...*/
}

As well as those two streams, there would be some common ground:

[ ] Sponge API 8 required (adapt commands + events to it)
[ ] Proper events -> throw events (advanced check to see if attaching plugins use events??? -> save performance to not throw them if no one cares)
[ ] Placeholder attaching: that is, an object attached to any object that can be a source for placeholders.

Methods would be refactored to not include source objects (as they are attached to the object), rather supporting a field representing the attached object
Use injection to do construction???
Parse against attached placeholders first; saves some performance.
Unattached placeholders attach to Sponge server???

[ ] Attach to Sponge internals:

[ ] Register builders to the Sponge registry
[ ] Better listener support

[ ] Better error handling for placeholders
[ ] Data API support within the Sponge API
[ ] Better Placeholder formatting:

There needs to be a better way of parsing and determining placeholders than is currently implemented. Some ideas:

[ ] Better regular expression support. The current support only works if the placeholder is contained within group 1. I might try to make a better system for this, where patterns attached to methods are given a group where placeholders exist, but I prefer:
[ ] Replace the regular expression system altogether with another parser. This parser would be more systematic and targeted to the plugin. This would also help simplify placeholder id finding, etc. This would look something like: {id:player,type:name}
The latter would quite help with token parsing, as well as having direct mappings instead of conditional logic (so type:name for id:player would directly correspond to a function getName in this case).

That's all I've got for now but it's pretty big so I will leave it as is. for a bit. Any suggestions are appreciated, as always

So I've been playing with the idea of the parser system, and I've come up with some ideas:

Use regex on %...% placeholders and json/hocon on {...} placeholders
Regex style will be unchanged
In json, no tags specified (like {player}) would parse as if that was the id (like {id:player})
Placeholders can register default values for certain tags (id being the only non-optional enforced tag), which will be null otherwise (if they register it as non-optional, just don't call placeholder parsing method)
Shorthand support (type shortens to t, etc. If there are 2 or more parts that start with the same letter, shorthand would be disabled)
Placeholder builder would work like commands, giving children and such, with arguments and defs, as well as giving minimum type for Source and Observer, if Source or Observer is necessary, executors, etc.
Parameters for the parent of a child could still be applied to the child?
Support value modifiers before and after parsing? (Such as latin-text or prepend/append spaces running after, or changing source before)
For placeholder dynamic method registration, support all-encompassing methods and use class-writing to split it up????

This could prove to be quite the challenge, however if the methods are simple like just using switch statements, this could be quite useful.

Have class be placeholder id, with methods, default value method, etc.

I still need to figure out how this system might include support for placeholder-object attachment.

I like the Cause and Context system because it's what I already know when learning Sponge.
I've read over your first idea a couple times now and I still can't wrap my head around it.

It's likely that I will adopt something like that, though I think using contexts in some way is more important since they are named. If there is no source but an observer exists, the placeholder may think the observer is the source (which may or may not be desirable), so I have to do some thinking about what to do.

Oops clicked the wrong button.

I've read through this many times now and am still confused.
Won't be able to help out until I see some commits as a start. :(

I am still figuring out how I want to go about making this update as there are a lot of things that would have to be changed, and if I should wait until 8.0 hits a snapshot stream to start or just force 7.0 instead. I will create commits at some point which lay out the groundwork but I have some thinking to do first haha. I was on holiday and so had no time to work on this the past couple of weeks, but I might be able to get some things done soon (I hope).

Another rough idea I have:
I would like to create an asynchronous handling system for placeholders; that way, if a placeholder takes a long time to parse (for instance a mysql query), it does not slow the main thread. Ideally, all placeholders should be asynchronous since they are not supposed to modify any Sponge objects, and thus asynchronous computation is fine (we do not care about values that may change during execution, since we will only be grabbing it once anyways), however placeholders like the sound placeholder may not support it. If a placeholder does not support asynchronous computation, it will be parsed synchronously and then wait for the remaining async parses to complete. Realistically, if I handle this properly, there should be no issues with having parts be synchronous and parts not, due to the fact that parsing is the only real external handling and each parser should be independent. The javascript parser may present an issue if called async and that worries me, so what I might do is use the classwriter from ASM to determine if calls are made to the placeholder service parsing, and if they are enforce that that placeholder is synchronous.
CompletableFuture should allow me to do most of this properly, and I will probably use something like a ResultBuilder that supports concurrent modification (with a concurrent hash map probably) to combine the results and then return them.


recipe compile error - can't convert symbol into integer

here's a dump/stacktrace. Am I missing something obvious? Still new to chef.
I'll fork and play around with the code, if I find a fix do you accept pull requests?
<IP_ADDRESS>
<IP_ADDRESS> Recipe: rvm::default
<IP_ADDRESS>
<IP_ADDRESS>   * chef_gem[rvm] action install
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>     - install version >= <IP_ADDRESS> of package rvm
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS> /var/chef/cache/cookbooks/rvm/libraries/rvm_chef_user_environment.rb:49: warning: class variable access from toplevel
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS> ================================================================================
<IP_ADDRESS>
<IP_ADDRESS> Recipe Compile Error in /var/chef/cache/cookbooks/rvm/recipes/system.rb
<IP_ADDRESS>
<IP_ADDRESS> ================================================================================
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS> TypeError
<IP_ADDRESS>
<IP_ADDRESS> ---------
<IP_ADDRESS>
<IP_ADDRESS> can't convert Symbol into Integer
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS> Cookbook Trace:
<IP_ADDRESS>
<IP_ADDRESS> ---------------
<IP_ADDRESS>
<IP_ADDRESS>   /var/chef/cache/cookbooks/rvm/libraries/chef_rvm_recipe_helpers.rb:190:in `[]'
<IP_ADDRESS>
<IP_ADDRESS>   /var/chef/cache/cookbooks/rvm/libraries/chef_rvm_recipe_helpers.rb:190:in `block in install_rubies'
<IP_ADDRESS>
<IP_ADDRESS>   /var/chef/cache/cookbooks/rvm/libraries/chef_rvm_recipe_helpers.rb:189:in `each'
<IP_ADDRESS>
<IP_ADDRESS>   /var/chef/cache/cookbooks/rvm/libraries/chef_rvm_recipe_helpers.rb:189:in `install_rubies'
<IP_ADDRESS>
<IP_ADDRESS>   /var/chef/cache/cookbooks/rvm/recipes/system.rb:29:in `from_file'
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS> Relevant File Content:
<IP_ADDRESS>
<IP_ADDRESS> ----------------------
<IP_ADDRESS>
<IP_ADDRESS> /var/chef/cache/cookbooks/rvm/libraries/chef_rvm_recipe_helpers.rb:
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS> 183:          # set a default ruby
<IP_ADDRESS>
<IP_ADDRESS> 184:          rvm_default_ruby opts[:default_ruby] do
<IP_ADDRESS>
<IP_ADDRESS> 185:            user  opts[:user]
<IP_ADDRESS>
<IP_ADDRESS> 186:          end
<IP_ADDRESS>
<IP_ADDRESS> 187:
<IP_ADDRESS>
<IP_ADDRESS> 188:          # install global gems
<IP_ADDRESS>
<IP_ADDRESS> 189:          opts[:global_gems].each do |gem|
<IP_ADDRESS>
<IP_ADDRESS> 190>>           rvm_global_gem gem[:name] do
<IP_ADDRESS>
<IP_ADDRESS> 191:              user      opts[:user]
<IP_ADDRESS>
<IP_ADDRESS> 192:              [:version, :action, :options, :source].each do |attr|
<IP_ADDRESS>
<IP_ADDRESS> 193:                send(attr, gem[attr]) if gem[attr]
<IP_ADDRESS>
<IP_ADDRESS> 194:              end
<IP_ADDRESS>
<IP_ADDRESS> 195:            end
<IP_ADDRESS>
<IP_ADDRESS> 196:          end
<IP_ADDRESS>
<IP_ADDRESS> 197:
<IP_ADDRESS>
<IP_ADDRESS> 198:          # install additional gems
<IP_ADDRESS>
<IP_ADDRESS> 199:          opts[:gems].each_pair do |rstring, gems|```

Closing due to inactivity, please reopen if this is still an issue


I'm getting an error, can you help me with this?

I want to both send commands and run existing ones with the help of a web api.
BaseCommandModule or ApplicationCommandModule are among the ones I inherited
var roblox = ctx.Services.GetRequiredService< IRobloxCommands>();
This is the error I get when I call
System.InvalidOperationException: 'Cannot resolve scoped service 'MertBotSystem.RobloxRepo.IRobloxCommands' from root provider.'

This is the starting code
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddScoped<IRobloxCommands, RobloxCommands>();

builder.Services.AddSingleton<MusicModule>();
builder.Services.AddSingleton<RobloxModule>();
builder.Services.AddSingleton<SlashRobloxModule>();
builder.Services.AddDiscord(options =>
{
#if DEBUG
    options.Token = "xxx";

#else
                options.Token = "xxx";

#endif
    options.TokenType = TokenType.Bot;
    options.Intents = DiscordIntents.All;
    options.AutoReconnect = true;
    options.MinimumLogLevel = LogLevel.Debug;
    options.LogUnknownEvents = true;
    var client = new DiscordClient(options);
});
builder.Services.AddDiscordCommandsNext(options =>
{
    options.StringPrefixes = new[] { "!" };
    options.EnableDms = false;
    options.EnableMentionPrefix = true;

}, extension =>
{
    extension.RegisterCommands<RobloxModule>();
});
builder.Services.AddDiscordSlashCommands(options =>
{

}, extension =>
{
    extension.RegisterCommands<SlashRobloxModule>();
});
builder.Services.AddDiscordInteractivity(options =>
{
    options.PaginationBehaviour = PaginationBehaviour.WrapAround;
    options.ResponseBehavior = InteractionResponseBehavior.Ack;
    options.ResponseMessage = "That's not a valid button";
    options.Timeout = TimeSpan.FromMinutes(2);
});
builder.Services.AddDiscordGuildAvailableEventSubscriber<BotModuleForGuildAndMemberEvents>();
builder.Services.AddDiscordGuildMemberAddedEventSubscriber<BotModuleForGuildAndMemberEvents>();
builder.Services.AddDiscordComponentInteractionCreatedEventSubscriber<BotModuleForMiscEvents>();
builder.Services.AddDiscordClientErroredEventSubscriber<BotModuleForMiscEvents>();

You are not creating a scope. Either make the service Transient or wrap the GetRequired... into a scope and it will work.

Also this line
var client = new DiscordClient(options)

makes no sense, remove it.

Also this line
var client = new DiscordClient(options)

makes no sense, remove it.

yes is removed it

You are not creating a scope. Either make the service Transient or wrap the GetRequired... into a scope and it will work.

builder.Services.AddTransient<IRobloxCommands, RobloxCommands>();

System.InvalidOperationException: 'Cannot resolve scoped service 'MertBotSystem.RobloxRepo.IRobloxCommands' from root provider.'

This doesn't tell enough to debug, pls either share the entire project or the complete involved classes, how they're registered etc.

sendmail<EMAIL_ADDRESS>

sendmail<EMAIL_ADDRESS>
Received, I'll check it out when I got some time.


Spring failed to launch when enabling CensusSpringSqlAspect

What version of OpenCensus are you using?
v0.16.1
What JVM are you using (java -version)?
Java 8
What did you do?
Add Spring contrib lib, and enable CensusSpringSqlAspect.
https://github.com/census-instrumentation/opencensus-java/tree/master/contrib/spring
What did you expect to see?
The server process launch, and get trace result of SQL execution.
What did you see instead?
The server process failed to launch, and get error.
"warning no match for this type name: Sample [Xlint:invalidAbsoluteTypeName]"

@savaki
If I disable CensusSpringAspect, and enable CensusSpringAspect, I get trace result for @Traced annotated method.
I think my setup is correct.
I guess this line is related to my issue.
https://github.com/census-instrumentation/opencensus-java/pull/1314/files#diff-e8f5249f43eaaaa980a8a29815348907R70
If you have any hint, please tell me.

I had the same issue


MIP4c2-SP33: Amendment subproposal to remove references to GovComms in MIP62...

…and harden against future changes in responsibility.

added by - https://github.com/makerdao/mips/commit/d72523769e9eb8310d6f256c620aad61eea4e04f


AccessKit panic on macos

When testing voice over with accesskit on macos in combination with the mouse, it got into a weird state where the menu had been closed, but the menu item was still focused and it resulted in a panic in accesskit_consumer.
Will need to gather more details to file an issue upstream with either egui or with accesskit_consumer.

https://github.com/lukexor/tetanes/pull/315 disabled accesskit due to egui being behind a few versions. Until egui updates accesskit, this is blocked. See https://github.com/emilk/egui/issues/4219


Crashes on startup

Hyprland Version
 System/Version info
I was unable to launch `hyprctl systeminfo` as hyprland can't run, but the version is in the crash report.

Bug or Regression?
Bug
Description
Hyprland crashes on startup. I don't know what exactly causes this, or if it is even hyprland related at all (could be wlroots, could even be something to do with my gpu as it doesnt work for some time upon install, then works, then doesn't again, which has happened with both endavour os and bedrock via debian base.), but since I couldn't get anybody to identify the cause in the discord, I decided to just make an issue here.
How to reproduce
Not sure. Upon install, it didn't work, then it worked for a short while, then it didn't work again.
Crash reports, logs, images, videos
hyprland.log
hyprlandCrashReport113899.txt

something is effed up with your permissions on the system. read the last lines of the log.
Issue on your end, likely seatd or polkit or something is broken


Extend linters to run for windows build tag. Fixes #1012

This PR updates the linting targets to include windows build tag. Fixes #1012

Codecov Report

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

@@             Coverage Diff             @@
##           master    #1365       +/-   ##
===========================================
- Coverage   64.32%   42.05%   -22.27%
===========================================
  Files         159       85       -74
  Lines       12674    10300     -2374
===========================================
- Hits         8152     4332     -3820
- Misses       3668     5584     +1916
+ Partials      854      384      -470

Flag
Coverage Δ

#integration-tests
?

#kind-e2e-tests
?

#unit-tests
42.05% <ø> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/agent/agent_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/config/node_config.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/controller/networkpolicy/tier.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-85.72%)
:arrow_down:

pkg/ovs/openflow/ofctrl_group.go
0.00% <0.00%> (-84.38%)
:arrow_down:

pkg/agent/client.go
0.00% <0.00%> (-77.42%)
:arrow_down:

pkg/ovs/ovsconfig/ovs_client.go
0.00% <0.00%> (-72.30%)
:arrow_down:

pkg/ovs/openflow/ofctrl_action.go
17.76% <0.00%> (-72.09%)
:arrow_down:

... and 122 more

@cvhariharan : do you need our help to merge this PR?
@antoninbas

/skip-all


Add invoke state integration test

TODO:

[ ] remove unwraps.
[ ] check why an old tests is panicking when handling nonce during an invoke tx.

Codecov Report

Merging #196 (c860965) into main (5c3c291) will increase coverage by 0.01%.
The diff coverage is 77.77%.

@@            Coverage Diff             @@
##             main     #196      +/-   ##
==========================================
+ Coverage   78.74%   78.75%   +0.01%
==========================================
  Files          41       41
  Lines        2493     2509      +16
==========================================
+ Hits         1963     1976      +13
- Misses        530      533       +3

Impacted Files
Coverage Δ

src/testing/starknet_state.rs
65.93% <ø> (ø)

...ic/transaction/objects/internal_invoke_function.rs
73.72% <66.66%> (-0.68%)
:arrow_down:

src/business_logic/state/cached_state.rs
73.26% <100.00%> (+1.83%)
:arrow_up:

src/business_logic/state/state_cache.rs
97.72% <100.00%> (+0.05%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[a11y walker] can't disable assistiveMML nor use inline configurations

Something I noticed without time to look into. Due to the bug in 2.6.0 (fixed in 2.6.1), we can't use combined configurations while disabling the AssistiveMML extension. Yet when I switched to just inline configurations, I got Math Processing errors. Probably just a timing issue.

Can you point out which lab or example where you are seeing this problem?  If it is your own code, can you post it?

PS, I use the unpacked version successfully in the Labs and Struik files.

I'll look into it.

This should not happen anymore. Close?

Yes.  I'll close.


fixes data race in node controller

fixes #6416

I've already signed the CLA as james dot defelice at ishisystems dot com

PTAL @yujuhong

Thanks! The PR LGTM. Will merge on green.

cc @davidopp

LGTM
Thanks for catching this!
@yujuhong, Shippable is green so I think it's OK for you to merge?

Yes, travis failed because of #6199. It's a known issue.

xref https://github.com/mesosphere/kubernetes-mesos/issues/199


Add XCov penalty to functions

See http://arxiv.org/abs/1412.6583v4 for an example application

Thank you for your PR! I commented to your implementation.

Thanks for the review! Tried to fix all issues, see the comments above.

Gread work! LGTM except one comment (addition of  attr.gpu decorator).

@jheymann85 Thank you for the correction and sorry for my late reply. The implementation is perfect so far as I checked. I would appreciate you if you add more detailed documentation on this function. One of my suggestion is to add formula of forward propagation. Of course any other helpful document is welcomed.


Implement _source parameter on action and doc lines.

The documentation (https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html) indicates that _source is valid on both the action and the doc lines (see the JSON example at the bottom of the page).
{ "update" : {"_id" : "3", "_index" : "index1", "_source" : true} }
{ "doc" : {"field" : "value"} }
{ "update" : {"_id" : "4", "_index" : "index1"} }
{ "doc" : {"field" : "value"}, "_source": true}

This PR is in draft whilst it is ratified if there is any precendence in parameters being set, or if the parameters are preferred on the action line or doc line.

@codebrain let me know when this is ready to review again

@codebrain let me know when this is ready to review again

Ready @russcam!

@codebrain have the Bulk Update supporting _source changes from this PR been ported to 7.x? If so, #4337 can be closed.

It has not been ported to 7.x yet.


Google not responding with provider in response QPs. Always ending in bad state

The return URL I get from Google is: http://localhost:4000/session?code=4/D7X-sLvBXgnr0AvHQUg7eZElYne3Wxli6xcpHr36Bts&authuser=0&session_state=c3ea9014627930999c2db4d3e8ba16dbb04dd4c6..2b18&prompt=consent# which does not include a provider params. According to: https://github.com/indigo-dc/oidcc_cowboy/blob/master/src/oidcc_cowboy.erl#L269 oidcc_cowboy requires the provider param to create a new session.
I've looked through the Google' API console but cannot find any option to include this.

Is this relevant? https://github.com/indigo-dc/oidcc_cowboy/blob/436f0d38e3d1c5a864696976c4836cc43aa98dd0/example/basic_client/priv/templates/basic_client.dtl#L8

sorry, I totally missed this entry.
that return is correct, the provider Id is only needed when starting the redirection, not when coming back.
when returning from a provider, like with your url the relevant code is:
https://github.com/indigo-dc/oidcc_cowboy/blob/master/src/oidcc_cowboy.erl#L270 and following, the undefined case.
what is the error you receive?

No longer relevant with v2.
The provider now has to be specified per cowboy_handler therefore it needs to be added multiple times for multiple providers.


[BUG] Footer section is repeating

🐛 Bug Report
Describe the bug
The website currently exhibits a bug where the footer section is unintentionally repeated on the page. This issue disrupts the user experience by cluttering the layout and creating confusion regarding the website's structure.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots

Environment (if applicable)
Provide relevant details about the environment where the issue occurred:
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Severity
How critical is this issue?

[x] 🔴 Critical
[ ] 🟠 Major
[ ] 🟡 Minor

Possible Fix
Suggest a fix or reason for the bug if known.

Checklist

[x] I have searched the existing issues and this bug has not been reported yet.
[x] I have updated the project to the latest version.
[x] I have provided all the necessary details.
[x] I have starred this repository.

Hello PA, May I also contribute to this issue?

@gauravsingh1281 this issue was raised 2 days ago but not solved
I would like to contribute to this issue
could you please assign this to me


Explanation for SitesWithCustomizations.csv is missing

Explanation for file SitesWithCustomizations.csv is missing.

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

ID: 8bac24c2-b3c8-ce42-7844-d00f6e79d96a
Version Independent ID: d78f672f-ff63-2268-638e-6623ed0d59ea
Content: The SharePoint modernization scanner reports
Content Source: docs/transform/modernize-scanner-reports.md
Product: sharepoint
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Can you elaborate? I don't see any reference to this file on the doc...

Can you elaborate? I don't see any reference to this file on the doc...

Exactly. This file gets output by the modernization scanner, but the docs do not explain what it contains.

@jansenbe ?


bsp_ut updates to work with cfe 6.6

The associated changeset specifically addresses control code use, conditionally dependent on OS.

Imported from trac issue 201.  Created by sduran on 2018-08-23T14:42:45, last modified: 2019-07-26T15:13:27

Trac comment by sduran on 2018-08-23 14:44:52:
Changes to work with cfe: trac-246-fix-cfe6.6-ut_assert

Trac comment by jphickey on 2018-09-07 13:53:35:
I've rebased this change set and cleaned up the duplication between this and #188.
New changeset for this specific ticket (ccb to review): [changeset:ec5aff7b]
There is also a merge of this with 188, which can be found in branch ic-ut-20180907 / commit [changeset:fa9cc1c].  This should be used for evaluation of unit test.

Trac comment by jphickey on 2018-09-07 09:01:26:
Just noticed this ticket and it looks like it contains some of the same stuff as #188
It looks like it also adds a bsp_ut.c file for sparc-vxworks6.7 which #188 does not have.  If its OK w/you I'd like to work on merging these two tickets (#201 and #188) and resolving the conflicts.  It also needs to be rebased to the current development branch.

Trac comment by jphickey on 2018-09-11 14:42:19:
Discussed at the 2018-09-11 CCB.
The concern:
The control codes, while undeniably useful when running on a terminal, will also be present within log files.  Furthermore, automated tests like Bamboo convert this output into another format (XML) and adding control codes may break this conversion.  It may also break anything that greps for e.g. [ FAIL ] or similar.
Proposed solution:
At least on the pc-linux BSP, use isatty() to determine whether or not the output is actually a terminal.  The inclusion of control codes can then be a runtime choice.  This should make it user-friendly when running tests directly, but also not break any scripts that rely on the exact log output.

Trac comment by jphickey on 2018-09-11 16:16:54:
Updated to address potential scripting issue:
commit [changeset:82e5d00] modifies the solution to call isatty() during startup and only enables control codes if this returns true.  This is only done for pc-linux BSP as other platforms may not have this call or it may not return an accurate value.  SPARC/VxWorks can output this unconditionally.
As this was otherwise agreed to the modified version has been merged into branch ic-ccb-20180911

Trac comment by jphickey on 2018-10-12 09:19:02:
This is now in the osal "development" branch.  All unit tests are passing for me.  Passing back to Steve (original submitter) for the final verification and closure.
If you concur, just close the ticket and the state to "fixed"

Trac comment by jhageman on 2019-03-26 12:50:07:
See also [cfs_cfe:#246], closed as a duplicate to this ticket.

Trac comment by jhageman on 2019-03-01 16:34:01:
Pending test review by<EMAIL_ADDRESS>

Trac comment by jhageman on 2019-06-24 12:49:13:
CCB - Tagging this for final consideration 6/24/19, no response from author for 10 months.  If there's issues that weren't addressed, suggestion is to open a new ticket.

Trac comment by jhageman on 2019-06-05 12:40:08:
CCB 6/5/2019 - Tam took action to ping Steve on this again.  Everything here has been merged, need confirmation that this completely addresses this ticket

Trac comment by jhageman on 2019-07-03 13:31:58:
Moved closed 4.2.2 milestone tickets to 4.3.0

Trac comment by jhageman on 2019-06-26 12:25:49:
CCB 6/26/19 - Agreed to close as is (changes have been merged, no response from author), author can submit new ticket if needed.

Trac comment by jhageman on 2019-07-26 15:13:27:
Milestone renamed


docs(go-git): authenticate against Git repositories

Add a guides section
Add a guide explaining how to auth against Git repositories

Signed-off-by: Guillaume de Rouville

@vikram-dagger, implemented all your recommandations. It looks way better 🙏

@vikram-dagger split the go code into snippet. Ready for review

@grouville when you have a moment, can you make the changes and then we can merge asap

@grouville when you have a moment, can you make the changes and then we can merge asap

@mircubed done

@shykes can you review and merge?

@shykes can you review and merge?

I defer to @vikram-dagger

@vikram-dagger, rebased


Refactor Google::Cloud::Core::GCE to Google::Cloud::Core::Environment

Hi Mike, Chris,
For all the instrumentation libraries I'm going to add soon, they require utility functions to check which environment code is running from and retrieve metadata. The existing Google::Cloud::Core::GCE module already does something like this, but only for GCE VM environment and queries GCP project_id. I think it makes sense to re-purpose and expand this module to support all metadata management for various GCP environments.
In this PR, I'm renaming Google::Cloud::Core::GCE to Google::Cloud::Core::Environment. I'm also adding several utility functions:

original "gce?" function renamed to "gce_vm?", because this function is essentially checking if environment is on a GCE VM.
"gae?" funcion checks if running in GAE environment
"gke?" function checks if running in GKE environment
new "gce?" function checks if running on GCE deployed environment and make sure it's not GAE or GKE
Finally, various other metadata retrieving functions that gets information from environment variables or internal metadata service

I'm adding more elaborate integration tests in later PR.
Please let me know what you think.
Thanks,
heng Xiong

I searched the codebase (master branch) for existing calls to the original gce? method that might need to be updated, but I couldn't find any.
@hxiong388 Thank you for this great update. Merging.


Updated datasetgen to pass in the correct parameters to config

This is probably ok, and datasetgen must be reviewed anyway.


Readme makes reference to generating the path with ... tags ... - but tags are not present

I was also looking for a way to do this and it took me some time to find it, so hopefully putting a tags: example here will help people in my situation

Coverage remained the same at 89.697% when pulling 061672bd75c9a0907f2c5a8f2753b2bec82004c1 on henricook:patch-1 into 6e577574510169ff446594c678d4d0f8d0b68a80 on iheartradio:master.

thanks!


Windows Support

What would you like to be added:
Support for Windows Server 2019 nodes.
Why is this needed:
Since 1.14, Kubernetes has GA support for running Windows server containers.  Splunk should be able to offer a logging solution for hybrid clusters.  Fluentd can run on windows, and the daemonsets for splunk-connect do not need privileged container support so there are no technical blockers.

Are you planning on running this in Azure or on-prem datacenter deployment?

On-premise in the short-term, but eventually Azure.

Is there any interest in continuing this feature? AKS, GKE, EKS and Openshift all now have reached general availability for hybrid clusters with Windows Server 2019 nodes.


[fix] Use internal tag for SumType enum serialisation

This makes it easier to handle the serialised format with pydantic.

for PR title and description pls use conventional commit + BREAKING footer
https://www.conventionalcommits.org/en/v1.0.0/


chore: archiver cleanup

Please read contributing guidelines and remove this line.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#8599  👈
#8598
#8578
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @LHerskind and the rest of your teammates on  Graphite


Add water damage to all endermobs and magmacubes

I like it. Maybe we should extend this to all mobs?

I like it. Maybe we should extend this to all mobs?

Yes.
Also, shouldn't it be in this patch?

I like it. Maybe we should extend this to all mobs?

Yes.
Also, shouldn't it be in this patch?

merging with the mentioned patch would be preferred

Will change that patch then, I did notice the patch, but did not know about the etiquette of changing another's patch so better be safe, I submitted another.

extended config options to all mobs
moved changes back to original patch
fixed formatting issues


[QA] Sharing NG

Organisational overview of all QA
Related to https://github.com/owncloud/ocis/issues/6993
Prerequisites
Start ocis with the default config.

Resharing is controlled by OCIS_ENABLE_RESHARING

Recommendation: Decide before you deploy, if you change it, the existing Shares will not be converted.
New User / Group Lookup
Regular users can search for other users and groups. The following limitations
apply:

Only search queries are allowed (using the $search=term query parameter)
The search term needs to have at least 3 characters
for user searches the result set only contains the attributes displayName,
userType, mail and id
for group searches the result set only contains the attributes displayName,
groupTypes and id

Referencing https://github.com/owncloud/ocis/issues/7782 for the qa team.

After discussion with @individual-it we decided to implement the new sharing ng tests separately from the existing api tests.
adapting new api to existing tests can be complicated and slow down test development.
so we need:

create a new ApiShare suite with LinkContext.php ShareContext.php and using existing graphHelper.php

start to write tests for this endpoinds:
https://owncloud.dev/libre-graph-api/#/roleManagement
https://owncloud.dev/libre-graph-api/#/drives.permissions

reuse existing cases but don't delete old tests (we'll delete them after 6 months)

pay attention to permissions, security stuff (negative cases when an unauthorized or unauthorized user tries to do something)

use wording appropriate to the api request like user gets sharing permissions for a file|folder

also for https://github.com/owncloud/cs3api-validator need create some positive CRUD tests:

create sharing invitation with all roles and all existing permissions
create sharing link with all roles and all existing permissions, custom name and expirity

First test already created: https://github.com/owncloud/ocis/pull/7946
cc @individual-it @saw-jan

QA sub issues:

https://github.com/owncloud/ocis/issues/7947
https://github.com/owncloud/ocis/issues/8111
https://github.com/owncloud/ocis/issues/7826
https://github.com/owncloud/ocis/issues/8318
https://github.com/owncloud/ocis/issues/8336
https://github.com/owncloud/ocis/issues/8008
https://github.com/owncloud/ocis/issues/7968


UI enhancement in my trips screen

Describe your issue here.

Steps to reproduce

go to navigation drawer -> my trips

Expected behaviour

The trips are currently shown in ascending order of time. Show them in descending order (the latest or upcoming trips should be on top)
If there are no upcoming trips, show : You don't have any upcoming trips. Click on + icon on bottom to add new trip!
If there are some past trips, show Your past trips heading & show a lit of past trips after this heading.

I want to work on this issue

Great! @Yahhi 👍


Structure with tag designed_tag failed in 0 seconds with error: <class 'IndexError'>

I am attempting to run the dl_interface_design.py tool on a set of designs I generated using RFdiffusion.
Attempting pose: test_binder_0
Struct with tag test_binder_0 failed in 0 seconds with error: <class 'IndexError'>
When I try to run the predict.py on the same file, I get
Test_binder_0 has already been processed. Skipping
Please can I get some help resolving this issue?
Each pdb file only contain one sequence for the each peptide.

Hi,
I have face the same issue too:
PyRosetta-4 2023 [Rosetta PyRosetta4.Release.python310.linux 2023.24+release.9fbc647ae7024a22bb4c453f5a3aa9041dd4f4f5 2023-06-12T15:45:27] retrieved from: http://www.pyrosetta.org (C) Copyright Rosetta Commons Member Institutions. Created in JHU by Sergey Lyskov and PyRosetta Team. Found GPU will run ProteinMPNN on GPU Attempting pose: design_1_10 Struct with tag design_1_10 failed in 0 seconds with error: <class 'Exception'>
This happens when I specify the -seq_per_struct flag.
My command was as follows:
~/apps/dl_binder_design/mpnn_fr/dl_interface_design.py -silent my_designs.silent -outsilent mpnn_passed_1.silent -seqs_per_struct 20 -temperature 0.0001
The above runs perfectly fine without specifying -seq_per_struct.
Any help is appreciated.
Thanks,
Akshay
PS: @Deoyeh to avoid the Skipping error,  delete the checkpoint and idx files.

Hi,
I have faced the same issue too:
Found GPU will run ProteinMPNN on GPU
Attempting pose: design_1_10
Struct with tag design_1_10 failed in 0 seconds with error: <class 'Exception'>

This happens when I specify the -seq_per_struct flag.
My command was as follows: ~/apps/dl_binder_design/mpnn_fr/dl_interface_design.py -silent my_designs.silent -outsilent mpnn_passed_1.silent -seqs_per_struct 20 -temperature 0.0001
The above runs perfectly fine without specifying -seq_per_struct.
Any help is appreciated.
Thanks, Akshay
PS: @Deoyeh to avoid the Skipping error, delete the checkpoint and idx files before rerunning.

I also got the same error.
Did you eventually solve it?


ERROR: AADSTS700024: Client assertion is not within its valid time range

Hi! I am facing a similar issue (#180) that appears to have been resolved, but I'm still encountering this problem when executing dotnet tests in GitHub Runner.
Azure.Identity.CredentialUnavailableException : DefaultAzureCredential failed to retrieve a token from the included credentials. See the troubleshooting guide for more information. https://aka.ms/azsdk/net/identity/defaultazurecredential/troubleshoot
...
- Azure CLI authentication failed due to an unknown error. See the troubleshooting guide for more information. https://aka.ms/azsdk/net/identity/azclicredential/troubleshoot ERROR: AADSTS700024: Client assertion is not within its valid time range. Current time: 2023-10-31T11:53:04.4424859Z, assertion valid from 2023-10-31T11:39:49.0000000Z, expiry time of assertion 2023-10-31T11:44:49.0000000Z. Review the documentation at https://docs.microsoft.com/azure/active-directory/develop/active-directory-certificate-credentials . Trace ID: d64c537e-1d94-4274-9012-c0d7590f1c00 Correlation ID: 5c769bb7-e85a-4557-ba28-92f8eca1c4ff Timestamp: 2023-10-31 11:53:04Z
	Interactive authentication is needed. Please run:
	az login

I'm using action version 1.4.6 and azure.identity package version 1.10.4 + DefaultAzureCredential(). The issue doesn't occur on integration tests where nearly all of them utilize tokens. However, if I run API/UI tests where I employ identity in one or two tests, it fails with above error. Do you have any suggestions or workarounds?

Hi @krukowskid , could you provide the workflow file, run it again with debug mode, and provide the debug log?

same issue here this is a real pain. The token are only valid for 5 minutes, and if you don't use it until very far in your workflow, then it just throw  the error shown by OP

same issue here this is a real pain. The token are only valid for 5 minutes, and if you don't use it until very far in your workflow, then it just throw the error shown by OP
I tried<EMAIL_ADDRESS>same issue. I'm not using any other way to login into azure.

Hi @benjamin-rousseau-shift could you provide your workflow file and debug log? Do you also use OIDC login? OIDC login with SP should have an expiration of 1 hour and OIDC with User-assigned managed identity should have 24 hours.

@YanaXu
here is my workflow definition (its reusable workflow). I have also enabled debug but it doesnt make sense to paste it here because it's so noisy. Workflow is failing in 🧪 Run tests for specified filter and rerun failed step. I will provide debug logs, just let me know which part/step you are interested in
name: 'reusable/run-tests'
on:
  workflow_call:
    inputs:
      environment:
        required: true
        type: string

      system-under-test:
        required: false
        type: string
        default: xwow

      test-configuration:
        required: true
        type: string

      tests-filter:
        description: 'Filter for selecting tests to run'
        required: true
        type: string

      tests-web-url:
        required: false
        type: string

      tests-apigateway-url:
        required: false
        type: string

      report-name:
        description: 'Name for execution report and attachments'
        required: false
        default: Default
        type: string

      allure-reports:
        required: false
        default: false
        type: boolean

      allure-project-id:
        required: false
        type: string

    secrets:
      KrukowskidBotAppId:
        required: false
      KrukowskidBotPrivateKey:
        required: false
      ad-username:
        required: false
      ad-password:
        required: false
      azure-client-id:
        required: false
      azure-tenant-id:
        required: false
      azure-subscription-id:
        required: false
      identity-url:
        required: false
      identity-client-id:
        required: false
      backoffice-identity-url:
        required: false
      backoffice-client-id:
        required: false
      backoffice-client-secret:
        required: false
      backoffice-identity-scope:
        required: false
      allure-server-password:
        required: false

permissions:
  id-token: write
  contents: write
  actions: read
  checks: write

jobs:
  run-tests:
    name: run-tests
    environment: ${{ inputs.environment }}
    runs-on:
      labels: ubuntu-latest-8core32ram
    timeout-minutes: 20
    env:
      E2E-ENVIRONMENT: ${{ inputs.test-configuration }}
      E2E-SUT: ${{ inputs.system-under-test }}
      ALLURE_SERVER_URL: ${{ vars.ALLURE_SERVER_URL }}
      ALLURE_SERVER_USER: ${{ vars.ALLURE_SERVER_USER }}
      ALLURE_SERVER_PASSWORD: ${{ secrets.allure-server-password }}
    defaults:
      run:
        shell: pwsh
    steps:
    - name: Generate token
      if: ${{ github.repository != 'Krukowskid/Krukowskid.Tests' }}
      id: generate_token
      uses: tibdex/github-app-token@v1
      with:
        app_id: ${{ secrets.KrukowskidBotAppId }}
        private_key: ${{ secrets.KrukowskidBotPrivateKey }}

    - name: Checkout Tests
      if: ${{ github.repository != 'Krukowskid/Krukowskid.Tests' }}
      uses: actions/checkout@v3
      with:
        repository: Krukowskid/Krukowskid.Tests
        token: "${{ steps.generate_token.outputs.token }}"
        ref: main

    - name: Checkout Tests
      if: ${{ github.repository == 'Krukowskid/Krukowskid.Tests' }}
      uses: actions/checkout@v3

    - name: Azure login
      uses<EMAIL_ADDRESS>      with:
        client-id: ${{ secrets.azure-client-id }}
        tenant-id: ${{ secrets.azure-tenant-id }}
        subscription-id: ${{ secrets.azure-subscription-id }}

    - name: Setup .NET
      uses: actions/setup-dotnet@v3
      with:
        dotnet-version: 7.0.x

    - name: Check Other Chrome Version
      run: /usr/bin/google-chrome --version

    - name: Restore dependencies
      run: dotnet restore src

    - name: List Config Files
      run: ls src/Krukowskid.Tests.Common/Krukowskid.Tests.Common.Configuration

    - name: Add TestResults dir
      run: |
        mkdir src/TestAutomation
        mkdir src/TestAutomation/TestResults
        mkdir src/TestAutomation/TestResults/AllureReports

    - name: 🦿 Override WebUrl
      if: ${{ inputs.tests-web-url != '' }}
      shell: bash --noprofile --norc {0}
      run: |
        echo "Setting E2E_TESTS__WEB__URL env var to ${{ inputs.tests-web-url }}"
        echo "E2E_TESTS__WEB__URL=${{ inputs.tests-web-url }}" >> $GITHUB_ENV

    - name: 🦿 Override ApiGatewayUrl
      if: ${{ inputs.tests-apigateway-url != '' }}
      shell: bash --noprofile --norc {0}
      run: |
        echo "Setting E2E_TESTS__APIGATEWAY__URL env var to ${{ inputs.tests-apigateway-url }}"
        echo "E2E_TESTS__APIGATEWAY__URL=${{ inputs.tests-apigateway-url }}" >> $GITHUB_ENV

    - name: 🏗 Build
      run: dotnet build src --no-restore

    - name: List Files
      run: |
        ls src -lR > src/TestAutomation/TestResults/post-build-files.txt
        ls ${{ github.workspace }}

    - name: 🦾 Install browser for Playwright tests
      shell: pwsh
      run: src/Krukowskid.Tests.UI/Krukowskid.Tests.UI.x/bin/Debug/net7.0/playwright.ps1 install --with-deps chromium

    - name: 🧪 Run tests for specified filter and rerun failed
      shell: bash --noprofile --norc {0}
      env:
        LC_ALL: en_US.utf8
      run: |
        counter=1
        exitcode=0
        reset="\e[0m"
        warn="\e[0;33m"
        green="\e[0;92m"
        blue="\e[0;94m"
        while [ $counter -lt 4 ]
        do
            if [ $filter ]
            then
                echo -e "${warn}Run number: $counter. Re-running failed tests filter: $filter ${reset}"
                # run test and forward output also to a file in addition to stdout (tee command)
                cp src/TestAutomation/TestResults/runtestsoutput.log src/TestAutomation/TestResults/runtestsoutput_first.log
                dotnet test src --no-build --filter=$filter --verbosity minimal --logger trx --results-directory src/TestAutomation/TestResults --settings:src/Krukowskid.Tests.Common/Krukowskid.Tests.Common.Configuration/cicd.runsettings | tee src/TestAutomation/TestResults/runtestsoutput.log
            else
                echo -e "${blue}First run. Running tests with filter "${{ inputs.tests-filter }}" ${reset}"
                dotnet test src --no-build --filter "${{ inputs.tests-filter }}" --verbosity minimal --logger trx --results-directory src/TestAutomation/TestResults --settings:src/Krukowskid.Tests.Common/Krukowskid.Tests.Common.Configuration/cicd.runsettings | tee src/TestAutomation/TestResults/runtestsoutput.log
            fi
            # capture dotnet test exit status, different from tee
            exitcode=${PIPESTATUS[0]}
            if [ $exitcode == 0 ]
            then
                echo -e "${green}Running tests succeeded after $counter attempts.${reset}"
                exit 0
            fi
            filter=$(cat src/TestAutomation/TestResults/runtestsoutput.log | grep -o -P '(?<=\sFailed\s)\w*'| grep -v -x 'Krukowskid' | awk 'BEGIN { ORS="|" } { print("Name=" $0) }' | grep -o -P '.*(?=\|$)')
            ((counter++))
        done
        exit $exitcode

    - name: List Files
      if: always()
      run: ls src -lR > src/TestAutomation/TestResults/post-tests-files.txt

    - name: 📈 Generate Github Report
      uses: dorny/test-reporter@v1
      if: always()
      with:
        name: ${{ inputs.report-name }} Test Execution Report
        path: 'src/TestAutomation/TestResults/*.trx'
        reporter: 'dotnet-trx'
        list-suites: 'all'
        fail-on-error: 'false'

    - name: Find Allure Reports
      if:  ${{ always() && inputs.allure-reports == true }}
      shell: bash
      run: |
        find src -type d -name "allure-results"

    - name: Copy Allure Reports
      if:  ${{ always() && inputs.allure-reports == true }}
      shell: bash
      run: |
        find src -type d -name "allure-results" -exec cp -r -v {}/. src/TestAutomation/TestResults/AllureReports \;

    - name: 📈 Upload Allure Reports
      uses: unickq/send-to-allure-docker-service-action@v1
      if:  ${{ always() && github.ref_name == 'main' && inputs.allure-reports == true }}
      continue-on-error: true
      with:
        allure_results: src/TestAutomation/TestResults/AllureReports
        project_id: ${{ inputs.allure-project-id }}
        auth: true
        generate: true

    - name: Upload additional reports
      uses: actions/upload-artifact@v3
      if: always()
      with:
        name: ${{ inputs.report-name }}TestReports
        path: |
          src/TestAutomation
          src/**/TestResults
          src/**/bin/**/allureConfig.json
          src/**/bin/**/appSettings.*.json

Hi @krukowskid , From the description of this issue, I see the error is thrown from Azure CLI. But in the steps of "reusable workflow definition", I can't tell which step throws the exception. Could you answer these questions for the further analysis?

This error is thrown from one of the Azure CLI cmd, right?
Could you provide the screenshot of the workflow run? (an example of the screenshot)
Is ubuntu-latest-8core32ram a self-hosted runner?
Do you konw which version of Azure CLI you're using for ubuntu-latest-8core32ram?
Have your tried the latest Azure CLI version?

This error is thrown from one of the Azure CLI cmd, right?

Its thrown in dotnet tests (🧪 Run tests for specified filter and rerun failed step) that are using DefaultAzureCredential()

Could you provide the screenshot of the workflow run?

Is ubuntu-latest-8core32ram a self-hosted runner?

Its github hosted (large) runner., same problem on ubuntu-latest

Do you konw which version of Azure CLI you're using for ubuntu-latest-8core32ram?

same as on ubuntu-latest

Have your tried the latest Azure CLI version?

on the day i was creating an issue 1.4.6 was the latest. I will try with 1.5.0

@krukowskid,
Azure Login Action works for Azure CLI and Azure PowerShell. But in your workflow file, Run tests for specified filter and rerun failed only call dotnet commands. Do you mean the error is thrown for your c# source code? Have you checked the code if they run the auth independently without Azure CLI？

I am using DefaultAzureCredential. Locally (with visualstudioidentity) it works, it also works with azure login action with secret

@krukowskid , What I can see from Run tests for specified filter and rerun failed is the workflow file tries to run "dotnet test". I don't know what's inside.
Azure Login supports Azure CLI and Azure PowerShell. If it's pure c# test codes, I don't think it'll work. If the tests call Azure CLI or Azure PowerShell, it's another story. Can you share more details with us?

In dotnet code I am using DefaultAzureCredential from Azure.Identity package. During authentication it loops trough all possible methods of authentication. When running test on runner it's using AzureCliCredential with CLI context set on runner by azure/login action

Sticking my me too on this problem, exactly the same error message and reporting of a 5 minute token.  Out of curiosity, is there a point where the v1 tag should be dropped back to a previously working commit in order to avoid lots of issues?  I know that best practice is that workflows should us commit hashes instead of tags when referencing actions but I'm sure there are lots of workflows that don't.

Sticking my me too on this problem, exactly the same error message and reporting of a 5 minute token. Out of curiosity, is there a point where the v1 tag should be dropped back to a previously working commit in order to avoid lots of issues? I know that best practice is that workflows should us commit hashes instead of tags when referencing actions but I'm sure there are lots of workflows that don't.

Hi @shaneholder could you please provide more details about your issues? As we know, v1.5.1 will not introduce the issues like this. We're trying to reproduce this issue and figure out how it happens now.
FYI, we would drop back v1 to an older version if the latest version truely introduces some issues, e.g. #371 . However, about moving the v1 to the latest version or not, everyone has different opinions, e.g. #380.
Let's focus on this issue itself. Please help us to provide more details to reproduce it. If it's indeed an issue, we'll take the right action on it.

I don't know why but I can't replicate it anymore. However if you are still curious on how my workflow looks like :
name: Test Workflow for Debugging Azure Cli Credentials Timeout

on:
  workflow_dispatch:

permissions:
  id-token: write
  contents: read

jobs:
  azure:
    name: "Testing Azure Cli Timeout"
    runs-on: [self-hosted, linux, x64] # ubuntu-latest
    environment: Production
    steps:
      - name: Install Azure cli
        run: |
          sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg -y
          curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
          AZ_REPO=$(lsb_release -cs)
          echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list
          sudo apt-get update
          sudo apt-get install azure-cli

      - name: Az CLI login
        uses: azure/login@v1
        with:
          client-id: ${{ vars.AZURE_CLIENT_ID }}
          tenant-id: ${{ vars.AZURE_TENANT_ID }}
          allow-no-subscriptions: true

      - name: Sleep for 10 minutes
        run: sleep 600

      - name: Az CLI Account Show
        run: az account show

what I'm suspecting is that for the ubuntu runner we are using, azure cli might have been updated ? (I'm not sure which version of ubuntu we are running, but it might be that azure cli latest was not yet the right version for our distrib ?)

Scratch that I actually still face it, but my real pipeline is a bit different as it also install azure-cli-core using pip3 for some requirements with the azure ansible collection.
I wonder if it's the azure-cli-core in pip3 even though I login with the action before even installing this cli-core, that kicks in later stage... I am lost.

@benjamin-rousseau-shift i think the issue is with the underlying OIDC token issued by Github (5 minutes expiry). it seems like its not a fault of Azure Cli. I've started having issues similar to yours after migrating to federated identity. I solved them:
https://stackoverflow.com/questions/77686072/issues-with-azure-identity-when-using-federated-credentials/77691098
I'm using python, but you can implement this fix in any other language:
def get_azure_credentials():
    token_request = os.environ.get("ACTIONS_ID_TOKEN_REQUEST_TOKEN")
    token_uri = os.environ.get("ACTIONS_ID_TOKEN_REQUEST_URL")
    subprocess_helper(f'token=$(curl -H "Authorization: bearer {token_request}" "{token_uri}&audience=api://AzureADTokenExchange" | jq .value -r) && az login --service-principal -u {CLIENT_ID} -t {TENANT_ID} --federated-token $token')
    return AzureCliCredential()

@4c74356b41 By doing this I think you're basically doing exactly the same thing as the github action.
My workaround for now is to azure login again (just like you do in your python script) right before I need to fetch something from azure.
Not the fanciest solution but yeah the OIDC token are only valid 5 minutes that's a fact no matter what the documentation is saying :/

@4c74356b41 @benjamin-rousseau-shift, you are right. The GitHub OIDC provider issues a JWT ID token with a 5-minute expiration time. Its lifespan is not officially documented. By decoding the OIDC token, we can find it is actually expired in 5 minutes. You can also verify this in the sample token.
During login, Azure CLI will use the GitHub OIDC token to fetch an access token from MSAL. This access token will be stored in msal_token_cache. This access token is assigned a random value ranging between 60-90 minutes (75 minutes on average). See https://learn.microsoft.com/en-us/entra/identity-platform/access-tokens#access-token-lifetime.
AzureCliCredential() authenticates by requesting a token from the Azure CLI. The instantiation of AzureCliCredential() alone will not raise the error. The error should occur when calling its method get_token(). It executes az account get-access-token  --output json --resource {} to request a token from Azure CLI. See https://github.com/Azure/azure-sdk-for-python/blob/6aa171f81c0111996a2785b14864e961a7942e87/sdk/identity/azure-identity/azure/identity/_credentials/azure_cli.py#L24.
For az account get-access-token, Azure CLI first calls acquire_token_silent to attempt to get an access token from token cache. If no access token is returned, it calls acquire_token_for_client to get a new access token with client assertion in OIDC scenario, see https://github.com/Azure/azure-cli/issues/13276#issuecomment-1301828386.
Regarding @krukowskid's issue, the error ERROR: AADSTS700024: Client assertion is not within its valid time range.  is most likely because DefaultAzureCredential fails to find or accept the access token in token cache and attempts to fetch a new access token again. At this point, the GitHub OIDC token is expired and cannot be used to fetch an access token.
In my local testing, it works seamlessly under normal conditions, returning the access token from the cache without needing to fetch a new access token from MSAL. I am wondering if you use GetToken() to issue a different scope from the access token stored in token cache. You may double check the TokenRequestContext argument for DefaultAzureCredential().GetToken().

not sure if I'm interpreting what you say right. basically what you are saying that the default token in token cache should still be valid for 75 minutes on average and if we somehow retrieve that it should work (even though OIDC token expired)?

@4c74356b41, you're correct. Azure CLI stores the access token fetched from MSAL, which is valid for 75 minutes on average. If you are trying to retrieve this token from cache, it should work without the need of OIDC token. But if you are retrieving a new access token from remote MSAL, it needs OIDC token.

mkay, can you, please, help me understand how to reliably request token from the cache and not a new token?
thanks!

@4c74356b41, I tried the following python code, it will return the token form cache if it is still valid.
from azure.identity import AzureCliCredential
azure_cli_credential = AzureCliCredential()
print("AzureCliCredential: ", azure_cli_credential.get_token("https://management.core.windows.net/"))

thats what i was using and its definitely isnt working

@4c74356b41, not sure why it definitely isn't working with OIDC. Could you share your workflow? This access token provided by azure cli should be fetched from cache without OIDC token. Since its request scope is "https://management.core.windows.net/" which is aligned with the token stored in cache. If you are requesting token for other scope through azure cli, then it should be finished in 5 mins to ensure the OIDC token is valid.

Just faced similar issue
In my case - workflow is quite long running scheduled job to cleanup some unwanted images from azure container registry
Here is workflow file, nothing fancy inside, technically it has only two moving parts:

azure login
run powershell script

cleanup.yml
name: cleanup
on:
  workflow_dispatch:
env:
  ARM_CLIENT_ID: 000000000-0000-0000-0000-000000000000
  ARM_USE_OIDC: true

permissions:
  contents: read
  id-token: write

jobs:
  cleanup:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: azure/login@v1
        with:
          client-id: 000000000-0000-0000-0000-000000000000
          tenant-id: 000000000-0000-0000-0000-000000000000
          subscription-id: 000000000-0000-0000-0000-000000000000
      - run: pwsh cleanup.ps1

the script itself is something like this (stripped out all irrelevant details) aka it is iterating over images and deletes them from container registry
$ErrorActionPreference = "Stop"

$registry = 'demo'
az acr login -n $registry

# Step 1: retrieve images
# pretend we received images here
$used = @('demo.azurecr.io/foo:latest', 'demo.azurecr.io/bar:1.2.0')

# Step 2: delete images
foreach ($image in $items) {
  try {
    az acr repository delete -n $registry --image $image --yes --only-show-errors
    Write-Host "$image - deleted" -ForegroundColor Green
  }
  catch {
    Write-Host "$image - failed" -ForegroundColor Red
  }
}

as you can guess because it is deleting images one by one it took some time, definitely more than 5 minutes, in my case job took 2 hour
so after a while all attempts to delete images are failed with following error:
ERROR: AADSTS700024: Client assertion is not within its valid time range. Current time: 2024-03-14T16:07:58.2005292Z, assertion valid from 2024-03-14T15:12:23.0000000Z, expiry time of assertion 2024-03-14T15:17:23.0000000Z. Review the documentation at https://docs.microsoft.com/azure/active-directory/develop/active-directory-certificate-credentials . Trace ID: 849defde-0aa5-4a2f-a30d-ec73d2266000 Correlation ID: 9706d64c-2538-4e10-8808-cb3f37cb0a93 Timestamp: 2024-03-14 16:07:58Z
  Interactive authentication is needed. Please run:
  az login

so i was wondering if there is a some kind of workaround, aka az refresh or something like that 🤔
without this, it seems like this action wont feed the needs and i gonna need to exchange tokens manually

use this work around:
token=$(curl -H "Authorization: bearer {token_request}" "{token_uri}&audience=api://AzureADTokenExchange" | jq .value -r)
az login --service-principal -u {CLIENT_ID} -t {TENANT_ID} --federated-token $token')

you can create a timer to call this every 5 minutes or you can simply do this every iteration (or every other iteration, etc)

We've recently been experiencing this issue, it was working fine before, and no changes have been made to the workflow.
Setup:

Runner using the ubuntu-latest image.
azure/login using OIDC login.
run steps calling the Azure CLI directly.

We noticed that the issue arose when the GitHub hosted runner image went from 20240324.2.0 to 20240407.1.0. The PR shows that the Azure CLI was updated from 2.58.0 to 2.59.0, see https://github.com/actions/runner-images/pull/9656/files#diff-66aec6097318276b09842a3ba2caf3037afbd8dadca2dfcdf76631100613ea69R111.
I'm not aware of nice workarounds for now, so I'll add more azure/login steps...

@jiasli, thanks for suggesting this workaround. I tried your suggestion in my pipeline, but still run into the same issue as before. Example run: https://github.com/microsoft/hi-ml/actions/runs/8642139946/job/23692828663, using the workflow https://github.com/microsoft/hi-ml/pull/925/files#diff-efdacb46b092d7173f71346f14d9981f6697d11af5d8bfee360359810ba2eb17
Roughly speaking, in our test suite, we repeatedly run tests that

get a credential (AzureCliCredential or service principal)
run an Azure or AzureML operation
Because we run our test suite at the level of credential objects, it seems to me that we are not able to make use of your suggested workaround, which works at an access token level. (sorry if I'm getting things mixed up here, I'm certainly not an authentication expert).

A nice solution with automatic periodic refresh has been suggested in https://github.com/Azure/azure-cli/issues/28708#issuecomment-2049014471 which you can wrap in a custom github action like show below. Can potentially be used as a temporary replacement of this action for long running workflows.
name: Azure Federated Login

inputs:
  client-id:
    description: Azure client id
    type: string
  tenant-id:
    description: Azure tenant id
    type: string
  subscription-id:
    description: Azure subscription id
    type: string
    default: none
  refresh-interval-seconds:
    description: Refresh interval in seconds
    type: number
    default: 240

runs:
  using: "composite"
  steps:
    - name: Fetch OID token every ${{ inputs.refresh-interval-seconds }} seconds
      shell: bash
      run: |
        first_time=true
        while true; do
          token=$(curl -s -H "Authorization: bearer ${ACTIONS_ID_TOKEN_REQUEST_TOKEN}" "${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=api://AzureADTokenExchange" | jq .value -r)
          az login --service-principal -u ${{ inputs.client-id }} -t ${{ inputs.tenant-id }} --federated-token $token --output none
          if [ "$first_time" = true ] && [ "${{ inputs.subscription-id }}" != "none" ]; then
            az account set -s ${{ inputs.subscription-id }}
            first_time=false
          fi
          sleep ${{ inputs.refresh-interval-seconds }}
        done &

The temporary solution does not work when using packer azure provider in hcl templates. In our case we use pakcer templates to create custom Azure VM Images with integrated  use_azure_cli_auth: true as the mode of authentication.

source "azure-arm" "image" {
  location                               = "${var.location}"

  // Auth
  use_azure_cli_auth                     = true
  subscription_id                        = "${var.subscription_id}"

  // Rest omitted.

the process takes 6 hours to create fresh VM images and at the end of script when packer wants to create the final image in the azure gallery, we receive the same error:

==> azure-arm.image: authorizing request: running Azure CLI: exit status 1: ERROR: AADSTS700024: Client assertion is not within its valid time range. Current time: 2024-04-12T06:48:06.1011631Z, assertion valid from 2024-04-12T01:04:10.0000000Z, expiry time of assertion 2024-04-12T01:14:10.0000000Z. Review the documentation at https://docs.microsoft.com/azure/active-directory/develop/active-directory-certificate-credentials . Trace ID: bcaf1c3c-98f2-4cb3-b0db-61aa68f15701 Correlation ID: b3cc18c0-bc01-403e-9d49-a119ac9bbc46 Timestamp: 2024-04-12 06:48:06Z
==> azure-arm.image: Interactive authentication is needed. Please run:
==> azure-arm.image: az login

Note that we recently changed our azure pipelines authentication schema from service principal secret authentication to federated authentication. Since then we have this issue.

:heavy_exclamation_mark: :heavy_exclamation_mark: :heavy_exclamation_mark:If you are encountering ERROR: AADSTS700024: Client assertion is not within its valid time range, here are the workarounds for four scenarios:

If your workflow fails after 5 minutes recently with azure-cli on your runner upgraded to 2.59.0:

This issue is related to an MSAL regression introduced in 1.27.0 (https://github.com/AzureAD/microsoft-authentication-extensions-for-python/issues/127) which is adopted by Azure CLI 2.59.0 (https://github.com/Azure/azure-cli/pull/28556).
This issue will be tracked in https://github.com/Azure/azure-cli/issues/28737.  It is expected to be solved after azure-cli 2.60.0 is released.

Workaround: Downgrade azure-cli to 2.58.0. Following are the scripts to downgrade the azure-cli version on your agent.

If you are using azure/cli action, specify azcliversion with an older version of Azure CLI below 2.59.0, such as 2.58.0.

  - uses: azure/cli@v2
    with:
      azcliversion: 2.58.0
      inlineScript: |
        az --version

If you are using other actions depending on azure-cli, downgrade azure-cli on Linux runners:

    jobs:
      linux-regression:
        runs-on: ubuntu-latest
        steps:
           - name: uninstall azure-cli
             run: |
                sudo apt-get remove -y azure-cli
           - name: install azure-cli 2.58.0
             run: |
                sudo apt-get update
                sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
                sudo mkdir -p /etc/apt/keyrings
                curl -sLS https://packages.microsoft.com/keys/microsoft.asc |
                    sudo gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg
                sudo chmod go+r /etc/apt/keyrings/microsoft.gpg
                AZ_DIST=$(lsb_release -cs)
                echo "Types: deb
                URIs: https://packages.microsoft.com/repos/azure-cli/
                Suites: ${AZ_DIST}
                Components: main
                Architectures: $(dpkg --print-architecture)
                Signed-by: /etc/apt/keyrings/microsoft.gpg" | sudo tee /etc/apt/sources.list.d/azure-cli.sources
                AZ_VER=2.58.0
                sudo apt-get update && sudo apt-get install azure-cli=${AZ_VER}-1~${AZ_DIST}
           - name: check azure-cli version
             run: |
                az --version

Downgrade azure-cli on Windows runners:

  jobs:
    windows-regression:
      runs-on: windows-latest
      steps:
         - name: uninstall azure-cli
           run: |
              Start-Process msiexec.exe -Wait -ArgumentList '/x {DEFB65A7-FD02-4710-B01E-6C9387982CA9} /quiet'
         - name: install azure-cli 2.58.0
           run: |
              $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://azcliprod.blob.core.windows.net/msi/azure-cli-2.58.0-x64.msi -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; Remove-Item .\AzureCLI.msi
         - name: check azure-cli version
           run: |
              az --version

Note that downgrading Azure CLI may take some time to finish. But this workaround is only necessary until Azure CLI 2.60.0 is released.

If your workflow fails after 5 minutes also in azure-cli <= 2.58.0:

This is because there is no access token for your requested scope in the token cache, Azure CLI will try to get the access token with the GitHub ID token. However, as the ID token has expired after 5 minutes, you will encounter ERROR: AADSTS700024. See https://github.com/Azure/azure-cli/issues/28708#issuecomment-2047256166.
It is expected to be solved after azure-cli supports ID token refresh.

Workaround: Request access token with all your required scopes within 5 minutes. Here are the most popular requested scopes. Modify the script according to your request.
  - uses: azure/cli@v2
    with:
      azcliversion: 2.58.0
      inlineScript: |
          # Storage:
          az account get-access-token --scope https://storage.azure.com/.default --output none
          # Key Vault:
          az account get-access-token --scope https://vault.azure.net/.default --output none
          # Microsoft Graph:
          az account get-access-token --scope https://graph.microsoft.com/.default --output none
          # Kusto:
          az account get-access-token --scope https://kusto.kusto.windows.net/.default --output none

If your workflow fails after 60 minutes:
This is because azure-cli can only request an access token with a lifetime of 60 minutes. But ID token has expired after 5 minutes, azure-cli cannot get a new access token after 60 minutes. It is expected to be solved after azure-cli supports ID token refresh.
Workaround: Use user managed identities with OIDC, instead of using service principals
The token lifetime of managed Identities would be 24 hours, see Managed identities tokens cache. This can cover the lifetime for most of the CI/CD workflows.

If your workflow fails after 5 minutes with azure-powershell < 9.2:
This is the scenario what #180 talks. It's fixed in Azure PowerShell v9.2 (released on 12/6/2022). See https://github.com/Azure/login/issues/180#issuecomment-1524995605.

Check your scenario and use the provided workaround. We're actively working to resolve this issue. Thank you for your understanding.

❗ ❗ ❗If you are encountering ERROR: AADSTS700024: Client assertion is not within its valid time range, here are the workarounds for four scenarios:

If your workflow fails after 5 minutes recently with azure-cli on your runner upgraded to 2.59.0:

This issue is related to an MSAL regression introduced in 1.27.0 ([Bug] msal_extensions.token_cache.PersistedTokenCache is bypassed by ConfidentialClientApplication AzureAD/microsoft-authentication-extensions-for-python#127) which is adopted by Azure CLI 2.59.0 ({Core} Bump MSAL to 1.27.0 and pin pymsalruntime to 0.14.0 azure-cli#28556).
This issue will be tracked in Azure CLI task fails with AADSTS700024 after 5 minutes azure-cli#28737.  It is expected to be solved after azure-cli 2.60.0 is released.

Workaround: Downgrade azure-cli to 2.58.0. Following are the scripts to downgrade the azure-cli version on your agent.

If you are using azure/cli action, specify azcliversion with an older version of Azure CLI below 2.59.0, such as 2.58.0.

  - uses: azure/cli@v2
    with:
      azcliversion: 2.58.0
      inlineScript: |
        az --version

If you are using other actions depending on azure-cli, downgrade azure-cli on Linux runners:

    jobs:
      linux-regression:
        runs-on: ubuntu-latest
        steps:
           - name: uninstall azure-cli
             run: |
                sudo apt-get remove -y azure-cli
           - name: install azure-cli 2.58.0
             run: |
                sudo apt-get update
                sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
                sudo mkdir -p /etc/apt/keyrings
                curl -sLS https://packages.microsoft.com/keys/microsoft.asc |
                    sudo gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg
                sudo chmod go+r /etc/apt/keyrings/microsoft.gpg
                AZ_DIST=$(lsb_release -cs)
                echo "Types: deb
                URIs: https://packages.microsoft.com/repos/azure-cli/
                Suites: ${AZ_DIST}
                Components: main
                Architectures: $(dpkg --print-architecture)
                Signed-by: /etc/apt/keyrings/microsoft.gpg" | sudo tee /etc/apt/sources.list.d/azure-cli.sources
                AZ_VER=2.58.0
                sudo apt-get update && sudo apt-get install azure-cli=${AZ_VER}-1~${AZ_DIST}
           - name: check azure-cli version
             run: |
                az --version

Downgrade azure-cli on Windows runners:

  jobs:
    windows-regression:
      runs-on: windows-latest
      steps:
         - name: uninstall azure-cli
           run: |
              Start-Process msiexec.exe -Wait -ArgumentList '/x {DEFB65A7-FD02-4710-B01E-6C9387982CA9} /quiet'
         - name: install azure-cli 2.58.0
           run: |
              $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://azcliprod.blob.core.windows.net/msi/azure-cli-2.58.0-x64.msi -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; Remove-Item .\AzureCLI.msi
         - name: check azure-cli version
           run: |
              az --version

Note that downgrading Azure CLI may take some time to finish. But this workaround is only necessary until Azure CLI 2.60.0 is released.

If your workflow fails after 5 minutes also in azure-cli <= 2.58.0:

This is because there is no access token for your requested scope in the token cache, Azure CLI will try to get the access token with the GitHub ID token. However, as the ID token has expired after 5 minutes, you will encounter ERROR: AADSTS700024. See Azure CLI task fails with AADSTS700024 after 60 minutes azure-cli#28708 (comment).
It is expected to be solved after azure-cli supports ID token refresh.

Workaround: Request access token with all your required scopes within 5 minutes. Here are the most popular requested scopes. Modify the script according to your request.
  - uses: azure/cli@v2
    with:
      azcliversion: 2.58.0
      inlineScript: |
          # Storage:
          az account get-access-token --scope https://storage.azure.com/.default --output none
          # Key Vault:
          az account get-access-token --scope https://vault.azure.net/.default --output none
          # Microsoft Graph:
          az account get-access-token --scope https://graph.microsoft.com/.default --output none
          # Kusto:
          az account get-access-token --scope https://kusto.kusto.windows.net/.default --output none

If your workflow fails after 60 minutes:
This is because azure-cli can only request an access token with a lifetime of 60 minutes. But ID token has expired after 5 minutes, azure-cli cannot get a new access token after 60 minutes. It is expected to be solved after azure-cli supports ID token refresh.
Workaround: Use user managed identities with OIDC, instead of using service principals
The token lifetime of managed Identities would be 24 hours, see Managed identities tokens cache. This can cover the lifetime for most of the CI/CD workflows.

If your workflow fails after 5 minutes with azure-powershell < 9.2:
This is the scenario what ERROR: AADSTS700024: Client assertion is not within its valid time range #180 talks. It's fixed in Azure PowerShell v9.2 (released on 12/6/2022). See ERROR: AADSTS700024: Client assertion is not within its valid time range #180 (comment).

Check your scenario and use the provided workaround. We're actively working to resolve this issue. Thank you for your understanding.

hey, we are using 2.60.0 and still seeing:
ERROR: AADSTS700024: Client assertion is not within its valid time range.
Current time: 2024-05-14T03:56:38.3260093Z, assertion valid from
2024-05-14T03:32:44.0000000Z, expiry time of assertion
2024-05-14T03:37:44.0000000Z.

az version output:
{
  "azure-cli": "2.60.0",
  "azure-cli-core": "2.60.0",
  "azure-cli-telemetry": "1.1.0",
  "extensions": {
    "resource-graph": "2.1.0"
  }
}

any pointers?

Hi @4c74356b41, please review scenario 2. The Azure CLI currently does not support ID token refresh.

sorry, why scenario 2?
If your workflow fails after 5 minutes also in azure-cli <= 2.58.0:

this is not my scenario

@4c74356b41, so it worked for you with azure-cli <= 2.58.0? Scenario 1 applies to users who encountered the issue only in azure-cli == 2.59.0.

oh, okay, no, i dont think it did. i migrated to federated identity and this started happening. i was under the assumption that 2.60.0 is supposed to fix this underlying issue?

@4c74356b41, not yet. Version 2.60.0 only addressed scenario 1. We're still waiting for Azure CLI to support ID token refresh for the other scenarios. Please check if the workarounds work for you.

okay, my bad then. any chance I can track this work?

@4c74356b41, I'll keep this issue open and update you once the improvement is ready.

For my case, where we're only using ARM tokens, the new Azure CLI v2.60.0 baked into the new GitHub Actions runner image (ubuntu-22.04 or ubuntu-latest 20240516.1) fixed the issue, and I was able to remove the extra azure/login steps I had added in between the other steps.
Thanks! 🙏

Converted one of my Azure DevOps service connections today to test the Workflow Federated Identity scenarios and the first pipeline I ran that used Azure CLI for longer than 10 minutes failed with this error
ubuntu-latest
azure-cli 2.60.0
ERROR: AADSTS700024: Client assertion is not within its valid time range. Current time: 2024-05-24T13:34:27.2438476Z, assertion valid from 2024-05-24T13:16:07.0000000Z, expiry time of assertion 2024-05-24T13:26:07.0000000Z. Review the documentation at https://docs.microsoft.com/azure/active-directory/develop/active-directory-certificate-credentials
Add this to the day long outage for Workflow Federated Identity this month https://status.dev.azure.com/_event/499193080 and I remain unconvinced by the "new" way.  The draconian measure of reducing the old secret way of working down to a 3 month expiry date is all well and good PROVIDED the new way works.
I certainly cannot proceed with confidence right now - certainly not in production.

Any update on this issue. My workflow is also failing with error
ClientAssertionCredential authentication failed: A configuration issue is preventing authentication - check the
| error message from the server for details. You can modify the configuration in the application registration
| portal. See https://aka.ms/msal-net-invalid-client for details.  Original exception: AADSTS700024: Client
| assertion is not within its valid time range.

@4c74356b41, I'll keep this issue open and update you once the improvement is ready.

any issues\milestone we can track on our own? thanks

@4c74356b41, I'll keep this issue open and update you once the improvement is ready.

any issues\milestone we can track on our own? thanks 2.61.0 is out, but i dont think it contains a fix for this ps. Also looking at 2.61.0 release docs - many breaking changes, why breaking changes without major version bump?

Let's track the feature here: https://github.com/Azure/azure-cli/issues/28708. Currently, Azure CLI does not support ID token refresh.


Payment UI code for functional components

Is the cashfree token used in Payment.js valid? @somalChakraborty


[WIP][DNM] Expanded platform tests to run different python version

Description of changes:
Expanded platform tests to run different python version
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/platform_tests


Update cats-effect-std to 3.2.3

Updates org.typelevel:cats-effect-std from 3.2.1 to 3.2.3.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "cats-effect-std" } ]

labels: library-update, semver-patch

Codecov Report

Merging #250 (8bedc62) into master (8dcfc47) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #250   +/-   ##
=======================================
  Coverage   84.61%   84.61%
=======================================
  Files          35       35
  Lines         221      221
  Branches       10       10
=======================================
  Hits          187      187
  Misses         34       34

Flag
Coverage Δ

unittests
84.61% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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 8dcfc47...8bedc62. Read the comment docs.

Superseded by #258.