Installing latest docker #297
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: ci | |
on: | |
push: | |
branches: | |
- '**' | |
tags: | |
- '!7**' | |
release: | |
types: | |
- published | |
jobs: | |
build-ubuntu: | |
runs-on: ubuntu-24.04 | |
steps: | |
- run: | | |
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done | |
# Add Docker's official GPG key: | |
sudo apt-get update | |
sudo apt-get install ca-certificates curl | |
sudo install -m 0755 -d /etc/apt/keyrings | |
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc | |
sudo chmod a+r /etc/apt/keyrings/docker.asc | |
# Add the repository to Apt sources: | |
echo \ | |
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ | |
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ | |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
sudo apt-get update | |
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin | |
sudo docker run hello-world | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Docker | |
uses: ./.github/actions/setup-docker | |
with: | |
docker-user: ${{ secrets.DOCKERHUB_USERNAME }} | |
docker-password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build Ubuntu Image | |
id: docker_build_ubuntu | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./Dockerfile.ubuntu | |
push: false | |
load: true | |
tags: im-ubuntu | |
cache-from: type=local,src=/tmp/.buildx-cache | |
cache-to: type=local,dest=/tmp/.buildx-cache | |
- name: Testing Ubuntu Image | |
run: | | |
docker run --rm im-ubuntu -list configure | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 500 /imgs/test.jpg /imgs/test-resize.jpg | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 500 /imgs/test.jpg webp:/imgs/test-jpg.webp | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 500 /imgs/test.jpg avif:/imgs/test-jpg.avif | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 100 /imgs/test.png /imgs/test-resize.png | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 100 /imgs/test.png webp:/imgs/test-png.webp | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 100 /imgs/test.png avif:/imgs/test-png.avif | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 100 /imgs/test.png jxl:/imgs/test-png.jxl | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu /imgs/test.pdf /imgs/test-pdf.png | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu /imgs/jpg-with-metadata.jpg /imgs/jpg-with-metadata.webp | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -coalesce /imgs/test.gif /imgs/test-gif.webp | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 200 /imgs/test.tiff /imgs/test-resize.tiff | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 200 /imgs/test.tiff webp:/imgs/test-tiff.webp | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 200 /imgs/test.tiff avif:/imgs/test-tiff.avif | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu -resize 200 /imgs/test.tiff jxl:/imgs/test-tiff.jxl | |
docker run --rm -v $(pwd)/test-images:/imgs im-ubuntu /imgs/test.jpg -antialias -font DejaVu-Sans -pointsize 20 -gravity Southeast -annotate +15+15 'TEST' /imgs/test-text.jpg | |
docker run --rm im-ubuntu -list configure | grep DELEGATES | grep "fontconfig freetype heic jbig jng jpeg jxl lcms lzma png ps tiff webp x xml zlib" | |
- name: Upload Test Results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ubuntu-tests | |
path: test-images | |
- name: Push Ubuntu image | |
id: docker_push_ubuntu | |
if: ${{ github.event_name == 'release' }} | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./Dockerfile.ubuntu | |
push: false | |
load: false | |
platforms: linux/amd64,linux/arm64 | |
tags: dpokidov/imagemagick:${{ github.event.release.tag_name }}-ubuntu,dpokidov/imagemagick:latest-ubuntu | |
cache-from: type=local,src=/tmp/.buildx-cache | |
cache-to: type=local,dest=/tmp/.buildx-cache |