Skip to content

reorder global/local caching managements #1579

reorder global/local caching managements

reorder global/local caching managements #1579

Triggered via pull request November 1, 2023 06:43
Status Failure
Total duration 7m 50s
Artifacts

docs.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

4 errors and 6 warnings
build: ../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L44
failed to run `@example` block in src/generated-plugin-examples/dispatch_analysis.md:240-247 ```@example dispatch_analysis report_dispatch((Vector{Any},)) do xs x = xs[1] r = isTypelike(x) # this call will be runtime-dispatched r′ = isTypelike′(x) # this call will be statically resolved (not runtime-dispatched) return r, r′ end ``` exception = TypeError: in typeassert, expected JET.AnalysisResult, got a value of type JET.CachedAnalysisResult Stacktrace: [1] get_reports @ ~/work/JET.jl/JET.jl/src/abstractinterpret/abstractanalyzer.jl:567 [inlined] [2] add_new_report! @ ~/work/JET.jl/JET.jl/src/abstractinterpret/abstractanalyzer.jl:577 [inlined] [3] (::Main.__atexample__named__dispatch_analysis.DispatchAnalysisPass)(::Type{Main.__atexample__named__dispatch_analysis.RuntimeDispatchReport}, analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, caller::Core.Compiler.InferenceResult, opt::Core.Compiler.OptimizationState{Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}}) @ Main.__atexample__named__dispatch_analysis ./dispatch_analysis.md:123 [4] finish!(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, frame::Core.Compiler.InferenceState) @ Main.__atexample__named__dispatch_analysis ./dispatch_analysis.md:94 [5] _typeinf(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, frame::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:269 [6] typeinf(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, frame::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:219 [7] typeinf(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, frame::Core.Compiler.InferenceState) @ JET ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:404 [8] typeinf_edge(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, method::Method, atype::Any, sparams::Core.SimpleVector, caller::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:853 [9] typeinf_edge @ ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:216 [inlined] [10] abstract_call_method(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, method::Method, sig::Any, sparams::Core.SimpleVector, hardlimit::Bool, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/abstractinterpretation.jl:624 [11] abstract_call_method @ ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:19 [inlined] [12] abstract_call_gf_by_type(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, atype::Any, sv::Core.Compiler.InferenceState, max_methods::Int64) @ Core.Compiler ./compiler/abstractinterpretation.jl:92 [13] abstract_call_known(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64) @ Core.Compiler ./compiler/abstractinterpretation.jl:2087 [14] abstract_call_known(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64) @ JET ~/work/JET.jl/JET
build: ../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L44
failed to run `@example` block in src/generated-plugin-examples/dispatch_analysis.md:270-272 ```@example dispatch_analysis @report_dispatch rand(1:1000) ``` exception = TypeError: in typeassert, expected JET.AnalysisResult, got a value of type JET.CachedAnalysisResult Stacktrace: [1] get_reports @ ~/work/JET.jl/JET.jl/src/abstractinterpret/abstractanalyzer.jl:567 [inlined] [2] add_new_report! @ ~/work/JET.jl/JET.jl/src/abstractinterpret/abstractanalyzer.jl:577 [inlined] [3] (::Main.__atexample__named__dispatch_analysis.DispatchAnalysisPass)(::Type{Main.__atexample__named__dispatch_analysis.RuntimeDispatchReport}, analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, caller::Core.Compiler.InferenceResult, opt::Core.Compiler.OptimizationState{Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}}) @ Main.__atexample__named__dispatch_analysis ./dispatch_analysis.md:123 [4] finish!(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, frame::Core.Compiler.InferenceState) @ Main.__atexample__named__dispatch_analysis ./dispatch_analysis.md:94 [5] _typeinf(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, frame::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:269 [6] typeinf(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, frame::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:219 [7] typeinf(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, frame::Core.Compiler.InferenceState) @ JET ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:404 [8] typeinf_edge(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, method::Method, atype::Any, sparams::Core.SimpleVector, caller::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:853 [9] typeinf_edge @ ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:216 [inlined] [10] abstract_call_method(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, method::Method, sig::Any, sparams::Core.SimpleVector, hardlimit::Bool, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/abstractinterpretation.jl:624 [11] abstract_call_method @ ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:19 [inlined] [12] abstract_call_gf_by_type(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, atype::Any, sv::Core.Compiler.InferenceState, max_methods::Int64) @ Core.Compiler ./compiler/abstractinterpretation.jl:92 [13] abstract_call_known(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64) @ Core.Compiler ./compiler/abstractinterpretation.jl:2087 [14] abstract_call_known(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#2#4"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64) @ JET ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:105 [15] abstract_call(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatc
build: ../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L44
failed to run `@example` block in src/generated-plugin-examples/dispatch_analysis.md:282-284 ```@example dispatch_analysis @report_dispatch unoptimize_throw_blocks=false rand(1:1000) # nothing should be reported ``` exception = TypeError: in typeassert, expected JET.AnalysisResult, got a value of type JET.CachedAnalysisResult Stacktrace: [1] get_reports @ ~/work/JET.jl/JET.jl/src/abstractinterpret/abstractanalyzer.jl:567 [inlined] [2] add_new_report! @ ~/work/JET.jl/JET.jl/src/abstractinterpret/abstractanalyzer.jl:577 [inlined] [3] (::Main.__atexample__named__dispatch_analysis.DispatchAnalysisPass)(::Type{Main.__atexample__named__dispatch_analysis.RuntimeDispatchReport}, analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, caller::Core.Compiler.InferenceResult, opt::Core.Compiler.OptimizationState{Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}}) @ Main.__atexample__named__dispatch_analysis ./dispatch_analysis.md:123 [4] finish!(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, frame::Core.Compiler.InferenceState) @ Main.__atexample__named__dispatch_analysis ./dispatch_analysis.md:94 [5] _typeinf(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, frame::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:269 [6] typeinf(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, frame::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:219 [7] typeinf(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, frame::Core.Compiler.InferenceState) @ JET ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:404 [8] typeinf_edge(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, method::Method, atype::Any, sparams::Core.SimpleVector, caller::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/typeinfer.jl:853 [9] typeinf_edge @ ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:216 [inlined] [10] abstract_call_method(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, method::Method, sig::Any, sparams::Core.SimpleVector, hardlimit::Bool, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState) @ Core.Compiler ./compiler/abstractinterpretation.jl:624 [11] abstract_call_method @ ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:19 [inlined] [12] abstract_call_gf_by_type(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, atype::Any, sv::Core.Compiler.InferenceState, max_methods::Int64) @ Core.Compiler ./compiler/abstractinterpretation.jl:92 [13] abstract_call_known(interp::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64) @ Core.Compiler ./compiler/abstractinterpretation.jl:2087 [14] abstract_call_known(analyzer::Main.__atexample__named__dispatch_analysis.DispatchAnalyzer{Main.__atexample__named__dispatch_analysis.var"#3#5"}, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64) @ JET ~/work/JET.jl/JET.jl/src/abstractinterpret/typeinfer.jl:105 [15] abstract_call(interp::Main.__atexample__named__dispatch
build
Process completed with exit code 1.
build: ../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
unable to get the binding for '[`Base.Experimental.@max_methods`](@ref)' in src/config.md from expression ':(#= none:1 =# Base.Experimental.@max_methods)' in module Core.Compiler exception = UndefVarError: `Base` not defined Stacktrace: [1] getmod(m::Module, x::Expr) @ Documenter.DocSystem ~/.julia/packages/Documenter/Meee1/src/DocSystem.jl:70 [inlined] [2] getmod(m::Module, x::Expr) @ Documenter.DocSystem ~/.julia/packages/Documenter/Meee1/src/DocSystem.jl:69 [3] binding(m::Module, x::Expr) (repeats 2 times) @ Documenter.DocSystem ~/.julia/packages/Documenter/Meee1/src/DocSystem.jl:62 [4] find_docref(code::String, meta::Dict{Symbol, Any}, page::Documenter.Page) @ Documenter ~/.julia/packages/Documenter/Meee1/src/cross_references.jl:275 [5] docsxref(node::MarkdownAST.Node{Nothing}, code::String, meta::Dict{Symbol, Any}, page::Documenter.Page, doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/Meee1/src/cross_references.jl:230 [6] basicxref(node::MarkdownAST.Node{Nothing}, meta::Dict{Symbol, Any}, page::Documenter.Page, doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/Meee1/src/cross_references.jl:182 [7] xref(node::MarkdownAST.Node{Nothing}, meta::Dict{Symbol, Any}, page::Documenter.Page, doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/Meee1/src/cross_references.jl:139 [8] crossref(doc::Documenter.Document, page::Documenter.Page, mdast::MarkdownAST.Node{Nothing}) @ Documenter ~/.julia/packages/Documenter/Meee1/src/cross_references.jl:35 [9] crossref(doc::Documenter.Document, page::Documenter.Page, mdast::MarkdownAST.Node{Nothing}) @ Documenter ~/.julia/packages/Documenter/Meee1/src/cross_references.jl:27 [10] crossref(doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/Meee1/src/cross_references.jl:10 [11] runner(::Type{Documenter.Builder.CrossReferences}, doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/Meee1/src/builder_pipeline.jl:228 [12] dispatch(::Type{Documenter.Builder.DocumentPipeline}, x::Documenter.Document) @ Documenter.Selectors ~/.julia/packages/Documenter/Meee1/src/utilities/Selectors.jl:170 [13] #79 @ Documenter ~/.julia/packages/Documenter/Meee1/src/makedocs.jl:248 [inlined] [14] withenv(::Documenter.var"#79#81"{Documenter.Document}, ::Pair{String, Nothing}, ::Vararg{Pair{String, Nothing}}) @ Base ./env.jl:239 [15] #78 @ Documenter ~/.julia/packages/Documenter/Meee1/src/makedocs.jl:247 [inlined] [16] cd(f::Documenter.var"#78#80"{Documenter.Document}, dir::String) @ Base.Filesystem ./file.jl:112 [17] makedocs(; debug::Bool, format::Documenter.HTMLWriter.HTML, kwargs::@kwargs{modules::Vector{Module}, sitename::String, pages::Vector{Any}, warnonly::Vector{Symbol}}) @ Documenter ~/.julia/packages/Documenter/Meee1/src/makedocs.jl:247 [18] top-level scope @ ~/work/JET.jl/JET.jl/docs/make.jl:144 [19] include(fname::String) @ Base.MainInclude ./client.jl:497 [20] top-level scope @ none:8 [21] eval @ Core ./boot.jl:418 [inlined] [22] exec_options(opts::Base.JLOptions) @ Base ./client.jl:291 [23] _start() @ Base ./client.jl:568
build: ../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
reference for 'Base.@constprop' could not be found in src/config.md.
build: ../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
reference for 'Base.@constprop' could not be found in src/config.md.
build: ../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
no doc found for reference '[`@nospecialize`](@ref)' in src/config.md.
build: ../../../.julia/packages/Documenter/Meee1/src/utilities/utilities.jl#L46
161 docstrings not included in the manual: Core.Compiler.EscapeAnalysis.compute_frameinfo :: Tuple{Core.Compiler.IRCode} Core.Compiler.SNCAData Core.Compiler.tmeet Core.Compiler.AbsIntStackUnwind Core.Compiler.dominates :: Tuple{Core.Compiler.GenericDomTree{false}, Int64, Int64} Core.Compiler.EscapeAnalysis.num_groups :: Tuple{Core.Compiler.EscapeAnalysis.IntDisjointSet} Core.Compiler.BackedgeIterator Core.Compiler.OverlayMethodTable Core.Compiler.is_lattice_equal :: Tuple{Core.Compiler.AbstractLattice, Any, Any} Core.Compiler.add_remark! Core.Compiler.Order.Ordering Core.Compiler.method_table :: Tuple{Core.Compiler.AbstractInterpreter} JET.UncaughtExceptionReport Core.Compiler.DomTreeNode Core.Compiler.ConstsLattice Core.Compiler.PartialsLattice Core.Compiler.heapify! :: Tuple{Vector, Core.Compiler.Order.Ordering} Core.Compiler.FinalizerInfo Core.Compiler.:⊑ Core.Compiler.sroa_pass! :: Union{Tuple{Core.Compiler.IRCode}, Tuple{Core.Compiler.IRCode, Union{Nothing, Core.Compiler.InliningState}}} Core.Compiler.ir_inline_unionsplit! :: Tuple{Core.Compiler.IncrementalCompact, Int64, Vector{Any}, Core.Compiler.UnionSplit, Symbol, Vector{Tuple{Int64, Int64}}, Core.Compiler.OptimizationParams} Core.Compiler.EscapeAnalysis.:⋤ₑ :: Tuple{Core.Compiler.EscapeAnalysis.EscapeInfo, Core.Compiler.EscapeAnalysis.EscapeInfo} Core.Compiler.EscapeAnalysis.EscapeState Core.Compiler.IRCode :: Tuple{} Core.Compiler.Order.Forward Core.Compiler.is_no_constprop :: Tuple{Union{Core.CodeInfo, Method}} Core.Compiler.heappop! :: Tuple{Vector, Core.Compiler.Order.Ordering} Core.Compiler.InvokeCallInfo Core.Compiler.is_identity_free_argtype :: Tuple{Any} JET.JET_METHOD_TABLE Core.Compiler.Timings Core.Compiler.Effects Core.Compiler.is_declared_noinline :: Tuple{Method} Core.Compiler.Order.By Core.Compiler.ModifyFieldInfo Core.Compiler.DominatedBlocks Core.Compiler.domtree_insert_edge! :: Tuple{Core.Compiler.GenericDomTree{false}, Vector{Core.Compiler.BasicBlock}, Int64, Int64} Core.Compiler.walk_to_defs :: Tuple{Core.Compiler.IncrementalCompact, Any, Any, Any, Core.Compiler.AbstractLattice} Core.Compiler.snca_compress! :: Tuple{Vector{Core.Compiler.SNCAData}, Vector{Int64}, Int64, Int64} Core.Compiler.OpaqueClosureCreateInfo Core.InterConditional Core.Compiler.inflate_ir :: Tuple{Core.CodeInfo, Core.MethodInstance} Core.Compiler.EscapeAnalysis.:⊔ₑ :: Tuple{Core.Compiler.EscapeAnalysis.EscapeInfo, Core.Compiler.EscapeAnalysis.EscapeInfo} Core.Compiler.CallMeta Core.Compiler.ConditionalsLattice Core.Compiler.tmerge_field Core.Compiler.StmtRange Core.Compiler.Order.Perm Core.Compiler.iterated_dominance_frontier :: Tuple{Core.Compiler.CFG, Core.Compiler.BlockLiveness, Core.Compiler.GenericDomTree{false}} Core.Compiler.Order.Lt Core.Compiler.domsort_ssa! :: Tuple{Core.Compiler.IRCode, Core.Compiler.GenericDomTree{false}} Core.Compiler.EscapeAnalysis.escape_exception! :: Tuple{Core.Compiler.EscapeAnalysis.AnalysisState, Vector{Core.Compiler.UnitRange{Int64}}} Core.Compiler.ConstCallInfo Core.Compiler.EscapeAnalysis.irval :: Tuple{Int64, Core.Compiler.EscapeAnalysis.EscapeState} Core.Compiler.typeinf_ircode :: Tuple{Core.Compiler.AbstractInterpreter, Core.MethodMatch, Union{Nothing, AbstractString, Integer}} Core.Compiler.InterMustAliasesLattice Core.Compiler.rename_nodes! :: Tuple{Core.Compiler.GenericDomTree{false}, Vector{Int64}} Core.Compiler.rename_nodes! :: Tuple{Core.Compiler.DFSTree, Vector{Int64}} JET.SeriousExceptionReport Core.Compiler.TwoPhaseDefUseMap Core.Compiler.Order.lt :: Tuple{Core.Compiler.Order.ForwardOrdering, Any, Any} Core.Compiler.reverse :: Tuple{Core.Compiler.Order.Ordering} Core.Compiler.finish :: Tuple{Core.Compiler.AbstractInterpreter, Core.Compiler.OptimizationState, Core.Compiler.IRCode, Core.Compiler.InferenceResult} Core.Compiler.MethodMatchInfo Core.Compiler.Order.Reve
build
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/