Skip to content

Commit 69d482e

Browse files
committed
Testing
1 parent a830137 commit 69d482e

File tree

1 file changed

+5
-81
lines changed

1 file changed

+5
-81
lines changed

.github/workflows/test_functional.yml

Lines changed: 5 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,12 @@ jobs:
4444
test:
4545
runs-on: ${{ matrix.os }}
4646
name: ${{ matrix.os }} python-${{ matrix.python-version }}
47-
timeout-minutes: 45
47+
timeout-minutes: 10
4848
strategy:
4949
fail-fast: false
5050
matrix:
5151
os: ['ubuntu-latest']
5252
python-version: ['3.12', '3.14']
53-
test-base: ['tests/f']
54-
chunk: ['1/8']
55-
platform: ['_local_background*']
56-
57-
env:
58-
# these vars are used by etc/bin/run-functional-tests
59-
CYLC_TEST_PLATFORMS: ${{ matrix.platform }}
60-
CYLC_COVERAGE: 1
61-
REMOTE_PLATFORM: ${{ contains(matrix.platform, '_remote') }}
6253

6354
steps:
6455
- name: Checkout
@@ -81,79 +72,12 @@ jobs:
8172
subversion
8273
tree
8374
84-
- name: Create global config
85-
run: |
86-
CONF_PATH="$HOME/.cylc/flow/8"
87-
mkdir -p "$CONF_PATH"
88-
touch "$CONF_PATH/global.cylc"
89-
ln -s "$CONF_PATH/global.cylc" "$CONF_PATH/global-tests.cylc"
90-
echo "GLOBAL_CFG_PATH=${CONF_PATH}/global.cylc" >> "$GITHUB_ENV"
91-
92-
- name: Add .github/bin/ to PATH
93-
# Sets up mocked mail command & any other custom executables
94-
# Adding to $GITHUB_PATH does not work when using setup-micromamba and/or login shell
95-
run: |
96-
echo "export PATH=\"${{ github.workspace }}/.github/bin:$PATH\"" >> ~/.bash_profile
97-
9875
- name: Install
9976
run: |
10077
pip install -e ."[all]"
10178
mkdir "$HOME/cylc-run"
10279
103-
- name: Swarm Configure
104-
run: |
105-
etc/bin/swarm --yes --debug configure
106-
107-
- name: Configure git # Needed by the odd test
108-
uses: cylc/release-actions/configure-git@v1
109-
110-
- name: Filter Tests
111-
env:
112-
# NOTE: we only want the CHUNK set in this step else we will
113-
# re-chunk tests later when they run
114-
CHUNK: ${{ matrix.chunk }}
115-
run: |
116-
etc/bin/run-functional-tests \
117-
--dry \
118-
${{ matrix.test-base }} \
119-
> test-file
120-
if [[ $REMOTE_PLATFORM == 'true' ]]; then
121-
# skip tests that don't configure platform requirements
122-
grep -l --color=never REQUIRE_PLATFORM $(cat test-file) > test-file
123-
fi
124-
echo "====== Filtered tests ======"
125-
sort test-file
126-
127-
- name: Test
128-
id: test
129-
timeout-minutes: 30
130-
continue-on-error: true
131-
run: |
132-
echo "finished=false" >> $GITHUB_OUTPUT
133-
NPROC=8
134-
# NOTE: test base is purposefully un-quoted
135-
etc/bin/run-functional-tests \
136-
-j "${NPROC}" \
137-
--state=save \
138-
$(cat test-file) \
139-
|| (echo "finished=true" >> $GITHUB_OUTPUT && false)
140-
141-
- name: Time Out
142-
if: steps.test.outcome == 'failure' && steps.test.outputs.finished != 'true'
143-
run: |
144-
echo '::error:: tests timed-out'
145-
# help to identify the tests that were running at the time
146-
cylc scan --state=all --format=rich --color-blind
147-
# fail the workflow
148-
false
149-
150-
- name: Debug
151-
if: failure() && steps.test.outcome == 'failure'
152-
timeout-minutes: 1
153-
run: |
154-
find "$HOME/cylc-run" -name '*.err' -type f \
155-
-exec echo \; -exec echo '====== {} ======' \; -exec cat '{}' \;
156-
find "$HOME/cylc-run" -name '*.log' -type f \
157-
-exec echo \; -exec echo '====== {} ======' \; -exec cat '{}' \;
158-
find "${TMPDIR:-/tmp}/${USER}/cylctb-"* -type f \
159-
-exec echo \; -exec echo '====== {} ======' \; -exec cat '{}' \;
80+
- run: |
81+
for i in {1..120}; do
82+
cylc validate ./cylc/flow/etc/tutorial/cylc-forecasting-workflow
83+
done

0 commit comments

Comments
 (0)