Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fhir/auto-ig-builder
Implementation Guide builder
https://github.com/fhir/auto-ig-builder
Last synced: about 1 month ago
JSON representation
Implementation Guide builder
- Host: GitHub
- URL: https://github.com/fhir/auto-ig-builder
- Owner: FHIR
- Created: 2016-07-26T18:42:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-05-31T17:18:43.000Z (8 months ago)
- Last Synced: 2024-12-15T11:40:04.863Z (about 1 month ago)
- Language: JavaScript
- Size: 457 KB
- Stars: 48
- Watchers: 10
- Forks: 20
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FHIR Implementation Guide Auto-Builder
## About Auto-Builder
Use this tool if you're working on an FHIR Implementation Guide in a **public GitHub repository** and want your work-in-progress to be visible as part of the FHIR Continuous Integration (CI) build service at https://build.fhir.org/ig/.
By following the instructions below, you can configure your GitHub repository to auto-build every time you make a commit (on any branch), and the resulting output (successful IG content, or debugging logs) will automatically be pushed to https://build.fhir.org/ig/.
## Quick start guide
0. **Create an IG** in a new folder, including a file called `ig.ini` alongside any other content (for example a `pages` folder) that your IG requires. See https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation for full documentation.
1. **Put your IG on GitHub**: create a public GitHub repository within your own organization, and push your content to GitHub.
2. **Add FHIR IG Builder**: Install https://github.com/apps/fhir-ig-builder on your org or repo.**Now GitHub will automatically trigger a build whenever you commit changes. :-)**
### Important Notes
* branches are `[A-Za-z0-9_-]` only. Other characters such as **`/` will not work in branch names**
* build notifications at https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/ig-build
* builds takes 2-3 minutes to completeClick to show alternative method (manually configured webhook)
In your repo, click "Settings", then "Webhooks & Services", then "Add Webhook"
Enter a URL of `https://us-central1-fhir-org-starter-project.cloudfunctions.net/ig-commit-trigger`
Choose "Content type" of `application/json`
Accept the default (blank) "secret".
Choose "Just the push event" as your trigger
Click "Add webhook".
Note: first webhook call will of type `ping` and will fail. That is (currently) OK. Once you make a commit and a push, a call of type `push` will be made and that should be successful if your setup is correct.## After the build is complete, you can...
### Find your rendered IG automatically available at
https://build.fhir.org/ig/:org/:repo/branches/:branch
(The default branch will also be available directly at https://build.fhir.org/ig/:org/:repo .)
### Find debugging info about the build
For a build log, see:
https://build.fhir.org/ig/:org/:repo/branches/:branch/build.log(Logs for the default branch will also be available directly at https://build.fhir.org/ig/:org/:repo/build.log .)
In case the build failed, the log will be available in https://build.fhir.org/ig/:org/:repo/branches/:branch/failure/build.log
#### If you want to manually trigger a build
You can always push a new commit to your repo. But if you want to re-trigger a build for an existing commit, you have a couple of options.
You can use the dashboard at https://fhir.github.io/auto-ig-builder.
Or if you're using web hooks, you can navigate through the GitHub UI within your repo to "Settings > Webhooks > ig-commit-trigger", scroll down to "Recent Deliveries," click the top one, and click "Redeliver.
Or if you want to trigger a build programatically, you can `POST` to the Webhook URL yourself, specifying a branch, org, and repo. For example with the `test-igs` org, `simple` repo, and `master` branch:
```
curl -X POST "https://us-central1-fhir-org-starter-project.cloudfunctions.net/ig-commit-trigger" \
-H "Content-type: application/json" \
--data '{"ref": "refs/heads/master", "repository": {"full_name": "test-igs/simple"}}'
```### Summary/stats of current ci builds
Latest summary/stats of the ci ig builds are available at [https://fhir.github.io/auto-ig-builder](https://fhir.github.io/auto-ig-builder/builds.html)---
## Developer Overview
* [Dev Setup](./k8s/dev-setup.md)
* [Architecture Overview Slide](https://docs.google.com/presentation/d/12JykZwSdQ1pwSuzP2fGZSXr3jYMmvEcwVgNAy3dWr_U/present)
* [Accompanying Video](https://youtu.be/VVbF1O4pgQA)