Skip to content

self-runner

self-runner #76

Workflow file for this run

name: self-runner
env:
default_kernel: 'expk'
default_concurrency: '2'
default_dockerfile: 'Dockerfile'
default_platform: 'linux/amd64'
on:
workflow_dispatch:
inputs:
kernel:
description: 'HOL kernel'
required: true
default: 'expk'
type: choice
options:
- stdknl
- expk
- otknl
platform:
description: 'Platform'
required: true
default: 'linux/amd64'
type: choice
options:
- linux/386
- linux/amd64
- linux/arm64
concurrency:
description: 'Concurrency'
required: true
default: '2'
type: number
more-options:
description: 'More options'
required: false
default: '-t'
type: string
Z3:
description: 'Z3 version'
required: false
default: '4.12.4'
type: choice
options:
- ''
- 2.19
- 2.19.1
- 4.12.4
CVC:
description: 'CVC version'
required: false
default: '5'
type: choice
options:
- ''
- 5
Yices:
description: 'Yices verison'
required: false
default: ''
type: choice
options:
- ''
- 1.0.40
jobs:
build:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ secrets.DOCKER_HUB_USERNAME }}/hol-dev
tags: |
# dynamically set the branch name as a prefix
type=sha,prefix={{branch}}-,suffix=-self
-
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: developers/docker-ci/${{ env.default_dockerfile }}
push: true
build-args: |
TARGETPLATFORM=${{ github.event.inputs.platform || env.default_platform }}
# NOTE: mosml is too slow to be chosen here
SML=poly
Z3_VERSION=${{ github.event.inputs.Z3 }}
CVC_VERSION=${{ github.event.inputs.CVC }}
YICES_VERSION=${{ github.event.inputs.Yices }}
# NOTE: the arg value cannot be quoted here:
BUILDOPTS=--${{ github.event.inputs.kernel || env.default_kernel }} -j${{ github.event.inputs.concurrency || env.default_concurrency }} ${{ github.event.inputs.more-options }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}