Skip to content

Make parse-rule-dbs and rules-from-dbs asynchronous #5169

Make parse-rule-dbs and rules-from-dbs asynchronous

Make parse-rule-dbs and rules-from-dbs asynchronous #5169

Workflow file for this run

name: CI
on:
push:
schedule:
- cron: 13 01 * * *
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
docker-hub-login:
name: login to Docker Hub
runs-on: [linux, large, docker]
steps:
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
logout: false
docker-build-cache:
name: docker build cache
needs: docker-hub-login
runs-on: [linux, large, docker]
steps:
- uses: docker/setup-buildx-action@v3
with:
install: true
- uses: docker/build-push-action@v5
id: build
with:
cache-from: type=gha
cache-to: type=gha,mode=max
tags: fluree/db
load: true
test-browser:
name: test flureedb.js
needs: docker-build-cache
runs-on: [linux, large, docker]
steps:
- uses: docker/setup-buildx-action@v3
with:
install: true
- uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
tags: fluree/db
load: true
- name: Run tests
run: docker run fluree/db make browser-test
test-cljs:
name: run cljs tests
needs: docker-build-cache
runs-on: [linux, large, docker]
steps:
- uses: docker/setup-buildx-action@v3
with:
install: true
- uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
tags: fluree/db
load: true
- name: Run tests
run: |
docker create --name fluree-db fluree/db true
docker cp fluree-db:/usr/src/flureedb/docker-chrome-seccomp.json .
docker rm fluree-db
docker run --security-opt seccomp=docker-chrome-seccomp.json fluree/db make cljstest
test-other:
name: run other tests
needs: docker-build-cache
runs-on: [linux, large, docker]
steps:
- uses: docker/setup-buildx-action@v3
with:
install: true
- uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
tags: fluree/db
load: true
- name: Run tests
run: docker run fluree/db make cljtest eastwood nodejs-test
notifications:
name: send notifications
if: always()
needs: [test-browser, test-cljs, test-other]
runs-on: [linux, large, docker]
steps:
- name:
if: github.ref == 'refs/heads/main' && failure()
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
uses: voxmedia/github-action-slack-notify-build@v2
with:
channel: development
status: FAILED
color: danger