diff --git a/.github/mergify.yml b/.github/mergify.yml index 585c4fe0..869e0182 100644 --- a/.github/mergify.yml +++ b/.github/mergify.yml @@ -3,7 +3,7 @@ pull_request_rules: conditions: - "#approved-reviews-by>=1" - label=automerge - - status-success=Travis CI - Pull Request + - status-success=Build successful actions: merge: method: merge diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..0f3155ba --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,67 @@ + +name: Docker images + +on: [push, pull_request] + +jobs: + build: + name: ${{ matrix.target }} + ${{ matrix.image }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + target: [ "stable", "latest" ] + image: + - "alpine" + - "amazon-1-amd64" + - "amazon-2-amd64" + - "arch" + - "centos-6-amd64" + - "centos-7-amd64" + - "centos-8-amd64" + - "debian-10-buster-x86" + - "fedora-32-amd64" + - "fedora-33-amd64" + - "ubuntu-18.04-bionic-amd64" + - "ubuntu-20.04-focal-amd64" + + steps: + - uses: actions/checkout@v2 + with: + submodules: true + + - name: Prepare build + run: | + sudo apt-get update && sudo apt-get install -qyy debootstrap + if [ "${{ matrix.target }}" = "latest" ]; then + git submodule update --remote Pillow + (cd Pillow && git checkout master) + fi + sudo chown -R 1000 $(pwd) + + - name: Build image + run: | + cd "${{ matrix.image }}" && sudo chmod a+w . && make update + if [[ -n "$DOCKER_USERNAME" ]]; then + echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin + fi + make build BRANCH=master && make test BRANCH=master + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + + - name: Push image + if: "github.event_name == 'push' && github.ref == 'refs/heads/master' && matrix.target == 'stable'" + run: make push-${{ matrix.image }} BRANCH=master + + - name: Post build + if: always() + run: sudo chown -R $(id -u) $(pwd) + + success: + needs: build + runs-on: ubuntu-latest + name: Build successful + steps: + - name: Success + run: echo Build Successful diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 46701137..00000000 --- a/.travis.yml +++ /dev/null @@ -1,78 +0,0 @@ -language: python -notifications: - irc: chat.freenote.net#pil -dist: xenial -services: -- docker -matrix: - fast_finish: true - include: - - name: "stable + alpine" - env: DOCKER="alpine" - - name: "stable + amazon-1-amd64" - env: DOCKER="amazon-1-amd64" - - name: "stable + amazon-2-amd64" - env: DOCKER="amazon-2-amd64" - - name: "stable + arch" - env: DOCKER="arch" - - name: "stable + centos-6-amd64" - env: DOCKER="centos-6-amd64" - - name: "stable + centos-7-amd64" - env: DOCKER="centos-7-amd64" - - name: "stable + centos-8-amd64" - env: DOCKER="centos-8-amd64" - - name: "stable + debian-10-buster-x86" - env: DOCKER="debian-10-buster-x86" - - name: "stable + fedora-32-amd64" - env: DOCKER="fedora-32-amd64" - - name: "stable + fedora-33-amd64" - env: DOCKER="fedora-33-amd64" - - name: "stable + ubuntu-18.04-bionic-amd64" - env: DOCKER="ubuntu-18.04-bionic-amd64" - - name: "stable + ubuntu-20.04-focal-amd64" - env: DOCKER="ubuntu-20.04-focal-amd64" - - - name: "latest + alpine" - env: DOCKER="alpine" LATEST="true" - - name: "latest + amazon-1-amd64" - env: DOCKER="amazon-1-amd64" LATEST="true" - - name: "latest + amazon-2-amd64" - env: DOCKER="amazon-2-amd64" LATEST="true" - - name: "latest + arch" - env: DOCKER="arch" LATEST="true" - - name: "latest + centos-6-amd64" - env: DOCKER="centos-6-amd64" LATEST="true" - - name: "latest + centos-7-amd64" - env: DOCKER="centos-7-amd64" LATEST="true" - - name: "latest + centos-8-amd64" - env: DOCKER="centos-8-amd64" LATEST="true" - - name: "latest + debian-10-buster-x86" - env: DOCKER="debian-10-buster-x86" LATEST="true" - - name: "latest + fedora-32-amd64" - env: DOCKER="fedora-32-amd64" LATEST="true" - - name: "latest + fedora-33-amd64" - env: DOCKER="fedora-33-amd64" LATEST="true" - - name: "latest + ubuntu-18.04-bionic-amd64" - env: DOCKER="ubuntu-18.04-bionic-amd64" LATEST="true" - - name: "latest + ubuntu-20.04-focal-amd64" - env: DOCKER="ubuntu-20.04-focal-amd64" LATEST="true" - -install: -- sudo apt-get update && sudo apt-get install -qyy debootstrap -- sudo chown -R 1000 $TRAVIS_BUILD_DIR -- | - if [[ -n "$LATEST" ]]; then - git submodule update --remote Pillow - (cd Pillow && git checkout master) - fi -- cd "$DOCKER" && make update -script: -- if [[ -n "$DOCKER_USERNAME" ]]; then echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin - ; fi -- make build BRANCH=master && make test BRANCH=master -after_success: -- if [[ "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" && -z "$LATEST" ]]; then make push BRANCH=master; fi -env: - global: - - secure: W+ko5Y7TKxxEnJxji3NmnkoT/lRPCA/U6+ahBBQUXRhgbf7A6mXVaGgyBrerY5FZF//XAPYdbOIrVHnkhtUSB2yC//kzHsxWKMU2Rax7b228yfYaeGPtIFJ4MTSszqhadgSFk6zyByMNkz6XoufuY5RVpfp/VMxVR6YcOGmjOUhom92nZ9T2NfVP3HF2RLOn2O5N5+IhqJcGOced5FMIOPkrQcXBiikN2aCUg0KdUrcqRaFiPJINQn/FEWxQN717oAlRY9TE8DaziBIEB/z6nZ7CXLGVitc2jLjd/4fW0KGBB68XIHZ2S3rQ7kkr3y/LhptgZiJiSv+R/rxDC6NrfKwmG16xtDQVbnab9/iskdJax9fuQBlpLcyo+UuXbRs8pTNduJGV46ooOAOfF+2KvjTwLvYk9K6ahpt4W9vjs/ro1fF2gyG5haK/2MAZxT1xkT2WlRZwpDhMgE+ZBznGDMma6fbOvoWGhk7bfKUxVisb+CYuySfvhbdkYem+kMdUfcRb8Qo6750aK/fQdh8Xg9t+yCE4jzdzBH6RbTTmvNGOGFHhShCWmLVXU5LiYNLpxWCahuD4OYMSkq6WdobPKNZxl0xry2gxWLhIAFxoZMqdb2MWjdbf/0BSP0Fe2AliLfgZIXKq6t4l69pNJF2y2WieI6jVfeVotXCS2urVT+c= - - secure: M4xMLq9pWqh89A5S6JkIy9gInAE3PWdIX5Jsf73iM39gAncEDW6h/1iiYr0EPzc0qq3Cc+bWVJ+u+G6dwojATis3ApERqVVlB8Rwk88Xa7IDueKDbjCL7cbLW0tZ9j0Zxdqd5sUiOfpAWQp6Cy3hKYJh9+ScyilxHrG/qr8AH+RAmL+k/BadceftLalCA6GPg4kunukZrEe72c7ITsy75mNyEQtrm2YhDHd/M3sTb+Dl6dScvlZNPrl1fcpDIBvh4eL6XyEC0Of/M7TllYRUW2naBnQJ6ekeIAs6Kj7C7jqfxros+LpeVnXjqyp5SoyJBNB2945GjEQQMm0+mFRtJIRkwPUchhpkJZM+vPRE5Q8xSoHh7LQz2Bmv6KPqWdgwXRF0WQ0ke7Ta2D9ZQ2gAttaoh55etpfsBqC+B2Q1x/bWzDy4U84iDKhni6axbdbCjYJWjTsQgk0qdFt/MtrvB8nJsl3VhEJWZ5ibxxtZRA8NCpL5tdQq2b0s1/AQf9iOSgrfxq+xSpsD7o9BAfPolQyKccZ/cKGkMaUr+4z7xY+Gtr71arg/FtHjwSv7dWukMLbLyPnqcRt1C6mDATwMKkZNEMMYtL8xq0TX1iNYBmONoQCoI8eAKWlNNO8nj/1nLTALanAlz+XTWt1wjfe3g/htjA9LSVrkz0s53wdjmLw= diff --git a/Makefile b/Makefile index 21b27c79..d36cc202 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ TARGETS = \ centos-6-amd64 \ centos-7-amd64 \ centos-8-amd64 \ - debian-10-buster-\86 \ + debian-10-buster-x86 \ fedora-32-amd64 \ fedora-33-amd64 \ ubuntu-18.04-bionic-amd64 \ diff --git a/Makefile.sub b/Makefile.sub index 37b15f49..99a63ff7 100644 --- a/Makefile.sub +++ b/Makefile.sub @@ -2,7 +2,7 @@ .PHONY: update build test push clean shell WD = $(shell pwd) -USERNAME := $(shell docker info | grep Username | cut -d ' ' -f 2) +USERNAME := $(shell docker info | grep Username | xargs | cut -d ' ' -f 2) TARGET := $(notdir $(WD)) ROOT := $(abspath $(WD)/../Pillow) IMAGENAME := $(if $(USERNAME), $(USERNAME)/$(TARGET), $(TARGET)) diff --git a/README.md b/README.md index a9d3dfed..0028fad2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Docker Images for the Pillow Test Infrastructure -[![Build Status](https://travis-ci.com/python-pillow/docker-images.svg?branch=master)](https://travis-ci.com/github/python-pillow/docker-images) +[![Build Status](https://github.com/python-pillow/docker-images/workflows/Docker%20Images/badge.svg)](https://github.com/python-pillow/docker-images/actions?query=workflow%3A"Docker+Images") ## Getting Started