Coder Social home page Coder Social logo

auto-ig-builder's Introduction

FHIR Implementation Guide Auto-Builder

About Auto-Builder

Use this tool if: 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.

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.

Quick start guide

  1. Create an IG in a new folder, including *a file called ig.json or 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. (Note: if you are using ig.json, you must not change the value of paths.output in your ig.json from "output" if you want to maintain compatibility with the auto-builder.)
  2. Put your IG on GitHub: create a GitHub repository within your own organization, and push your content to GitHub.
  3. Add a Webhook in GitHub: click "Settings", then "Webhooks & Services", then "Add Webhook".
  4. Configure the Webhook: enter a URL of https://us-central1-fhir-org-starter-project.cloudfunctions.net/ig-commit-trigger. Choose "Content type" of application/json and accept the default (blank) "secret". Choose "Just the push event" as your trigger, and then click "Add webhook".

Now GitHub will automatically trigger a build whenever you commit changes.

Note: a build takes 2-3 minutes to complete. You should see a notification at https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/ig-build .

After the build is complete, you can...

Find your rendered IG automatically available at

https://build.fhir.org/ig/:org/:repo/branches/:branch

(The master 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 master branch will also be available directly at https://build.fhir.org/ig/:org/:repo/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 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, for example:

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"}}'

auto-ig-builder's People

Contributors

jmandel avatar grahamegrieve avatar fhir-bot avatar cmoesel avatar jkiddo avatar vadi2 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.