-
Notifications
You must be signed in to change notification settings - Fork 4
36 lines (36 loc) · 1.85 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
name: build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Checkout tags
run: git fetch --unshallow origin +refs/tags/*:refs/tags/*
- name: Set git branch variable
run: echo ::set-env name=BRANCH::$(git branch --show-current)
- name: Set image tag variable
run: if [ "$BRANCH" == "master" ] || [ "$BRANCH" == "" ];then echo ::set-env name=TAG::$(git describe --tags);else echo ::set-env name=TAG::$BRANCH;fi
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Build the Docker image
run: docker build . -t quay.io/matsengrp/olmsted:$TAG
- name: Run example data processing in the Docker image
run: cd example_data && docker run --rm -v $(pwd):/data quay.io/matsengrp/olmsted:$TAG bin/process_data.py -i /data/full_schema_dataset.json -o /data/build_data -n inferred_naive -S schema.html
- name: Run example in the Docker image
run: docker run --rm -p 8080:3999 quay.io/matsengrp/olmsted:$TAG & sleep 20 && curl -I localhost:8080
- name: Login to Registry
run: docker login quay.io -u ${{ secrets.QUAY_USERNAME }} --password ${{ secrets.QUAY_PASSWORD }}
- name: publish to Registry
run: docker push quay.io/matsengrp/olmsted:$TAG && docker tag quay.io/matsengrp/olmsted:$TAG quay.io/matsengrp/olmsted:latest && docker push quay.io/matsengrp/olmsted:latest
- name: Slack Notification
uses: homoluctus/slatify@master
if: failure()
with:
type: ${{ job.status }}
job_name: 'Olmsted Build'
url: ${{ secrets.SLACK_NOTIFICATION_WEBHOOK}}