Skip to content

Commit 239194e

Browse files
committed
chore: run bash3.0 ci in async
1 parent 1f09ad9 commit 239194e

File tree

1 file changed

+49
-8
lines changed

1 file changed

+49
-8
lines changed

.github/workflows/bash30-tests.yml

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,25 @@ on:
77
- main
88

99
jobs:
10-
bash3:
11-
name: "Bash 3.0 Compatibility Tests"
10+
bash3-setup:
11+
name: "Setup - Install Bash 3.0"
1212
runs-on: ubuntu-latest
13-
timeout-minutes: 15
13+
timeout-minutes: 10
1414
steps:
1515
- name: Checkout
1616
uses: actions/checkout@v4
1717
with:
1818
fetch-depth: 1
1919

20+
- name: Cache Bash 3.0 Binary
21+
uses: actions/cache@v4
22+
id: cache-bash3
23+
with:
24+
path: /opt/bash-3.0
25+
key: bash-3.0.22-${{ runner.os }}
26+
2027
- name: Install Bash 3.0
28+
if: steps.cache-bash3.outputs.cache-hit != 'true'
2129
run: |
2230
# Update package lists
2331
sudo apt-get update
@@ -46,17 +54,50 @@ jobs:
4654
# Verify installation
4755
/usr/local/bin/bash3 --version
4856
49-
- name: Run Tests with Bash 3.0
57+
bash3-tests:
58+
name: "Bash 3.0 Tests - ${{ matrix.test_mode }}"
59+
runs-on: ubuntu-latest
60+
timeout-minutes: 15
61+
needs: bash3-setup
62+
strategy:
63+
matrix:
64+
test_mode:
65+
- standard
66+
- simple
67+
- parallel
68+
fail-fast: false
69+
steps:
70+
- name: Checkout
71+
uses: actions/checkout@v4
72+
with:
73+
fetch-depth: 1
74+
75+
- name: Restore Bash 3.0 from Cache
76+
uses: actions/cache@v4
77+
with:
78+
path: /opt/bash-3.0
79+
key: bash-3.0.22-${{ runner.os }}
80+
81+
- name: Create Bash 3.0 Symlink
82+
run: sudo ln -sf /opt/bash-3.0/bin/bash /usr/local/bin/bash3
83+
84+
- name: Run Tests - Standard Mode
85+
if: matrix.test_mode == 'standard'
5086
run: |
51-
# Use bash 3.0 explicitly
5287
/usr/local/bin/bash3 ./bashunit tests/unit/ -q
5388
env:
5489
BASH: /usr/local/bin/bash3
5590

56-
- name: Run tests with different output modes (Bash 3.0)
91+
- name: Run Tests - Simple Output Mode
92+
if: matrix.test_mode == 'simple'
5793
run: |
58-
# Test with simple output
5994
/usr/local/bin/bash3 ./bashunit --simple tests/unit/ -q
95+
env:
96+
BASH: /usr/local/bin/bash3
6097

61-
# Test with parallel execution
98+
- name: Run Tests - Parallel Mode
99+
if: matrix.test_mode == 'parallel'
100+
run: |
62101
/usr/local/bin/bash3 ./bashunit --parallel tests/unit/ -q
102+
env:
103+
BASH: /usr/local/bin/bash3

0 commit comments

Comments
 (0)