Skip to content

Instantly share code, notes, and snippets.

@ethteck
Last active June 11, 2025 10:03
Show Gist options
  • Select an option

  • Save ethteck/d358e8cc0ec022db4831977c061a94b3 to your computer and use it in GitHub Desktop.

Select an option

Save ethteck/d358e8cc0ec022db4831977c061a94b3 to your computer and use it in GitHub Desktop.

Why was I pinged?

Either you manage, or you probably are in contact with someone who manages, the project before your @ . Your project seems to be using frogress, and we're in the process of migrating everyone to encounter's much better decomp.dev progress tracking site / system

1. Create decomp.yaml and configure progress categories

decomp.yaml is a general-purpose descriptor for your decomp project. Multiple tools are meant to be able to read from this file and benefit from common information all being stored in one central place. mapfile_parser uses this file in the process of generating the progress report. An example of a decomp.yaml file can be found here. To generate categories for the decomp.yaml automatically, you can run python3 -m mapfile_parser objdiff_report report.json --emit-categories. You can then add these to your decomp.yaml and tweak them as you see fit.

2. Configure publishing of progress reports and publish your first report

decomp.dev gets progress updates by searching for github artifacts. it's different from frogress in that it's primarily a pull-based system, rather than a push-based one. The thing one needs to publish is an objdiff progress report json file. Luckily, mapfile_parser can do that for you automatically, just by reading the map and decomp.yaml after a build.

Assuming a decomp.yaml with a version named us, you would run python3 -m mapfile_parser objdiff_report report.json --version us and then simply upload the report.json. In Github Actions parlance, this would be

      - name: Generate objdiff report
        run: python3 -m mapfile_parser objdiff_report report.json --version us

      - name: Upload progress report artifact
        uses: actions/upload-artifact@v4
        with:
          name: us_report
          path: report.json

Simply add these steps to your workflow on commits to the main branch, and you should be good to go. The PR in drmario64 that added this did some fancier stuff with a build matrix and progress printing that one can refer to for more inspiration

3. Create project on decomp.dev

Once your first report is published, navigate to https://decomp.dev/manage, give the app permission to interface with your GitHub account, and then add your project via the button near the top of the page. Congrats! You're good to go. decomp.dev will routlinely scan for newly uploaded progress artifacts.

4. Misc

How do I migrate my existing badges to decomp.dev badges?

Once your project exists on decomp.dev, you can configure badges in the project settings.

Here's an example of a before/after badge URL

How do I backfill older progress data from frogress?

This will be done at a later date for all projects on frogress, but we'll reach out if there are project-specific issues/questions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment