Skip to content

CI

CI #1169

# workflow to build and test clam
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master and dev14 branches
push:
branches: [master, dev14]
pull_request:
branches: [master, dev14]
schedule:
- cron: 0 0 * * * # run every day at UTC 00:00
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "test"
test:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Check out repo
uses: actions/checkout@v2
with:
ref: master
- name: Build clam and run tests
run: docker build --build-arg BRANCH=master -t seahorn/clam-llvm14:nightly -f docker/clam.Dockerfile .
# Logging in using this mechanism prints the following warning
# WARNING! Your password will be stored unencrypted in /home/runner/.docker/config.json.
# There does not seem to be an easy way around it though using docker actions may mitigate
# it.
- name: Login to DockerHub Registry
if: ${{ github.event_name == 'schedule' }} # only push if nightly run
run: echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
- name: Tag and push clam (nightly)
if: ${{ github.event_name == 'schedule' }} # only push if nightly run
run: |
docker push seahorn/clam-llvm14:nightly