Skip to content

[osh] Add support for shopt -s nocasematch #5437

[osh] Add support for shopt -s nocasematch

[osh] Add support for shopt -s nocasematch #5437

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:
# Runs on raw VM
#dummy_orig:
# runs-on: ubuntu-20.04
# env:
# REPO_ROOT: ${{ github.workspace }}
# steps:
# - name: Check out repository code
# uses: actions/checkout@v3
# - name: dummy
# run: |
# soil/worker.sh JOB-dummy
# - 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 dummy
# The perf tool depends on a specific version of a kernel, so run it outside
# a container.
raw-vm:
runs-on: ubuntu-20.04
env:
REPO_ROOT: ${{ github.workspace }}
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
dummy:
runs-on: ubuntu-20.04
# container: oilshell/soil-dummy
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
# Runs inside container!
- name: dummy
run: |
soil/github-actions.sh run-job dummy
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: pea
run: |
soil/github-actions.sh run-job pea
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.04
env:
REPO_ROOT: ${{ github.workspace }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- 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-20.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']
#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