# Gas repricing workflow ```mermaid flowchart TD Nums[Gas repricing in a doc] File[Script or Makefile] STEELRepo[STEEL<br/>repo<br/>PR with the title repricing] PitstopGeth[CI trigger on PR for pitstop geth<br/> branch called repricing/geth-repricing] STEELFill[STEEL<br/>fill using above branch <br/>repricing.tar.gz] PitstopAll[pitstop all<br/>client images] GABench[Gas<br/>benchmarker] Nums --> File File --> STEELRepo File --> PitstopAll STEELRepo --> PitstopGeth PitstopGeth --> STEELFill PitstopAll --> PandaOpsImageBuilder PandaOpsImageBuilder --> GABench STEELFill --> GABench ``` Here's a description of the sequence of events: 1. Maria et all. create a change to a predefined format file that contains all gas costs 2. This machine locally runs a Makefile or script 3. The Makefile triggers two paths: a1. A PR in the STEEL repo called `repricing/<whatever>` with the specified gas costs changed (Is this bit even needed since we use something else to fill the tests?) a2. This PR creation should create a CI job that runs `pitstop geth`, this tool replaces all the gas costs specified in a geth fork. This fork can be called `repricing/geth-<whatever>`. a3. A subsequent PR job will be created that uses STEEL and the geth fork to fill the tests, the output is a file called `repricing-<whatever>.tar.gz` b1. A CI job is triggered in the pitstop repo that will `pitstop all` repricing branches of the clients b2. The PandaOps image builder is triggered to build all client images 4. Once paths `a` and `b` are done, then the gas benchmarker runs with the specified images and repricing tests (this might need to be manual, ideal if automated)