Compare commits

..

No commits in common. "main" and "5.0.6" have entirely different histories.
main ... 5.0.6

9 changed files with 48 additions and 99 deletions

View File

@ -28,7 +28,7 @@ env:
jobs: jobs:
build: build:
name: Build image ${{ matrix.name }}:${{ matrix.tag }} name: Build image ${{ matrix.name }}:${{ matrix.tag }}
runs-on: ubuntu-latest runs-on: ubuntu-24.04
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -53,10 +53,10 @@ jobs:
run: | run: |
sudo apt-get install podman buildah sudo apt-get install podman buildah
- name: Set up Go 1.26 - name: Set up Go 1.22
uses: actions/setup-go@v6 uses: actions/setup-go@v6
with: with:
go-version: '1.26' go-version: '1.22'
cache: false # true (default) results in warnings since we don't use Go modules cache: false # true (default) results in warnings since we don't use Go modules
- name: Build ${{ matrix.name }} image - name: Build ${{ matrix.name }} image
@ -66,22 +66,25 @@ jobs:
- name: Tag image as latest - name: Tag image as latest
if: matrix.tag-as-latest && matrix.tag != 'latest' if: matrix.tag-as-latest && matrix.tag != 'latest'
env: run: |
SOURCE_IMAGE: ${{ matrix.name }}:${{ matrix.tag }} podman tag "${CONTAINER_REGISTRY}/${{ matrix.name }}:${{ matrix.tag }}" "${CONTAINER_REGISTRY}/${{ matrix.name }}:latest"
DEST_IMAGE: ${{ matrix.name }}:latest
run: >-
podman tag "${CONTAINER_REGISTRY}/${SOURCE_IMAGE}" "${CONTAINER_REGISTRY}/${DEST_IMAGE}"
- name: Publish container image ${{ env.CONTAINER_REGISTRY }}/${{ matrix.name }}:${{ matrix.tag }} - name: Publish container image ${{ env.CONTAINER_REGISTRY }}/${{ matrix.name }}:${{ matrix.tag }}
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
env: uses: redhat-actions/push-to-registry@v2
IMAGE: ${{ matrix.name }}:${{ matrix.tag }} with:
run: >- registry: ${{ env.CONTAINER_REGISTRY }}
podman manifest push --all "${IMAGE}" "${CONTAINER_REGISTRY}/${IMAGE}" --tls-verify=true --creds=${{ github.actor }}:${{ secrets.GITHUB_TOKEN }} image: ${{ matrix.name }}
tags: ${{ matrix.tag }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Publish container image ${{ env.CONTAINER_REGISTRY }}/${{ matrix.name }}:latest - name: Publish container image ${{ env.CONTAINER_REGISTRY }}/${{ matrix.name }}:latest
if: github.event_name != 'pull_request' && matrix.tag-as-latest && matrix.tag != 'latest' if: github.event_name != 'pull_request' && matrix.tag-as-latest && matrix.tag != 'latest'
env: uses: redhat-actions/push-to-registry@v2
IMAGE: ${{ matrix.name }}:latest with:
run: >- registry: ${{ env.CONTAINER_REGISTRY }}
podman manifest push --all "${IMAGE}" "${CONTAINER_REGISTRY}/${IMAGE}" --tls-verify=true --creds=${{ github.actor }}:${{ secrets.GITHUB_TOKEN }} image: ${{ matrix.name }}
tags: latest
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

View File

@ -31,28 +31,5 @@ jobs:
upload-codecov-push: false upload-codecov-push: false
upload-codecov-schedule: true upload-codecov-schedule: true
max-ansible-core: "2.17" max-ansible-core: "2.17"
# For some reason GitHub decided to bump Docker on the ubuntu-24.04 image,
# which is not compatible with podman and various other things.
pre-test-cmd-integration: |-
# See https://docs.docker.com/engine/install/ubuntu/.
# Add Docker's official GPG key:
sudo apt update
sudo apt 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:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt-get install -y --allow-downgrades docker-ce-cli=5:28.0.4-1~ubuntu.24.04~noble docker-ce=5:28.0.4-1~ubuntu.24.04~noble
secrets: secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -1,2 +0,0 @@
minor_changes:
- docker_compose_v2_pull - adds ``ignore_pull_failures`` parameter that passes ``--ignore-pull-failures`` to the ``docker compose pull`` call when set to ``true`` (https://github.com/ansible-collections/community.docker/pull/1248).

View File

@ -1 +0,0 @@
release_summary: Feature release.

View File

@ -7,7 +7,7 @@
namespace: community namespace: community
name: docker name: docker
version: 5.1.0 version: 5.0.6
readme: README.md readme: README.md
authors: authors:
- Ansible Docker Working Group - Ansible Docker Working Group

View File

@ -51,12 +51,6 @@ options:
type: bool type: bool
default: false default: false
version_added: 3.12.0 version_added: 3.12.0
ignore_pull_failures:
description:
- If set to V(true), will pull what it can and ignores images with pull failures.
type: bool
default: false
version_added: 5.1.0
include_deps: include_deps:
description: description:
- If set to V(true), also pull services that are declared as dependencies. - If set to V(true), also pull services that are declared as dependencies.
@ -138,7 +132,6 @@ class PullManager(BaseComposeManager):
self.policy: t.Literal["always", "missing"] = parameters["policy"] self.policy: t.Literal["always", "missing"] = parameters["policy"]
self.ignore_buildable: bool = parameters["ignore_buildable"] self.ignore_buildable: bool = parameters["ignore_buildable"]
self.ignore_pull_failures: bool = parameters["ignore_pull_failures"]
self.include_deps: bool = parameters["include_deps"] self.include_deps: bool = parameters["include_deps"]
self.services: list[str] = parameters["services"] or [] self.services: list[str] = parameters["services"] or []
@ -159,8 +152,6 @@ class PullManager(BaseComposeManager):
args.extend(["--policy", self.policy]) args.extend(["--policy", self.policy])
if self.ignore_buildable: if self.ignore_buildable:
args.append("--ignore-buildable") args.append("--ignore-buildable")
if self.ignore_pull_failures:
args.append("--ignore-pull-failures")
if self.include_deps: if self.include_deps:
args.append("--include-deps") args.append("--include-deps")
if dry_run: if dry_run:
@ -196,7 +187,6 @@ def main() -> None:
"default": "always", "default": "always",
}, },
"ignore_buildable": {"type": "bool", "default": False}, "ignore_buildable": {"type": "bool", "default": False},
"ignore_pull_failures": {"type": "bool", "default": False},
"include_deps": {"type": "bool", "default": False}, "include_deps": {"type": "bool", "default": False},
"services": {"type": "list", "elements": "str"}, "services": {"type": "list", "elements": "str"},
} }

