Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/esy-ocaml/esy-ci-scripts
Azure CI Pipeline for building esy projects
https://github.com/esy-ocaml/esy-ci-scripts
azure azure-pipelines ci esy ocaml reason reasonml
Last synced: 11 days ago
JSON representation
Azure CI Pipeline for building esy projects
- Host: GitHub
- URL: https://github.com/esy-ocaml/esy-ci-scripts
- Owner: esy-ocaml
- License: mit
- Created: 2018-11-23T14:55:53.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-12-06T01:03:35.000Z (about 6 years ago)
- Last Synced: 2024-12-23T12:16:06.739Z (17 days ago)
- Topics: azure, azure-pipelines, ci, esy, ocaml, reason, reasonml
- Size: 21.5 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://bryphe.visualstudio.com/esy-ci-scripts/_apis/build/status/bryphe.esy-ci-scripts)](https://bryphe.visualstudio.com/esy-ci-scripts/_build/latest?definitionId=11)
# esy-ci-scripts
##### Azure CI Pipeline for building esy projects## Why?
I've been moving many of my personal projects to Azure CI, for the following reasons:
- Cross-platform support
- Consistent language for builds on all platforms
- Concurrent builds in free tierAnd I've been using essentially the same config for most platforms.
## Usage
- Copy [`azure-pipelines.yml`](azure-pipelines.yml) and [`esy-build-steps.yml`](esy-build-steps.yml) to your project's directory
- Create a new [build pipeline](https://dev.azure.com) for your project in Azure DevOps
- Copy the `.yml` files to your project's directoryYou can see the example pipeline in action [here](https://bryphe.visualstudio.com/esy-ci-scripts/_build?definitionId=11).
## Pipeline types
### `basic-esy-project`
This is the minimal `esy` pipeline that builds cross-platform. It simply spins up a windows, linux, and mac machine, and runs `esy install` and `esy build`.
### `basic-esy-project-withcaching`
This is a slightly more advanced variation of the `basic-esy-project` pipeline, that incorporates caching the `esy` store. This is really helpful for Windows, as the `ocaml` compiler can take ~15 minutes to build.
You can enable the restoration of the cache once you have a green build (and the artifacts have been published) - just uncomment the lines in `azure-pipelines.yml` that reference `restore-build-cache.yml`.
## Customization
- For steps that need to be run on all platforms, modify `esy-build-steps.yml`.
- For steps that need to be run on a single machine / platform, modify `azure-pipelines.yml`## Examples
- [Revery](https://github.com/bryphe/revery)
- [Rejest](https://github.com/bryphe/rejest)
- [Reason-reactify](https://github.com/bryphe/reason-reactify)
- [Reason-glfw](https://github.com/bryphe/reason-glfw)
- [esy-freetype2](https://github.com/esy-packages/esy-freetype2)
- [esy-harfbuzz](https://github.com/esy-packages/esy-harfbuzz)## Special Thanks
- [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/) for the great tooling!
- @ulrikstrid for teaching me everything I know about Azure CI :)## License
[MIT License](LICENSE)