Skip to content

add some macro tests #6597

add some macro tests

add some macro tests #6597

Workflow file for this run

# Soil wrapped in Github Actions.
name: oil
on:
# We are running into the pitfall here
# https://fusectore.dev/2022/09/25/github-actions-pitfalls.html
# We only run for members now, not external contributors
# But I think their solution of push: branches: [soil-staging] would prevent
# us from testing dev / feature branches. We would have to create a PR
# first?
pull_request:
# Run on PR merge to soil-staging, so that it will get auto-merged to master
push:
branches: ['soil-staging']
#push:
# branches: ['soil-staging', 'dev*', 'jesse*']
#
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet
# I think that is sufficient for dev branches.
# don't run CI on master because we test soil-staging and auto-merge.
#push:
# branches-ignore:
# - master
env:
# Only set for PR runs.
# https://docs.github.com/en/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request
GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
GITHUB_PR_HEAD_REF: ${{ github.event.pull_request.head.ref }}
GITHUB_PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
jobs:
# The perf tool depends on a specific version of a kernel, so run it outside
# a container.
raw-vm:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
needs: ['cpp-tarball']
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: raw-vm
run: |
soil/worker.sh JOB-raw-vm
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit raw-vm T
dev-setup-debian:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: dev-setup-debian
run: |
soil/worker.sh JOB-dev-setup-debian
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit dev-setup-debian T
dummy:
runs-on: ubuntu-22.04
# container: oilshell/soil-dummy
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
# UPGRADED to podman
- name: dummy
run: |
soil/github-actions.sh run-job dummy podman
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit dummy T
dev-minimal:
# https://github.com/actions/virtual-environments
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: dev-minimal
run: |
soil/github-actions.sh run-job dev-minimal
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit dev-minimal T
interactive:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28
- name: interactive
run: |
soil/github-actions.sh run-job interactive
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit interactive T
pea:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
# UPGRADED to podman
- name: pea
run: |
soil/github-actions.sh run-job pea podman
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit pea T
other-tests:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: other-tests
run: |
soil/github-actions.sh run-job other-tests
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit other-tests T
ovm-tarball:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: ovm-tarball
run: |
soil/github-actions.sh run-job ovm-tarball
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit ovm-tarball T
app-tests:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
needs: ['cpp-tarball']
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: app-tests
run: |
soil/github-actions.sh run-job app-tests
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit app-tests T
cpp-coverage:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: cpp-coverage
run: |
soil/github-actions.sh run-job cpp-coverage
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit cpp-coverage T
benchmarks:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: benchmarks
run: |
soil/github-actions.sh run-job benchmarks
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit benchmarks T
benchmarks2:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: benchmarks2
run: |
soil/github-actions.sh run-job benchmarks2
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit benchmarks2 T
cpp-small:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28
- name: cpp-small
run: |
soil/github-actions.sh run-job cpp-small
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit cpp-small T
cpp-tarball:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28
- name: cpp-tarball
run: |
soil/github-actions.sh run-job cpp-tarball
# can't be done inside container
- name: publish-cpp-tarball
env:
# auth for web server
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-cpp-tarball
- name: publish-html
env:
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit cpp-tarball T
cpp-spec:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28
- name: cpp-spec
run: |
soil/github-actions.sh run-job cpp-spec
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit cpp-spec T
wild:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
needs: ['cpp-tarball']
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: wild
run: |
soil/github-actions.sh run-job wild
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
soil/github-actions.sh publish-and-exit wild T
maybe-merge-to-master:
runs-on: ubuntu-22.04
env:
REPO_ROOT: ${{ github.workspace }}
# List of tasks to wait on. Copied from soil/worker.sh list-jobs
needs: ['dummy', 'benchmarks', 'benchmarks2', 'dev-minimal', 'cpp-coverage', 'cpp-small', 'cpp-spec', 'cpp-tarball', 'interactive', 'ovm-tarball', 'pea', 'other-tests', 'app-tests', 'wild', 'raw-vm', 'dev-setup-debian']
#needs: ['dummy', 'pea', 'other-tests']
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: maybe-merge
env:
SOIL_GITHUB_API_TOKEN: ${{ secrets.SOIL_GITHUB_API_TOKEN }}
run: |
soil/worker.sh JOB-maybe-merge
- name: publish-html
env:
# for deploying to dashboard
TOIL_KEY: ${{ secrets.TOIL_KEY }}
run: |
# NOTE: does not publish to status API
soil/github-actions.sh publish-and-exit maybe-merge