---
# See the documentation for more information:
# https://packit.dev/docs/configuration/

# NOTE: The Packit copr_build tasks help to check if every commit builds on
# supported Fedora and CentOS Stream arches.
# They do not block the current Cirrus-based workflow.

downstream_package_name: skopeo
upstream_tag_template: v{version}

# These files get synced from upstream to downstream (Fedora / CentOS Stream) on every
# propose-downstream job. This is done so tests maintained upstream can be run
# downstream in Zuul CI and Bodhi.
# Ref: https://packit.dev/docs/configuration#files_to_sync
files_to_sync:
  - src: rpm/gating.yaml
    dest: gating.yaml
    delete: true
  - src: plans/
    dest: plans/
    delete: true
    mkpath: true
  - src: systemtest/tmt/
    dest: test/tmt/
    delete: true
    mkpath: true
  - src: .fmf/
    dest: .fmf/
    delete: true
  - .packit.yaml

packages:
  skopeo-fedora:
    pkg_tool: fedpkg
    specfile_path: rpm/skopeo.spec
  skopeo-centos:
    pkg_tool: centpkg
    specfile_path: rpm/skopeo.spec
  skopeo-eln:
    specfile_path: rpm/skopeo.spec

srpm_build_deps:
  - make

jobs:
  - job: copr_build
    trigger: pull_request
    packages: [skopeo-fedora]
    notifications: &copr_build_failure_notification
      failure_comment:
        message: "Ephemeral COPR build failed. @containers/packit-build please check."
    targets: &fedora_copr_targets
      # This should generally be fedora-all-*, but we exclude Fedora 40 because it does not have Go 1.23.
      - fedora-latest-stable-x86_64
      - fedora-latest-stable-aarch64
      - fedora-development-x86_64
      - fedora-development-aarch64
    enable_net: true

  - job: copr_build
    trigger: pull_request
    packages: [skopeo-eln]
    notifications: *copr_build_failure_notification
    targets:
      fedora-eln-x86_64:
        additional_repos:
          - "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/"
      fedora-eln-aarch64:
        additional_repos:
          - "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/aarch64/"
    enable_net: true

  - job: copr_build
    trigger: pull_request
    packages: [skopeo-centos]
    notifications: *copr_build_failure_notification
    targets: &centos_copr_targets
      - centos-stream-9-x86_64
      - centos-stream-9-aarch64
      - centos-stream-10-x86_64
      - centos-stream-10-aarch64
    enable_net: true

  # Run on commit to main branch
  - job: copr_build
    trigger: commit
    packages: [skopeo-fedora]
    notifications:
      failure_comment:
        message: "podman-next COPR build failed. @containers/packit-build please check."
    branch: main
    owner: rhcontainerbot
    project: podman-next
    enable_net: true

  # Tests on Fedora for main branch
  - job: tests
    trigger: pull_request
    packages: [skopeo-fedora]
    notifications: &test_failure_notification
      failure_comment:
        message: "Tests failed. @containers/packit-build please check."
    targets: *fedora_copr_targets
    tf_extra_params:
      environments:
        - artifacts:
          - type: repository-file
            id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/fedora-$releasever/rhcontainerbot-podman-next-fedora-$releasever.repo

  # Tests on CentOS Stream for main branch
  - job: tests
    trigger: pull_request
    packages: [skopeo-centos]
    notifications: *test_failure_notification
    targets: *centos_copr_targets
    tf_extra_params:
      environments:
        - artifacts:
          - type: repository-file
            id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/centos-stream-$releasever/rhcontainerbot-podman-next-centos-stream-$releasever.repo

  # Sync to Fedora
  - job: propose_downstream
    trigger: release
    packages: [skopeo-fedora]
    update_release: false
    dist_git_branches: &fedora_targets
      - fedora-all

  # Sync to CentOS Stream
  - job: propose_downstream
    trigger: release
    packages: [skopeo-centos]
    update_release: false
    dist_git_branches:
      - c10s

  # Fedora Koji build
  - job: koji_build
    trigger: commit
    packages: [skopeo-fedora]
    sidetag_group: podman-releases
    # Dependents are not rpm dependencies, but the package whose bodhi update
    # should include this package.
    # Ref: https://packit.dev/docs/fedora-releases-guide/releasing-multiple-packages
    dependents:
      - podman
    dist_git_branches: *fedora_targets