Merge pull request #107 from codecrafters-io/add-secondary-shells #757
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
name: Test | |
on: push | |
jobs: | |
test: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.23.x | |
- name: setup-env | |
run: | | |
sudo apt remove bpfcc-tools | |
bash --version | |
uname -a | |
compgen -ac | sort | grep '^ex' | |
- run: make tests_excluding_ash | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.23.x | |
- uses: dominikh/[email protected] | |
with: | |
version: "2024.1.1" | |
install-go: false | |
test-all-shells: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Alpine | |
uses: jirutka/setup-alpine@v1 | |
with: | |
branch: latest-stable | |
- name: Setup Alpine dependencies | |
run: | | |
cat /etc/alpine-release | |
apk add git go make bash dash zsh binutils-gold python3 | |
shell: alpine.sh --root {0} | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup git config | |
run: | | |
git config --global --add safe.directory /home/runner/work/shell-tester/shell-tester | |
# repo is owned by user and we intend to execute as root | |
shell: alpine.sh --root {0} | |
- name: Run tests against all shells on alpine | |
run: | | |
make test_ash | |
make test_bash | |
make test_dash | |
shell: alpine.sh --root {0} | |
- name: setup-ubuntu-env | |
run: | | |
sudo apt install zsh | |
sudo apt remove bpfcc-tools | |
zsh --version | |
- name: Run tests against all shells on alpine | |
run: | | |
sudo make test_zsh | |
shell: bash | |
test-alpine: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Alpine | |
uses: jirutka/setup-alpine@v1 | |
with: | |
branch: latest-stable | |
- name: Setup Alpine dependencies | |
run: | | |
cat /etc/alpine-release | |
apk add git go make bash dash zsh binutils-gold python3 | |
shell: alpine.sh --root {0} | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup git config | |
run: | | |
git config --global --add safe.directory /home/runner/work/shell-tester/shell-tester | |
# repo is owned by user and we intend to execute as root | |
shell: alpine.sh --root {0} | |
- name: Run tests against bash & ash on alpine | |
run: | | |
make test | |
shell: alpine.sh --root {0} | |
test-flakiness: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.23.x | |
- name: setup-env | |
run: | | |
sudo apt remove bpfcc-tools | |
bash --version | |
uname -a | |
compgen -ac | sort | grep '^ex' | |
- run: TEST_TARGET=test_bash RUNS=25 make test_flakiness |