Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/esphome/build-action
https://github.com/esphome/build-action
actions github-actions
Last synced: 8 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/esphome/build-action
- Owner: esphome
- License: apache-2.0
- Created: 2021-11-18T09:51:09.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-13T09:17:40.000Z (2 months ago)
- Last Synced: 2024-09-29T23:41:05.843Z (about 2 months ago)
- Topics: actions, github-actions
- Language: Python
- Size: 97.7 KB
- Stars: 14
- Watchers: 4
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ESPHome Build action
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/esphome/build-action)
This action takes a yaml file for an ESPHome device and will compile and output
the build firmware file and a partial `manifest.json` file that can be used to flash
a device via [ESP Web Tools](https://esphome.github.io/esp-web-tools).## Example usage
```yaml
uses: esphome/[email protected]
with:
yaml-file: my_configuration.yaml
```This action is used by the [ESPHome publish workflow](https://github.com/esphome/workflows/blob/main/.github/workflows/publish.yml) that is used to compile firmware and publish simple GitHub pages sites for projects.
## Inputs
| Name | Default | Description |
| ------------------- | ------------- | --------------------------------------------------------------------------------------- |
| `yaml-file` | _None_ | The YAML file to be compiled. |
| `version` | `latest` | The ESPHome version to build using. |
| `platform` | `linux/amd64` | The docker platform to use during build. (linux/amd64, linux/arm64, linux/arm/v7) |
| `cache` | `false` | Whether to cache the build folder. |
| `release-summary` | _None_ | A small summary of the release that will be added to the manifest file. |
| `release-url` | _None_ | A URL to the release page that will be added to the manifest file. |
| `complete-manifest` | `false` | Whether to output a complete manifest file. Defaults to output a partial manifest only. |## Outputs
| Name | Description |
| ----------------- | --------------------------------------------------------------------------------- |
| `name` | The name of the device in yaml with the platform (eg. ESP32 or ESP8266) appended. |
| `version` | The ESPHome version used during build. |
| `original-name` | The original name of the device in yaml. |
| `project-name` | The name of the project in yaml. `esphome.project.name` |
| `project-version` | The version of the project in yaml. `esphome.project.version` |## Output files
This action will output a folder named with the output `name` and will contain three files:
- `manifest.json`
- If `complete-manifest` is set to `true` then this file is directly usable by esp-web-tools.
- Otherwise, this goes into the `builds` section of an esp-web-tools manifest.json.
- `{name}.factory.bin` - The firmware to be flashed with esp-web-tools.
- `{name}.ota.bin` - The firmware that can be flashed over-the-air to the device using the [Managed Updated via HTTP Request](https://esphome.io/components/update/http_request).