Pillow/.github/workflows/test-docker.yml

121 lines
3.1 KiB
YAML
Raw Normal View History

2019-09-14 12:29:33 +03:00
name: Test Docker
on:
push:
2023-10-15 20:46:25 +03:00
branches:
- "**"
paths-ignore:
- ".github/workflows/docs.yml"
- ".github/workflows/wheels*"
- ".gitmodules"
- ".travis.yml"
- "docs/**"
- "wheels/**"
pull_request:
paths-ignore:
- ".github/workflows/docs.yml"
- ".github/workflows/wheels*"
- ".gitmodules"
- ".travis.yml"
- "docs/**"
- "wheels/**"
workflow_dispatch:
2019-09-14 12:29:33 +03:00
permissions:
contents: read
2022-10-31 11:36:14 +03:00
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
2019-09-14 12:29:33 +03:00
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
2019-09-14 12:29:33 +03:00
matrix:
docker: [
# Run slower jobs first to give them a headstart and reduce waiting time
2022-05-18 03:11:52 +03:00
ubuntu-22.04-jammy-arm64v8,
ubuntu-22.04-jammy-ppc64le,
ubuntu-22.04-jammy-s390x,
# Then run the remainder
2019-09-14 12:29:33 +03:00
alpine,
2020-11-25 01:02:34 +03:00
amazon-2-amd64,
2023-03-19 14:36:37 +03:00
amazon-2023-amd64,
2019-09-14 12:29:33 +03:00
arch,
centos-7-amd64,
2021-09-16 14:40:34 +03:00
centos-stream-8-amd64,
2022-02-08 15:35:01 +03:00
centos-stream-9-amd64,
2023-06-23 14:52:00 +03:00
debian-11-bullseye-amd64,
2023-06-27 09:36:22 +03:00
debian-12-bookworm-x86,
2023-06-23 14:52:00 +03:00
debian-12-bookworm-amd64,
2023-04-22 14:47:36 +03:00
fedora-38-amd64,
2023-11-12 18:20:01 +03:00
fedora-39-amd64,
2022-02-23 07:26:16 +03:00
gentoo,
2020-11-25 01:02:34 +03:00
ubuntu-20.04-focal-amd64,
2022-04-22 10:35:20 +03:00
ubuntu-22.04-jammy-amd64,
2019-09-14 12:29:33 +03:00
]
2021-10-15 17:30:05 +03:00
dockerTag: [main]
include:
2022-05-18 03:11:52 +03:00
- docker: "ubuntu-22.04-jammy-arm64v8"
qemu-arch: "aarch64"
2022-05-18 03:11:52 +03:00
- docker: "ubuntu-22.04-jammy-ppc64le"
qemu-arch: "ppc64le"
2022-05-18 03:11:52 +03:00
- docker: "ubuntu-22.04-jammy-s390x"
qemu-arch: "s390x"
2019-09-14 12:29:33 +03:00
name: ${{ matrix.docker }}
steps:
2023-09-05 00:04:29 +03:00
- uses: actions/checkout@v4
2019-09-14 12:29:33 +03:00
- name: Build system information
2021-01-06 14:42:31 +03:00
run: python3 .github/workflows/system-info.py
- name: Set up QEMU
if: "matrix.qemu-arch"
run: |
docker run --rm --privileged aptman/qus -s -- -p ${{ matrix.qemu-arch }}
2019-09-14 12:29:33 +03:00
- name: Docker pull
run: |
docker pull pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }}
- name: Docker build
run: |
# The Pillow user in the docker container is UID 1000
sudo chown -R 1000 $GITHUB_WORKSPACE
2020-01-24 14:36:49 +03:00
docker run --name pillow_container -v $GITHUB_WORKSPACE:/Pillow pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }}
2019-12-30 12:44:15 +03:00
sudo chown -R runner $GITHUB_WORKSPACE
- name: After success
run: |
PATH="$PATH:~/.local/bin"
2020-01-24 14:36:49 +03:00
docker start pillow_container
pil_path=`docker exec pillow_container /vpy3/bin/python -c 'import os, PIL;print(os.path.realpath(os.path.dirname(PIL.__file__)))'`
docker stop pillow_container
sudo mkdir -p $pil_path
sudo cp src/PIL/*.py $pil_path
.ci/after_success.sh
2019-12-30 12:44:15 +03:00
env:
2020-01-24 14:36:49 +03:00
MATRIX_DOCKER: ${{ matrix.docker }}
2019-12-30 12:44:15 +03:00
- name: Upload coverage
2022-05-07 15:50:30 +03:00
uses: codecov/codecov-action@v3
2019-12-30 12:44:15 +03:00
with:
flags: GHA_Docker
name: ${{ matrix.docker }}
gcov: true
success:
permissions:
contents: none
needs: build
runs-on: ubuntu-latest
name: Docker Test Successful
steps:
- name: Success
run: echo Docker Test Successful