{"id":28961749,"url":"https://github.com/getappmap/install-action","last_synced_at":"2025-07-30T16:37:51.328Z","repository":{"id":150807839,"uuid":"620873047","full_name":"getappmap/install-action","owner":"getappmap","description":"GitHub action to install AppMap","archived":false,"fork":false,"pushed_at":"2023-12-20T18:05:48.000Z","size":2522,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-04-24T09:55:20.377Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getappmap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-29T14:36:32.000Z","updated_at":"2024-02-24T20:24:37.000Z","dependencies_parsed_at":"2023-09-29T19:27:20.202Z","dependency_job_id":"ddfaa0be-2590-4917-bd7c-71bfe1269adc","html_url":"https://github.com/getappmap/install-action","commit_stats":null,"previous_names":["getappmap/install-action"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/getappmap/install-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Finstall-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Finstall-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Finstall-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Finstall-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getappmap","download_url":"https://codeload.github.com/getappmap/install-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getappmap%2Finstall-action/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261589912,"owners_count":23181437,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-24T02:04:51.665Z","updated_at":"2025-06-24T02:04:52.283Z","avatar_url":"https://github.com/getappmap.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# getappmap/install-appmap \u003c!-- omit in toc --\u003e\n\n\u003e To get started with AppMap in GitHub actions, you need to start by installing the [AppMap App on the official GitHub Marketplace](https://github.com/marketplace/get-appmap)\n\u003e \n\u003e To see a step-by-step example of how to install this action into your software project, [review the official AppMap Documentation](http://appmap.io/docs/analysis/in-github-actions).\n\nThis is a GitHub action to install and configure AppMap. By default, it will do the following three things:\n\n1. Install the AppMap tools (CLI)\n2. Install the AppMap language library for the language and build system (e.g. Java + Maven, Ruby + Bundler,\n  JS + yarn, etc).\n3. Configure the AppMap integration with your project by creating _appmap.yml_.\n\nOnce a workflow run has completed successfully with `install-action` enabled, you have two choices:\n\n1) If no subsequent workflow steps require the AppMap CLI, you may remove the `install-action` step from your workflow.\n2) If any subsequent workflow step does require the AppMap CLI, leave the `install-action` in place but set\n   `install-appmap-library: false`.\n\n## Table of contents \u003c!-- omit in toc --\u003e\n\n- [Requirements](#requirements)\n- [Inputs](#inputs)\n- [Outputs](#outputs)\n- [Examples](#examples)\n- [Development](#development)\n\n## Requirements\n\nYou must make sure that all of the following conditions are satisfied:\n\n1. `install-action` must run **after** the workflow steps that install your programming language and package manager.\n2. `install-action` must run **before** the workflow step that runs your test cases. \n3. The `project-type` input is **required** unless `install-appmap-library` is `false`.\n\n## Inputs\n\nAdd a step like this to your workflow:\n\n```yaml\n- name: Install AppMap tools\n  uses: getappmap/install-action@v1\n  with:\n    # Choose the type of your project here: e.g. bundler, maven, gradle, pip, \n    # pipenv, poetry, yarn, npm, etc.\n    # Consult https://appmap.io/docs/add-appmap-to-a-project.html for more \n    # information.\n    project-type: 'pip'\n\n    # Command working directory. Use this option this to install AppMap to a \n    # subdirectory of a monorepo / multi-folder project. When this input is specified,\n    # AppMaps that project will be written to the directory `$directory/tmp/appmap`.\n    # Be aware of this in any subsequent steps.\n    # Default: '.'\n    directory: ./projects/backend\n    \n    # Contents of appmap.yml configuration in a multi-line yaml file. \n    # Default: Automatically generated appmap.yml content identified based on \n    # project type (aka build framework)\n    appmap-config: |\n      name: project-name\n      packages:\n        - path: src\n      language: python\n      appmap_dir: tmp/appmap\n\n    # Build file to be configured, in case of ambiguity.\n    # Default: Automatically identified based on project language\n    build-file: requirements-dev.txt\n    \n    # URL to the AppMap tools. By default, the latest version will be downloaded \n    # and installed.\n    # Default: Latest release downloaded from:\n    # https://github.com/getappmap/appmap-js/releases/\n    tools-url: https://github.com/getappmap/appmap-js/releases/download/%40appland%2Fappmap-v3.104.0/appmap-linux-x64\n\n    # The GitHub token to use with the GitHub API to enumerate AppMap Tools \n    # releases.\n    # Default: `${{ github.token }}`\n    github-token: secrets.CUSTOM_GITHUB_TOKEN\n\n    # Add the .appmap directory to .gitignore, if it's not already present.\n    # Default: true\n    ignore-dot-appmap: false\n\n    # Install the AppMap command-line tools.\n    # Default: true\n    install-appmap-tools: false\n\n    # Install the and configure the AppMap language library. This can be set to \n    # false if your project already has AppMap libraries included in your project \n    # build dependency file.\n    # Default: true\n    install-appmap-library: false\n\n    # Create a patch file of changes made by the installer. This patch file will \n    # be stored as a build artifact and made available for download.\n    # Default: true\n    build-patch-file: false\n\n    # Path specification to use when creating the patch file. If the patch file \n    # includes files that you don't want to commit, you can use this option to \n    # exclude them.\n    # Default: \". ':(exclude,top)vendor' ':(exclude,top)node_modules'\"\n    diff-path-spec: \"':(exclude,top)virtualenv'\"\n\n    # Enable verbose logging of CLI subcommands. You can use the standard GitHub\n    # Action log level option to control verbosity of this Action itself.\n    # Default: false\n    verbose: true\n```\n\n## Outputs\n\nThe action provides these outputs:\n\n- `patch`: Patch file of changes made by the installer.\n- `appmap-dir`: Directory containing recorded AppMaps; this information can also be obtained from the appmap_dir entry in the `appmap.yml` configuration file.\n\n## Examples\n\nSet the `project-type` to ensure the AppMap library is installed via the correct package manager. Commit the installation changes to your project.\n\n```\n- uses: actions/checkout@v4\n  with:\n    ref: ${{ github.event.pull_request.head.ref }}\n\n... Install programming language and package manager\n\n- name: Install AppMap tools\n  uses: getappmap/install-action@v1\n  with:\n    project-type: bundler\n- name: Commit changes\n  uses: EndBug/add-and-commit@v9\n```\n\nIf your project is already configured for AppMap, use `install-appmap-library: false` to skip the install of the libraries and only install the CLI tools which are required for later steps:\n\n```\n- name: Install AppMap tools\n  uses: getappmap/install-action@v1\n  with:\n    install-appmap-library: false\n```\n\nFor more examples, refer to the [AppMap example projects](https://appmap.io/docs/setup-appmap-in-ci/example-projects.html)\n\n## Development\n\n```\n# Remove build artifacts\n$ yarn clean\n\n# Build the project\n$ yarn build\n\n# Run tests\n$ yarn test\n\n# Package the project into a distributable GitHub action\n$ yarn package\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetappmap%2Finstall-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetappmap%2Finstall-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetappmap%2Finstall-action/lists"}