ForNeVeR / ForNeVeR/Generaptor
Support optional tokens via GH_TOKEN env var
- Dominant language
- F#
- Stars
- 50
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
This should work:
```powershell
$env:GH_TOKEN = gh auth token
dotnet fsi .\scripts\github-actions.fsx generate
```
Currently it might break due to the API usage limits:
```
Generating workflow infra…
Octokit.RateLimitExceededException: API rate limit exceeded for 82.169.229.246. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
at Octokit.Connection.HandleErrors(IResponse response) in /_/Octokit/Http/Connection.cs:line 817
at Octokit.Connection.RunRequest(IRequest request, CancellationToken cancellationToken, Func`2 preprocessResponseBody) in /_/Octokit/Http/Connection.cs:line 798
at Octokit.Connection.Run[T](IRequest request, CancellationToken cancellationToken, Func`2 preprocessResponseBody) in /_/Octokit/Http/Connection.cs:line 783
at Octokit.ApiConnection.GetPage[TU](Uri uri, IDictionary`2 parameters, String accepts, ApiOptions options, Func`2 preprocessResponseBody) in /_/Octokit/Http/ApiConnection.cs:line 712
at Octokit.ApiConnection.<>c__DisplayClass20_0`1.<b__0>d.MoveNext() in /_/Octokit/Http/ApiConnection.cs:line 240
--- End of stack trace from previous location ---
at Octokit.ApiPagination.GetAllPages[T](Func`1 getFirstPage, Uri uri) in /_/Octokit/Clients/ApiPagination.cs:line 23
at .$ActionsClient.Generaptor-IActionsClient-GetLastActionVersion@67.MoveNext()
at Generaptor.Serializers.getActionUsesSpec@59.MoveNext()
at Generaptor.Serializers.getActionUsesSpec(FSharpMap`2 existingVersions, IActionsClient client, ActionSpec _arg1)
at Generaptor.Serializers.convertSteps@70.Invoke(Step step)
at Microsoft.FSharp.Collections.Internal.IEnumerator.map@128.DoMoveNext(b& curr) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\seq.fs:line 131
at Microsoft.FSharp.Collections.Internal.IEnumerator.MapEnumerator`1.System.Collections.IEnumerator.MoveNext() in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\seq.fs:line 113
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.TraverseList[TContext](IPropertyDescriptor propertyDescriptor, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.TraverseObject[TContext](IPropertyDescriptor propertyDescriptor, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.Traverse[TContext](IPropertyDescriptor propertyDescriptor, Object name, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.TraverseDictionary[TContext](IPropertyDescriptor propertyDescriptor, IObjectDescriptor dictionary, IObjectGraphVisitor`1 visitor, Type keyType, Type valueType, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.TraverseObject[TContext](IPropertyDescriptor propertyDescriptor, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.Traverse[TContext](IPropertyDescriptor propertyDescriptor, Object name, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.TraverseDictionary[TContext](IPropertyDescriptor propertyDescriptor, IObjectDescriptor dictionary, IObjectGraphVisitor`1 visitor, Type keyType, Type valueType, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.TraverseObject[TContext](IPropertyDescriptor propertyDescriptor, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.Traverse[TContext](IPropertyDescriptor propertyDescriptor, Object name, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.TraverseDictionary[TContext](IPropertyDescriptor propertyDescriptor, IObjectDescriptor dictionary, IObjectGraphVisitor`1 visitor, Type keyType, Type valueType, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.TraverseObject[TContext](IPropertyDescriptor propertyDescriptor, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.Traverse[TContext](IPropertyDescriptor propertyDescriptor, Object name, IObjectDescriptor value, IObjectGraphVisitor`1 visitor, TContext context, Stack`1 path, ObjectSerializer serializer)
at YamlDotNet.Serialization.ObjectGraphTraversalStrategies.FullObjectGraphTraversalStrategy.YamlDotNet.Serialization.IObjectGraphTraversalStrategy.Traverse[TContext](IObjectDescriptor graph, IObjectGraphVisitor`1 visitor, TContext context, ObjectSerializer serializer)
at YamlDotNet.Serialization.SerializerBuilder.ValueSerializer.SerializeValue(IEmitter emitter, Object value, Type type)
at YamlDotNet.Serialization.Serializer.EmitDocument(IEmitter emitter, Object graph, Type type)
at YamlDotNet.Serialization.Serializer.Serialize(IEmitter emitter, Object graph)
at YamlDotNet.Serialization.Serializer.Serialize(TextWriter writer, Object graph)
at YamlDotNet.Serialization.Serializer.Serialize(Object graph)
at Generaptor.Serializers.GenerateWorkflowContent@241.MoveNext()
at Generaptor.EntryPoint.generateWorkflows@21.MoveNext()
at Generaptor.EntryPoint.Process(IEnumerable`1 args, IEnumerable`1 workflows)
at .$FSI_0003.main@() in G:\Projects\Todosaurus\scripts\github-actions.fsx:line 520
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
{"message":"API rate limit exceeded for 82.169.229.246. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}
```
If Generaptor sees GH_TOKEN env var, it should use it.
This should be documented.
Contributor guide
Assessment
This issue has not been assessed yet.