code: def get_artifacts_for_workflow_run(
      run_id: str, repo: str, session: requests.Session
  ) -> list:
      """
      Get a list of artifacts from GitHub actions
      """
      params = {"per_page": 100}
      r = get_from_github(
          f"https://api.github.com/repos/{repo}/actions/runs/{run_id}/artifacts",
          params=params,
          session=session,
      )
      artifacts = r.json()["artifacts"]
      next_page = maybe_get_next_page_path(r)
      while next_page:
          r = get_from_github(next_page, params=params, session=session)
          artifacts += r.json()["artifacts"]
          next_page = maybe_get_next_page_path(r)
  
      return artifacts
  
imports: from __future__ import annotations
  import argparse
  import contextlib
  import html
  import io
  import os
  import re
  import shelve
  import sys
  import zipfile
  from collections.abc import Iterable, Iterator
  from concurrent.futures import ProcessPoolExecutor
  from typing import Any, cast
  import altair
  import altair_saver
  import junitparser
  import pandas
  import requests
  from requests.adapters import HTTPAdapter
  from urllib3.util.retry import Retry
label_desc: Use image node_id 7 for calling a global function with example usage: get_artifacts_for_workflow_run(run_id, repo, session) and returns: artifacts