View File

@ -9,32 +9,38 @@
- name: Install pre-reqs - name: Install pre-reqs
ansible.builtin.apt: ansible.builtin.apt:
name: '{{ docker_prereq_packages + ["python3-debian"] }}' name: '{{ docker_prereq_packages }}'
state: present state: present
update_cache: true update_cache: true
notify: cleanup docker notify: cleanup docker
- name: Add Docker repo on Ubuntu or Debian - when:
ansible.builtin.deb822_repository: - (ansible_facts.distribution == "Ubuntu" and (ansible_facts.distribution_major_version | int) >= 22) or
name: docker (ansible_facts.distribution == "Debian" and (ansible_facts.distribution_major_version | int) >= 12)
types: deb name: Add Docker repo on Ubuntu 22+ or Debian 12+
architectures: block:
- >- - name: Add gpg key
{{ 'arm64' if ansible_facts.architecture == 'aarch64' else 'amd64' }} ansible.builtin.get_url:
signed_by: "https://download.docker.com/linux/{{ ansible_facts.distribution | lower }}/gpg" url: "https://download.docker.com/linux/{{ ansible_facts.distribution | lower }}/gpg"
uris: dest: /etc/apt/keyrings/docker.asc
- https://download.docker.com/linux/{{ ansible_facts.distribution | lower }}
suites:
- "{{ ansible_facts.distribution_release }}"
components:
- stable
state: present
register: apt_repo
- name: Update apt cache - name: Add Docker repo
ansible.builtin.apt: ansible.builtin.apt_repository:
update_cache: true repo: deb [arch={{ 'arm64' if ansible_facts.architecture == 'aarch64' else 'amd64' }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/{{ ansible_facts.distribution | lower }} {{ ansible_facts.distribution_release }} stable
when: apt_repo is changed state: present
- when:
- (ansible_facts.distribution == "Ubuntu" and (ansible_facts.distribution_major_version | int) < 22) or
(ansible_facts.distribution == "Debian" and (ansible_facts.distribution_major_version | int) < 12)
name: Add Docker repo on Ubuntu 20 or before, or Debian 11 or before
block:
- name: Add gpg key
ansible.builtin.shell: curl -fsSL https://download.docker.com/linux/{{ ansible_facts.distribution | lower }}/gpg >key && apt-key add key # noqa: command-instead-of-module
- name: Add Docker repo
ansible.builtin.apt_repository:
repo: deb [arch={{ 'arm64' if ansible_facts.architecture == 'aarch64' else 'amd64' }}] https://download.docker.com/linux/{{ ansible_facts.distribution | lower }} {{ ansible_facts.distribution_release }} stable
state: present
- block: - block:
- name: Prevent service restart - name: Prevent service restart

View File

@ -70,26 +70,6 @@
state: touch state: touch
when: docker_skip_cleanup when: docker_skip_cleanup
- name: Retrieve more information (0/4)
ansible.builtin.command:
cmd: sh -c export
- name: Retrieve more information (1/4)
ansible.builtin.command:
cmd: docker version
- name: Retrieve more information (2/4)
ansible.builtin.command:
cmd: docker info
- name: Retrieve more information (3/4)
ansible.builtin.command:
cmd: docker context ls
- name: Retrieve more information (4/4)
ansible.builtin.command:
cmd: which docker
# Detect docker API version # Detect docker API version
- name: Check Docker API version - name: Check Docker API version
ansible.builtin.command: "docker version -f {% raw %}'{{(index .Server.Components 0).Details.ApiVersion}}'{% endraw %}" ansible.builtin.command: "docker version -f {% raw %}'{{(index .Server.Components 0).Details.ApiVersion}}'{% endraw %}"

View File

@ -63,8 +63,4 @@
{{ docker_cli_plugins_stdout.stdout | from_json | selectattr('Name', 'eq', 'compose') | map(attribute='Version') | first | default('0.0') | regex_replace('^v', '') }} {{ docker_cli_plugins_stdout.stdout | from_json | selectattr('Name', 'eq', 'compose') | map(attribute='Version') | first | default('0.0') | regex_replace('^v', '') }}
- ansible.builtin.debug: - ansible.builtin.debug:
msg: "Has Docker compose plugin: {{ docker_has_compose }}; Docker compose plugin version: {{ docker_compose_version }}" msg: "Has Docker compoes plugin: {{ docker_has_compose }}; Docker compose plugin version: {{ docker_compose_version }}"
- name: Retrieve more information
ansible.builtin.command:
cmd: docker version