From 0b35598ebd74f567764b78e9de80424e1fcf2a10 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 8 Feb 2024 03:51:45 -0500 Subject: [PATCH] Test Alpine Linux on CI With only one version of Python, currently 3.11. --- .github/workflows/alpine-test.yml | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/alpine-test.yml diff --git a/.github/workflows/alpine-test.yml b/.github/workflows/alpine-test.yml new file mode 100644 index 000000000..991a8026b --- /dev/null +++ b/.github/workflows/alpine-test.yml @@ -0,0 +1,56 @@ +name: test-alpine + +on: [push, pull_request, workflow_dispatch] + +jobs: + build: + runs-on: ubuntu-latest + + container: + image: alpine:latest + + defaults: + run: + shell: sh -exo pipefail {0} + + steps: + - name: Install Alpine Linux packages + run: | + apk add git git-daemon python3 py3-pip + + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Prepare this repo for tests + run: | + ./init-tests-after-clone.sh + + - name: Set git user identity and command aliases for the tests + run: | + git config --global user.email "travis@ci.com" + git config --global user.name "Travis Runner" + # If we rewrite the user's config by accident, we will mess it up + # and cause subsequent tests to fail + cat test/fixtures/.gitconfig >> ~/.gitconfig + + - name: Update PyPA packages + run: | + # Get the latest pip, wheel, and prior to Python 3.12, setuptools. + python -m pip install -U pip $(pip freeze --all | grep -ow ^setuptools) wheel + + - name: Install project and test dependencies + run: | + pip install ".[test]" + + - name: Show version and platform information + run: | + uname -a + command -v git python + git version + python --version + python -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' + + - name: Test with pytest + run: | + pytest --color=yes -p no:sugar --instafail -vv