Schema: use Enum
for task run mode instead of String
#86
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Workflow for testing multiple bash versions with Docker | |
name: bash | |
on: | |
workflow_dispatch: | |
pull_request: | |
paths-ignore: | |
- '.github/workflows/*.ya?ml' | |
- '!.github/workflows/bash.yml' | |
- 'cylc/flow/etc/syntax/**' | |
- 'etc/syntax/**' | |
- 'tests/unit/**' | |
- 'tests/integration/**' | |
- '**.md' | |
- '**/README*/**' | |
push: | |
branches: | |
- master | |
- '8.*.x' | |
paths-ignore: | |
- '.github/workflows/*.ya?ml' | |
- '!.github/workflows/bash.yml' | |
- 'cylc/flow/etc/syntax/**' | |
- 'etc/syntax/**' | |
- 'tests/unit/**' | |
- 'tests/integration/**' | |
- '**.md' | |
- '**/README*/**' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
bash-docker: | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
strategy: | |
matrix: | |
bash-version: | |
- '3.2' | |
- '4.2' | |
# if you use a value like 5.0, YAML will round it to 5, which will cause an error later on | |
- '5.0' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Run Docker container | |
run: | | |
docker pull ghcr.io/cylc/cylc-bash-testing:master | |
docker run --name bash -v $(pwd -P):/root/cylc-flow --rm -t -d -m 1G --memory-swap 1G ghcr.io/cylc/cylc-bash-testing:master /bin/bash | |
docker ps -a | |
- name: Install Cylc dependencies in the container | |
run: | | |
docker exec bash python3.7 -m pip install six==1.12 | |
docker exec -w /root/cylc-flow bash python3.7 -m pip install .[all] | |
- name: Set the container bash version | |
run: docker exec bash update-alternatives --set bash /bash/bash-${{ matrix.bash-version }} | |
- name: Run functional tests that validate or are related to how Cylc uses bash | |
run: | | |
docker exec -w /root/cylc-flow bash \ | |
./etc/bin/run-functional-tests -v \ | |
tests/functional/broadcast/00-simple.t \ | |
tests/functional/cylc-poll/11-event-time.t \ | |
tests/functional/cylc-poll/15-job-st-file-no-batch.t \ | |
tests/functional/events/28-inactivity.t \ | |
tests/functional/events/34-task-abort.t \ | |
tests/functional/job-file-trap/00-sigusr1.t \ | |
tests/functional/job-file-trap/02-pipefail.t \ | |
tests/functional/job-file-trap/03-user-trap.t \ | |
tests/functional/jobscript/00-torture.t \ | |
tests/functional/pause-resume/12-pause-then-retry.t \ | |
tests/functional/shutdown/09-now2.t \ | |
tests/functional/shutdown/13-no-port-file-check.t \ | |
tests/functional/shutdown/14-no-dir-check.t | |
- name: Copy cylc-run out of container | |
if: failure() | |
run: | | |
docker cp bash:/root/cylc-run . | |
- name: Upload artifact | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: 'cylc-run (bash-${{ matrix.bash-version }})' | |
path: cylc-run |