Skip to content

Test running tests on WSL #549

Test running tests on WSL

Test running tests on WSL #549

Workflow file for this run

---
name: Tests
on: # yamllint disable-line rule:truthy
- push
- pull_request
- workflow_dispatch
env:
SC_VER: "0.10.0"
ESH_VER: "0.3.2"
jobs:
Tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
# - ubuntu-20.04
# - ubuntu-24.04
# - macos-13
# - macos-15
- windows-2022
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: Vampire/setup-wsl@v4
if: ${{ runner.os == 'Windows' }}
- name: Install dependencies on Linux
if: ${{ runner.os == 'Linux' }}
run: |
sudo apt-get update
sudo apt-get install -y expect
if [ "${{ matrix.os }}" != "ubuntu-20.04" ]; then
sudo apt-get install -y j2cli
fi
- name: Install dependencies on macOS
if: ${{ runner.os == 'macOS' }}
run: |
command -v expect || brew install expect
- name: Install dependencies on Windows (WSL)
if: ${{ runner.os == 'Windows' }}
shell: wsl-bash {0}
run: |
apt-get update
apt-get install --no-install-recommends -y curl expect git j2cli python3-pip
- name: Prepare tools directory
run: |
mkdir "${{ runner.temp }}/tools"
echo "${{ runner.temp }}/tools" >> "${{ github.path }}"
- name: Install shellcheck
run: |
if [ "${{ runner.os }}" = "macOS" ]; then
OS=darwin
else
OS=linux
fi
if [ "${{ runner.arch }}" = "ARM64" ]; then
ARCH=aarch64
else
ARCH=x86_64
fi
cd "${{ runner.temp }}"
BASE_URL="https://github.com/koalaman/shellcheck/releases/download"
SC="v$SC_VER/shellcheck-v$SC_VER.$OS.$ARCH.tar.xz"
curl -L "$BASE_URL/$SC" | tar Jx shellcheck-v$SC_VER/shellcheck
mv shellcheck-v$SC_VER/shellcheck tools
- name: Install esh
run: |
cd "${{ runner.temp }}/tools"
BASE_URL="https://github.com/jirutka/esh/raw/refs/tags"
curl -L -o esh "$BASE_URL/v$ESH_VER/esh"
chmod +x esh
- name: Add old yadm versions # to test upgrades
run: |
for version in 1.12.0 2.5.0; do
git fetch origin $version:refs/tags/$version
git cat-file blob $version:yadm > "${{ runner.temp }}/tools/yadm-$version"
chmod +x "${{ runner.temp }}/tools/yadm-$version"
done
- name: Set up Python 3.11
if: ${{ runner.os == 'macOS' || matrix.os == 'ubuntu-20.04' }}
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install dependencies and run tests
if: ${{ runner.os != 'Windows' }}
run: |
git config --global user.email [email protected]
git config --global user.name "Yadm Test"
python3 -m pip install --upgrade pip
python3 -m pip install -r test/requirements.txt
pytest -v --color=yes --basetemp="${{ runner.temp }}/pytest"
- name: Install dependencies and run tests
if: ${{ runner.os == 'Windows' }}
shell: wsl-bash {0}
run: |
env
git config --global user.email [email protected]
git config --global user.name "Yadm Test"
python3 -m pip install --upgrade pip
python3 -m pip install -r test/requirements.txt
pytest -v --color=yes