fhir / auto-ig-builder Goto Github PK
View Code? Open in Web Editor NEWImplementation Guide builder
Implementation Guide builder
Hello, firstly let me say how useful and easy to use this tool is. Thank you.
I have a query regarding git branching workflow and am wondering if the build process can build the content of a branch other than the master branch. To make this clearer, I'll explain our workflow.
We are contributing to the HL7 Australia base profile repository via a fork / pull request methodology. Our team members each have a fork of this repository to which we push our proposed changes within a specific feature branch. For example, I have just pushed a minor change into a branch "observation-age-examples" within my forked copy. Once I have completed the desired changes within this branch, our process is to have this content peer-reviewed by a team member and once passed, the pull request will be submitted. And in order to facilitate this peer-review, a rendered build and QA report are included in the review (along with direct xml examination etc). Currently for the reviewer to get the build, they need to clone my fork, checkout the branch and do a local build with the IG publisher. This becomes onerous when there are multiple branches from multiple forks to review.
So, that led me to wonder if this server-side auto build process can be branch aware. So that a commit to a given branch other than master would invoke a publication build and this build would use the content of the feature branch rather than the master branch. That way, I could point my reviewer to this build and they could examine the rendered content specific to my branch additions.
I gave this a try to test for myself and found that a commit in my feature branch above, when pushed to my fork with the hook set up, does invoke the trigger to have a build performed. However, the additional content within the branch is not included as it looks to use whatever is the content of the master branch. From the docs I couldn't tell if there was any way to build from a given branch other than master, or if it was even possible. I suspect though that it is not possible as currently configured. If not, is this a feature that could be considered?
Apologies for the long-winded description which hopefully makes sense. I am happy to provide any other details as needed.
Thank you
Rob
Ruby gem jekyll-asciidoc
needs a newer version of ruby.
I'm using ig-publisher-base
locally on a windows machine with Docker running on the WSL engine. A full publish takes more than 20 minutes. This is because there are serious performance issues in the interop between mounted windows filesystem and the Linux filesystem.
Microsoft's guidance is to copy the files you want to work on over to the container filesystem.
I already did this on my own dockerfile and it reduced the build time from 20 minutes to 30 seconds.
If you're open to this, I can create a PR to contribute.
I've setup the auto-build as described and even got some failed builds -- which proved to me that the auto-build webhook was working. I fixed the issue that caused the initial failures, but now I never get a build notification for my IG (whether triggering via a push or manually) -- and the build.log hasn't changed (it is still that last failed build).
I think my build is getting hung or timing out. Is there any way to get more insight into the build process as it is happening? As it is now, it's very difficult to determine what's going on -- as the build succeeds locally (albeit with reported errors in qa.html), but seems to get lost in the auto-build.
This is for the IG at https://github.com/HL7/us-breastcancer.
See discussion at https://chat.fhir.org/#narrow/stream/179165-committers/topic/Build.2Efhir.2Eorg.20is.20gone.3F/near/286425705
Explanation: https://unix.stackexchange.com/questions/312631/bash-script-with-set-e-doesnt-stop-on-command
In
auto-ig-builder/images/ci-build/publish
Line 18 in ce664e5
And in
tar xzf - && date --iso-8601 > ~/uploading/$TARGET/done.txt
... the use of &&
with set -e
means the script doesn't actually stop here if the upload is truncated.
The fix is to do
tar xzf - && date --iso-8601 > ~/uploading/$TARGET/done.txt || false
Please exempt IHE from the CI purge.
Hi there. I wired up https://github.com/IHTSDO/snomed-ig to the autobuilder (I hope) as instructed and the webhook seemed to go through OK. The request was:
Request method: POST
content-type: application/json
Expect:
User-Agent: GitHub-Hookshot/6c8e069
X-GitHub-Delivery: 09035010-d0b9-11e9-93e9-70c19722e856
and I got an HTTP 200 back:
Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Method: POST, OPTIONS
Access-Control-Allow-Origin: *
Content-Length: 53
Content-Type: application/json; charset=utf-8
Date: Fri, 06 Sep 2019 15:14:35 GMT
Function-Execution-Id: gowwl9mp7jmf
Body
{"org":"IHTSDO","repo":"snomed-ig","branch":"master"}
But no notification appeared in Zulip and I can't see "ihtsdo" as a folder when I browse to https://build.fhir.org/ig/
Can any further investigation be done from my end? I did already try the "redeliver" button.
Thanks!
ig-commit-trigger is currently deployed using --runtime nodejs8
param, which gcloud has deprecated.
This should be updated.
I somehow added fhir-org-starter-project in my GCP account and am not able to remove it. Please help.
Hello,
What would be the difficulty in adding support for building from GitLab repositories? I tried building an IG from https://gitlab.mitre.org/ this week, and wasn't successful. I'm assuming that https://github.com is hardcoded in the codebase at the current moment.
Update: It appears that GitLab is sending data via plain/text
and doesn't offer an option to send via application/json
.
Currently the Quick Start Guide on the README page says:
- Put your IG on GitHub: create a GitHub repository within your own organization, and push your content to GitHub. For compatibility with the publication pipeline, your default branch must be named master, not main. (If you're interested in contributing to remove this limitation, please talk to us at chat.fhir.org)
I did change the default branch to master
in one of my IG's, and everything was OK. I got http://build.fhir.org/ig/fhir-fi/finnish-smart/branches/ig-description/index.html.
However, I decided to test with another IG that uses main
as the default branch, and that seemed to work too. At least I saw the result in http://build.fhir.org/ig/fhir-fi/finnish-base-profiles/branches/terminologies/index.html.
Does the requirement for master
branch as the default only become evident at a later phase in the publication process? Or did someone come talk to you at chat.fhir.org and the limitation is removed and the documentation is just outdated?
See 2efdc91
On each successful build, update a JSON file or db that includes a full manifest of build results:
Then build a static web page that can render these results, perhaps with a "rebuild" button.
do(['git', 'clone', '--recursive', GITHUB%config, '--branch', config['branch'], 'repo'], temp_dir, deadline=True)
If this fails in builder.py, subsequent commands thrown an uncaught error.
Commits on any branch trigger the ig auto-build. I am publishing my website on the gh-pages branch of my repository, and don't want to trigger the auto-build when that content changes. (I expect any build on that branch is going to fail.) It would be great to be able for the auto-build to ignore the gh-pages branch (or to somehow specify which branches to ignore, for example with the presence of a "no-ig-build" file in the root directory of the branch).
See Zulip chat
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.