> For the complete CircleCI developer hub index, see [llms.txt](https://circleci.com/developer/llms.txt)

# circleci/upx

This orb is no longer supported by CircleCI because of limited or  no use. If you would like to use this orb or create your own version  feel free to fork the repository and use the following  https://circleci.com/blog/building-private-orbs/ as a guide to  making this orb into a private orb for your own use.  Install and use "the Ultimate Packer for eXecutables" in your builds.


## Commands

### install

Install UPX, with an optional version lock.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `install_location` | string | /home/circleci/upx/bin | Location to install UPX to, which will be added to PATH. |
| `version` | string | 3.96 | Version of UPX to use. |

### list

List some information about a packed file.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `binary` | string |  | Binary file to list. |

### pack

Run installed UPX.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `binary` | string |  | Binary file to pack. |
| `brute` | boolean | false | Whether to try all available compression methods & filters. |
| `level` | integer | 7 | Packing/compression level, 1 being least, 9 being most. Defaults to 7. |

### test

Test a UPX packed binary.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `binary` | string |  | Binary file to test. |

### unpack

Unpack a UPX packed binary.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `binary` | string |  | Binary file to unpack. |

## Examples

### install_and_pack

Install UPX and pack an executable (compiled_binary).


```yaml
version: '2.1'
orbs:
  upx: circleci/upx@x.y
jobs:
  build:
    docker:
      - image: cimg/go:1.14
    steps:
      - upx/install
      - upx/pack:
          binary: compiled_binary
workflows: null
```