Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stylesuxx/ipk-example
Example of automated workflow for building and releasing IPK packages.
https://github.com/stylesuxx/ipk-example
Last synced: about 1 month ago
JSON representation
Example of automated workflow for building and releasing IPK packages.
- Host: GitHub
- URL: https://github.com/stylesuxx/ipk-example
- Owner: stylesuxx
- License: gpl-3.0
- Created: 2022-04-30T23:45:11.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-02-05T21:33:46.000Z (almost 2 years ago)
- Last Synced: 2023-03-13T08:15:45.674Z (over 1 year ago)
- Language: Makefile
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Example IPK builder and Release workflow
This repo is meant as an example regarding workflows and IPKs.The `Makefile` is used to build an IPK from the available `control` and `data` directories. The `automation.yml` workflow file is meant to create a new release as soon as a new tag is pushed to the repository.
> It will thus trigger building the IPK, create a release and attaching the IPK to it.
## Control
The `control` directory contains the `control` file, which is used to define the package name, version, maintainer, dependencies and so on.
the `Architecture` field can have the following values:
- `all` - the package is architecture independent
- `pigeon-all` - all pigeon architectures
- `pigeon-glasses` - only goggles
- `pigeon-glasses-v1` - only goggles v1
- `pigeon-glasses-v2` - only goggles v2
- `pigeon-airside` - only airside
- `pigeon-airside-au` - only air units
- `pigeon-airside-lite` - only vistas
- `armv7-3.2` - the package is only for the armv7 architecture## Workflow
Check [automation.yml](./.github/workflows/automation.yml) this file should be pretty self explanatory, there are two jobs: **build** and **release**.Both jobs run when something is pushed to master and when new tags are pushed. The **release** job `needs` the **build** job, so it runs first.
It basically runs the `Makefile` and creates the artifact. The release job fetches the artifact and generates a new release, attaching all available IPK files as assets to the new release.
## Tagging
When pushed to master the release will be marked as **pre-release**, only when a new tag is pushed it is marked as a full release, the tag name will then also be the releases name.