diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index ae2c48c..d3bf727 100644 --- a/.gitignore +++ b/.gitignore @@ -90,648 +90,24 @@ /buildah-02f54e4.tar.gz /buildah-0a7389c.tar.gz /buildah-87239ae.tar.gz -/buildah-7341758.tar.gz -/buildah-0ae8b51.tar.gz -/buildah-74e0b6f.tar.gz -/buildah-9add3c8.tar.gz -/buildah-fb2b2bd.tar.gz -/buildah-dac7819.tar.gz -/buildah-d7e0993.tar.gz -/buildah-18309de.tar.gz -/buildah-c9cb148.tar.gz -/buildah-2ac987a.tar.gz -/buildah-25d89b4.tar.gz -/buildah-d5a3c52.tar.gz -/buildah-4126176.tar.gz -/buildah-93d8b9f.tar.gz -/buildah-6e00183.tar.gz -/buildah-2b582d3.tar.gz -/buildah-b68a8e1.tar.gz -/buildah-9c65e56.tar.gz -/buildah-01f9ae2.tar.gz -/buildah-5cca1d6.tar.gz -/buildah-9c1d273.tar.gz -/buildah-1e1dc14.tar.gz -/buildah-dd0f4f1.tar.gz -/buildah-90ea890.tar.gz -/buildah-de7f480.tar.gz -/buildah-96c68db.tar.gz -/buildah-dd3dff5.tar.gz -/buildah-4674656.tar.gz -/buildah-eebbba2.tar.gz -/buildah-e55a9f3.tar.gz -/buildah-579f1d5.tar.gz -/buildah-8f05aa6.tar.gz -/buildah-bb710f3.tar.gz -/buildah-a4200ae.tar.gz -/buildah-48b44e5.tar.gz -/buildah-169a923.tar.gz -/buildah-1ef527c.tar.gz -/buildah-5d22f3c.tar.gz -/buildah-f6a0258.tar.gz -/buildah-fa86533.tar.gz -/buildah-fe7e09c.tar.gz -/buildah-d7e530e.tar.gz -/buildah-66ff1dd.tar.gz -/buildah-0f114e9.tar.gz +/buildah-608fa84.tar.gz +/buildah-e94b4f9.tar.gz +/buildah-3ec6a6b.tar.gz /buildah-5f95bd9.tar.gz -/buildah-7a85ca7.tar.gz -/buildah-9b9ed1d.tar.gz -/buildah-4bcddb7.tar.gz -/buildah-f1cec50.tar.gz -/buildah-e702872.tar.gz -/buildah-03f6247.tar.gz -/buildah-973bb88.tar.gz -/buildah-ad24f28.tar.gz -/buildah-50539b5.tar.gz -/buildah-310363c.tar.gz -/buildah-711f9ea.tar.gz -/buildah-e4c4d46.tar.gz -/buildah-40d4d59.tar.gz -/buildah-80fcb24.tar.gz -/buildah-146a0fc.tar.gz -/buildah-1b02a7e.tar.gz -/buildah-db6e7bb.tar.gz /buildah-873f001.tar.gz -/buildah-8c3d8b1.tar.gz -/buildah-6c1a4cc.tar.gz -/buildah-95a5089.tar.gz -/buildah-8b1d11f.tar.gz -/buildah-11dd219.tar.gz -/buildah-3afba37.tar.gz -/buildah-0a8ec97.tar.gz -/buildah-984ea9b.tar.gz -/buildah-36605c2.tar.gz -/buildah-3ba8822.tar.gz -/buildah-3b497ff.tar.gz -/buildah-c691d09.tar.gz -/buildah-a986f34.tar.gz -/buildah-1ba9201.tar.gz -/buildah-9d6da3a.tar.gz -/buildah-be0c8d2.tar.gz -/buildah-c6ae5c5.tar.gz -/buildah-d1c75ea.tar.gz -/buildah-03fae01.tar.gz -/buildah-3d74031.tar.gz -/buildah-c933fe4.tar.gz -/buildah-a9bd025.tar.gz -/buildah-13d9142.tar.gz -/buildah-9e1967a.tar.gz -/buildah-ac66d78.tar.gz -/buildah-29a6c81.tar.gz -/buildah-25b7c11.tar.gz -/buildah-610eb7a.tar.gz -/buildah-021d607.tar.gz -/buildah-316bd0a.tar.gz -/buildah-d43787b.tar.gz -/buildah-fcc12bd.tar.gz -/buildah-d8fe400.tar.gz -/buildah-e879079.tar.gz -/buildah-135542e.tar.gz -/buildah-2f0179f.tar.gz -/buildah-b466cbd.tar.gz -/buildah-bdbedfd.tar.gz -/buildah-ddbd805.tar.gz -/buildah-0e30da6.tar.gz -/buildah-78fb869.tar.gz -/buildah-59da11d.tar.gz -/buildah-e9184ea.tar.gz -/buildah-c654b18.tar.gz -/buildah-ab8678a.tar.gz -/buildah-74a3195.tar.gz -/buildah-7ae362b.tar.gz -/buildah-4c6b09c.tar.gz -/buildah-c0633e3.tar.gz -/buildah-63808f9.tar.gz -/buildah-3bf8547.tar.gz -/buildah-7793c51.tar.gz -/buildah-bcc5e51.tar.gz -/buildah-bc9c276.tar.gz -/buildah-00f5164.tar.gz -/buildah-4e1ca7c.tar.gz -/buildah-8e48a65.tar.gz -/buildah-ed77a92.tar.gz -/buildah-fa7f030.tar.gz -/buildah-2a962f1.tar.gz -/buildah-53be3d3.tar.gz -/buildah-3104ddf.tar.gz -/buildah-7016ce6.tar.gz -/buildah-a086ec8.tar.gz -/buildah-aa06a77.tar.gz -/buildah-e0306bb.tar.gz -/buildah-ad4f235.tar.gz -/buildah-2da8755.tar.gz -/buildah-d172dd9.tar.gz -/buildah-4ae0a69.tar.gz -/buildah-78dcf2f.tar.gz -/buildah-dcbf193.tar.gz -/buildah-2191ba6.tar.gz -/buildah-dc7b50c.tar.gz -/buildah-77fa9dd.tar.gz -/buildah-0b84b23.tar.gz -/buildah-2c4f388.tar.gz -/buildah-c22957b.tar.gz -/buildah-07aaf5e.tar.gz -/buildah-1d11851.tar.gz -/buildah-e160a63.tar.gz -/buildah-5d723ff.tar.gz -/buildah-d419737.tar.gz -/buildah-2249ba3.tar.gz -/buildah-bb5cbf1.tar.gz -/buildah-16e3010.tar.gz -/buildah-b33b87b.tar.gz -/buildah-be51b9b.tar.gz -/buildah-8da4cb4.tar.gz -/buildah-4ae0e14.tar.gz -/buildah-5da3c8c.tar.gz -/buildah-d7dec37.tar.gz +/buildah-4aa16cf.tar.gz +/buildah-e23314b.tar.gz +/buildah-af8fd4a.tar.gz +/buildah-00eb895.tar.gz +/buildah-e5e0547.tar.gz /buildah-2110f05.tar.gz -/buildah-555b5a5.tar.gz -/buildah-6bd0551.tar.gz -/buildah-73401a4.tar.gz -/buildah-6b214d2.tar.gz -/buildah-a74bdd3.tar.gz -/buildah-4ccb343.tar.gz -/buildah-5bab9b0.tar.gz -/buildah-b7a0ed0.tar.gz -/buildah-677b771.tar.gz -/buildah-c00f548.tar.gz -/buildah-4d017d6.tar.gz -/buildah-3117f5e.tar.gz -/buildah-ac5031d.tar.gz -/buildah-1de958d.tar.gz -/buildah-232f7c6.tar.gz -/buildah-bafcf88.tar.gz -/buildah-03aa807.tar.gz -/buildah-f4cfe9c.tar.gz -/buildah-95cb061.tar.gz -/buildah-f892eb6.tar.gz -/buildah-c953216.tar.gz -/buildah-60c0088.tar.gz -/buildah-60d5480.tar.gz -/buildah-0dfb6f5.tar.gz -/buildah-7180312.tar.gz -/buildah-96a136e.tar.gz -/buildah-2df08f0.tar.gz -/buildah-a99139c.tar.gz -/buildah-3f5436f.tar.gz -/buildah-5c98d3c.tar.gz -/buildah-d88c26b.tar.gz -/buildah-1ce1130.tar.gz -/buildah-ab0286f.tar.gz -/buildah-36dcedb.tar.gz -/buildah-ebf6f51.tar.gz -/buildah-c2c52ba.tar.gz -/buildah-51415ec.tar.gz -/buildah-c1a2d4f.tar.gz -/buildah-b288b7a.tar.gz -/buildah-fa68ed6.tar.gz -/buildah-3ad937b.tar.gz -/buildah-5a1c733.tar.gz -/buildah-376e52e.tar.gz -/buildah-ff72568.tar.gz -/buildah-6b5f8ba.tar.gz -/buildah-689f8ed.tar.gz -/buildah-5671417.tar.gz -/buildah-ecf5b72.tar.gz -/buildah-e930951.tar.gz -/buildah-57db70c.tar.gz -/buildah-1a1a728.tar.gz -/buildah-15773bd.tar.gz -/buildah-b643073.tar.gz -/buildah-cc80ccc.tar.gz -/buildah-34f1ae6.tar.gz -/buildah-4da1d5d.tar.gz -/buildah-9f2a682.tar.gz -/buildah-3f6ad0f.tar.gz -/buildah-f54c965.tar.gz -/buildah-9bf6b5e.tar.gz -/buildah-20a33e0.tar.gz -/buildah-9cac447.tar.gz -/buildah-4ce6fba.tar.gz -/buildah-10b0e7a.tar.gz -/buildah-e9969bc.tar.gz -/buildah-6abc01c.tar.gz -/buildah-d2c1fd8.tar.gz -/buildah-04150e0.tar.gz -/buildah-c3b1ec6.tar.gz -/buildah-61e32a5.tar.gz -/buildah-a32fc96.tar.gz -/buildah-d3d9cec.tar.gz -/buildah-fc06a4d.tar.gz -/buildah-bf04bf1.tar.gz -/buildah-cf933c8.tar.gz -/buildah-e2c33f3.tar.gz -/buildah-c771c56.tar.gz -/buildah-96f9993.tar.gz -/buildah-e400691.tar.gz -/buildah-f50b55d.tar.gz -/buildah-b298906.tar.gz -/buildah-797e618.tar.gz -/buildah-7a7e1f0.tar.gz -/buildah-13330a4.tar.gz -/buildah-68b2aa5.tar.gz -/buildah-d6f11ba.tar.gz -/buildah-389d49b.tar.gz -/buildah-0f7148b.tar.gz -/buildah-120c37f.tar.gz -/buildah-1d3db17.tar.gz -/buildah-049fdf4.tar.gz -/buildah-fa4eec7.tar.gz -/buildah-cddb66e.tar.gz -/buildah-691c394.tar.gz -/buildah-c2dc46a.tar.gz -/buildah-66701d4.tar.gz -/buildah-b023cde.tar.gz -/buildah-751f92e.tar.gz -/buildah-999fa43.tar.gz -/buildah-eaad6b4.tar.gz -/buildah-1ff7043.tar.gz -/buildah-8e26456.tar.gz -/buildah-332a889.tar.gz -/buildah-141b5a1.tar.gz -/buildah-20e92ff.tar.gz -/buildah-1967973.tar.gz -/buildah-fba62fd.tar.gz -/buildah-ec970d5.tar.gz -/buildah-89bc2a6.tar.gz -/buildah-147d106.tar.gz -/buildah-f995696.tar.gz -/buildah-a880001.tar.gz -/buildah-e3bb278.tar.gz -/buildah-7535655.tar.gz -/buildah-85ab067.tar.gz -/buildah-985e8dc.tar.gz -/buildah-c5244fe.tar.gz -/buildah-9ff68b3.tar.gz -/buildah-6a555a0.tar.gz -/buildah-1e6a70c.tar.gz -/buildah-cd88667.tar.gz -/buildah-92ff215.tar.gz -/buildah-8fd3148.tar.gz -/buildah-4cf37c2.tar.gz -/buildah-ed0a329.tar.gz -/buildah-d55a9f8.tar.gz -/buildah-357d4ae.tar.gz -/buildah-2a82d07.tar.gz -/buildah-e47145c.tar.gz -/buildah-c038827.tar.gz -/buildah-8fc5b01.tar.gz -/buildah-8d6869b.tar.gz -/buildah-bc8feee.tar.gz -/buildah-70b101f.tar.gz -/buildah-db59421.tar.gz -/buildah-e28c43d.tar.gz -/buildah-068b6f5.tar.gz -/buildah-acc7c35.tar.gz -/buildah-0662a4e.tar.gz -/buildah-188269a.tar.gz -/buildah-2959a6b.tar.gz -/buildah-e6815a1.tar.gz -/buildah-9588a82.tar.gz -/buildah-41b7852.tar.gz -/buildah-6941254.tar.gz -/buildah-726e24d.tar.gz -/buildah-8d41b83.tar.gz -/buildah-c42f440.tar.gz -/buildah-20c2a54.tar.gz -/buildah-d792c70.tar.gz -/buildah-45543bf.tar.gz -/buildah-dbec497.tar.gz -/buildah-e7be041.tar.gz -/buildah-b555b7d.tar.gz -/buildah-a3dec02.tar.gz -/buildah-47ce18b.tar.gz -/buildah-55fa8f5.tar.gz -/buildah-4e23b7a.tar.gz -/buildah-3af1491.tar.gz -/buildah-9def9c0.tar.gz -/buildah-f7731c2.tar.gz -/buildah-b7e6731.tar.gz -/buildah-720e5d6.tar.gz -/buildah-bf14e6c.tar.gz -/buildah-09d1c24.tar.gz -/buildah-b09fdc3.tar.gz -/buildah-c46f6e0.tar.gz -/buildah-ca0819f.tar.gz -/buildah-a925f79.tar.gz -/buildah-2055fe9.tar.gz -/buildah-0c3234f.tar.gz -/buildah-6417a9a.tar.gz -/buildah-6e277a2.tar.gz -/buildah-ec4bbe6.tar.gz -/buildah-0a063c4.tar.gz -/buildah-82ff48a.tar.gz -/buildah-4131dfa.tar.gz -/buildah-3177db5.tar.gz -/buildah-f89b081.tar.gz -/buildah-f1cf92b.tar.gz -/buildah-843d15d.tar.gz -/buildah-665dc2f.tar.gz -/buildah-10542ed.tar.gz -/buildah-3b9c6a3.tar.gz -/buildah-aba0d4d.tar.gz -/buildah-c61925b.tar.gz -/buildah-a5fabab.tar.gz -/buildah-e54da62.tar.gz -/buildah-e48ff81.tar.gz -/buildah-11ad04e.tar.gz -/buildah-d3804fa.tar.gz -/buildah-c18e043.tar.gz -/buildah-17ceb60.tar.gz -/buildah-1db2cde.tar.gz -/buildah-25c294c.tar.gz -/buildah-912ca5a.tar.gz -/buildah-2fc064e.tar.gz -/buildah-e9a6703.tar.gz -/buildah-31a01b4.tar.gz -/buildah-9c031e0.tar.gz -/buildah-20e41b7.tar.gz -/buildah-c3070ba.tar.gz -/buildah-310c02b.tar.gz -/buildah-f5dbfc1.tar.gz -/buildah-c554675.tar.gz -/buildah-e48fa75.tar.gz -/buildah-f7ff4c1.tar.gz -/buildah-7a88d7e.tar.gz -/buildah-c404c89.tar.gz -/buildah-db3ced9.tar.gz -/buildah-81e2659.tar.gz -/buildah-f4970e6.tar.gz -/buildah-0d5ab1d.tar.gz -/buildah-0b9a534.tar.gz -/buildah-bea8692.tar.gz -/buildah-8169acd.tar.gz -/buildah-3af27b4.tar.gz -/buildah-63567cb.tar.gz -/buildah-42a48f9.tar.gz -/buildah-f35e7d4.tar.gz -/buildah-7b0dfb8.tar.gz -/buildah-7610123.tar.gz -/buildah-828035f.tar.gz -/buildah-b438050.tar.gz -/buildah-6a7ace0.tar.gz -/buildah-f80da42.tar.gz -/buildah-0f6c2a9.tar.gz -/buildah-3184920.tar.gz -/buildah-9bd70ac.tar.gz -/buildah-7957c13.tar.gz -/buildah-4fc49ce.tar.gz -/buildah-ab1adf1.tar.gz -/buildah-75e94a2.tar.gz -/buildah-de0f541.tar.gz -/buildah-dbf0777.tar.gz -/buildah-0ac2a67.tar.gz -/buildah-f7a3515.tar.gz -/buildah-2c46b4b.tar.gz -/buildah-ac0182c.tar.gz -/buildah-fce9668.tar.gz -/buildah-58e6b4f.tar.gz -/buildah-28d7d44.tar.gz -/buildah-d83657c.tar.gz -/buildah-49a5768.tar.gz -/buildah-555eb26.tar.gz -/buildah-2928303.tar.gz -/buildah-bfe6da5.tar.gz -/buildah-efc5ec2.tar.gz -/buildah-aa3128e.tar.gz -/buildah-33768fc.tar.gz -/buildah-1f8bf4d.tar.gz -/buildah-b47ffb9.tar.gz -/buildah-d0f43a0.tar.gz -/buildah-552cbd3.tar.gz -/buildah-17bb22f.tar.gz -/buildah-58541a3.tar.gz -/buildah-678da1d.tar.gz -/buildah-411a885.tar.gz -/buildah-d273b9e.tar.gz -/buildah-0f4a259.tar.gz -/buildah-f2f857a.tar.gz -/buildah-0e06e45.tar.gz -/buildah-b3f6ed8.tar.gz -/buildah-5955652.tar.gz -/buildah-7fb1282.tar.gz -/buildah-dc504d9.tar.gz -/buildah-73ae001.tar.gz -/buildah-71a5615.tar.gz -/buildah-f09e52c.tar.gz -/buildah-746b5a6.tar.gz -/buildah-ed75e66.tar.gz -/buildah-415715a.tar.gz -/buildah-9913b9f.tar.gz -/buildah-7389cc7.tar.gz -/buildah-7699b6e.tar.gz -/buildah-a970ffb.tar.gz -/buildah-9229549.tar.gz -/buildah-d33bb41.tar.gz -/buildah-7719296.tar.gz -/buildah-c7ed3ca.tar.gz -/buildah-1087564.tar.gz -/buildah-18c0b33.tar.gz -/buildah-5368ec3.tar.gz -/buildah-d0c958d.tar.gz -/buildah-272f241.tar.gz -/buildah-aa37929.tar.gz -/buildah-05aa527.tar.gz -/buildah-e016fa8.tar.gz -/buildah-570b43f.tar.gz -/buildah-2e1d92e.tar.gz -/buildah-af10f8c.tar.gz -/buildah-587e617.tar.gz -/buildah-dd26b13.tar.gz -/buildah-02b3b50.tar.gz -/buildah-92463b5.tar.gz -/buildah-acb97f1.tar.gz -/buildah-75ae8be.tar.gz -/buildah-c50e236.tar.gz -/buildah-ac96369.tar.gz -/buildah-1d67d26.tar.gz -/buildah-10d622b.tar.gz -/buildah-1678745.tar.gz -/buildah-5b867f2.tar.gz -/buildah-d69f76a.tar.gz -/buildah-ef8adfd.tar.gz -/buildah-8c01c17.tar.gz -/buildah-356fd7e.tar.gz -/buildah-6747061.tar.gz -/buildah-6e56bea.tar.gz -/buildah-bec005d.tar.gz -/buildah-7734b68.tar.gz -/buildah-5f1031f.tar.gz -/buildah-b9fdee0.tar.gz -/buildah-00aa7f0.tar.gz -/buildah-ffef8a6.tar.gz -/buildah-24e0eb7.tar.gz -/buildah-00b8e9f.tar.gz -/buildah-d899c7c.tar.gz -/buildah-f3c5c03.tar.gz -/buildah-5129d28.tar.gz -/buildah-02b914b.tar.gz -/buildah-f01ddd6.tar.gz -/buildah-6d3b8d3.tar.gz -/buildah-ddcbb30.tar.gz -/buildah-10c10ee.tar.gz -/buildah-1b3dc91.tar.gz -/buildah-911e6ea.tar.gz -/buildah-8d89b80.tar.gz -/buildah-cfb3372.tar.gz -/buildah-80181e8.tar.gz -/buildah-2e1bbc2.tar.gz -/buildah-b595a98.tar.gz -/buildah-f17ccd0.tar.gz -/buildah-d10dbf3.tar.gz -/buildah-6f554d8.tar.gz -/buildah-3f5ba7e.tar.gz -/buildah-d460e2e.tar.gz -/buildah-371e4ca.tar.gz -/buildah-1a04337.tar.gz -/buildah-4925e86.tar.gz -/buildah-2f20868.tar.gz -/buildah-0c5bfcd.tar.gz -/buildah-6002877.tar.gz -/buildah-0ec651f.tar.gz -/buildah-7f340f9.tar.gz -/buildah-d0af90d.tar.gz -/buildah-e1dfdd3.tar.gz -/buildah-044ea34.tar.gz -/buildah-800a3ed.tar.gz -/buildah-8f63761.tar.gz -/buildah-885e9c1.tar.gz -/buildah-9eb048a.tar.gz -/buildah-0508fba.tar.gz -/buildah-3679b9f.tar.gz -/buildah-2e59c37.tar.gz -/buildah-6421c84.tar.gz -/buildah-457c75c.tar.gz -/buildah-0a064b3.tar.gz -/buildah-013883e.tar.gz -/buildah-e1c7a5c.tar.gz -/buildah-d5326ef.tar.gz -/buildah-de6c0da.tar.gz -/buildah-a6eeca7.tar.gz -/buildah-d47032f.tar.gz -/buildah-1b49e62.tar.gz -/buildah-72ef182.tar.gz -/buildah-1296778.tar.gz -/buildah-a5e80a5.tar.gz -/buildah-d5c503c.tar.gz -/buildah-eb42398.tar.gz -/buildah-b51f63a.tar.gz -/buildah-06d974b.tar.gz -/buildah-c15269d.tar.gz -/buildah-1688944.tar.gz -/buildah-c0915a5.tar.gz -/buildah-0ade935.tar.gz -/buildah-0d8da0a.tar.gz -/buildah-35300f3.tar.gz -/buildah-17d8e1b.tar.gz -/buildah-8614456.tar.gz -/buildah-d5d782f.tar.gz -/buildah-e481c9b.tar.gz -/buildah-5352624.tar.gz -/buildah-ced3c7b.tar.gz -/buildah-fd48180.tar.gz -/buildah-3b8acfb.tar.gz -/buildah-9cdde41.tar.gz -/buildah-30ed95a.tar.gz -/buildah-b2f7e27.tar.gz -/buildah-0a38651.tar.gz -/buildah-ecbb651.tar.gz -/buildah-915de2e.tar.gz -/buildah-98f7b3d.tar.gz -/buildah-2e5732b.tar.gz -/buildah-61f5dff.tar.gz -/v1.19.6.tar.gz -/buildah-2f99c2e.tar.gz -/buildah-9428d03.tar.gz -/buildah-1065fd2.tar.gz -/buildah-c4fc67f.tar.gz -/buildah-d78dfd1.tar.gz -/buildah-22fc573.tar.gz -/buildah-135d63d.tar.gz -/buildah-a0853c3.tar.gz -/buildah-5119393.tar.gz -/buildah-162fbaf.tar.gz -/buildah-2ab877e.tar.gz -/buildah-f30b420.tar.gz -/buildah-f629ded.tar.gz -/buildah-2a83637.tar.gz -/buildah-19d3065.tar.gz -/buildah-df14b1c.tar.gz -/buildah-d677bf0.tar.gz -/buildah-23e2b79.tar.gz -/buildah-8a6d840.tar.gz -/buildah-4fa566e.tar.gz -/buildah-bbbe10a.tar.gz -/buildah-d08dbe7.tar.gz -/buildah-9c7f50b.tar.gz -/buildah-8d08247.tar.gz -/buildah-d99221f.tar.gz -/buildah-30c07b7.tar.gz -/buildah-814868e.tar.gz -/buildah-5181b9c.tar.gz -/buildah-802a904.tar.gz -/buildah-6d5d1ae.tar.gz -/buildah-ec35bc4.tar.gz -/v1.22.0.tar.gz -/v1.23.0.tar.gz -/v1.23.1.tar.gz -/v1.23.2.tar.gz -/v1.24.0.tar.gz -/v1.24.1.tar.gz -/v1.24.2.tar.gz -/v1.25.0.tar.gz -/v1.25.1.tar.gz -/v1.26.0.tar.gz -/v1.26.1.tar.gz -/v1.26.2.tar.gz -/v1.26.3.tar.gz -/v1.26.4.tar.gz -/v1.27.0.tar.gz -/v1.27.1.tar.gz -/v1.27.2.tar.gz -/v1.28.0.tar.gz -/v1.28.2.tar.gz -/v1.29.0.tar.gz -/v1.29.1.tar.gz -/v1.30.0.tar.gz -/v1.31.0.tar.gz -/v1.31.1.tar.gz -/v1.31.2.tar.gz -/v1.31.3.tar.gz -/v1.32.0.tar.gz -/v1.32.1.tar.gz -/v1.32.2.tar.gz -/v1.33.2.tar.gz -/v1.34.0.tar.gz -/v1.34.1.tar.gz -/v1.35.0.tar.gz -/v1.35.1.tar.gz -/v1.35.2.tar.gz -/v1.35.3.tar.gz -/v1.35.4.tar.gz -/v1.36.0.tar.gz -/v1.37.0.tar.gz -/v1.37.1.tar.gz -/v1.37.2.tar.gz -/v1.37.3.tar.gz -/v1.37.4.tar.gz -/v1.37.5.tar.gz -/v1.38.0.tar.gz -/v1.38.1.tar.gz -/v1.39.0.tar.gz -/v1.39.1.tar.gz -/v1.39.2.tar.gz -/v1.39.3.tar.gz -/v1.39.4.tar.gz -/v1.40.0.tar.gz -/v1.40.1.tar.gz -/v1.41.0.tar.gz -/v1.41.1.tar.gz -/v1.41.2.tar.gz -/v1.41.3.tar.gz -/v1.41.4.tar.gz -/v1.41.5.tar.gz -/v1.42.0.tar.gz -/v1.42.1.tar.gz -/v1.42.2.tar.gz +/buildah-d2a3249.tar.gz +/buildah-5a3e9fb.tar.gz +/buildah-8c1c2c5.tar.gz +/buildah-2c5da1b.tar.gz +/buildah-413bd1f.tar.gz +/buildah-0bafbfe.tar.gz +/buildah-bdd78ad.tar.gz +/buildah-21b4778.tar.gz +/buildah-9513cb8.tar.gz +/buildah-6cc4656.tar.gz diff --git a/.packit.yaml b/.packit.yaml deleted file mode 100644 index 032e9e1..0000000 --- a/.packit.yaml +++ /dev/null @@ -1,149 +0,0 @@ ---- -# See the documentation for more information: -# https://packit.dev/docs/configuration/ - -downstream_package_name: buildah -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: tests/tmt/ - dest: tests/tmt/ - delete: true - mkpath: true - - src: .fmf/ - dest: .fmf/ - delete: true - - .packit.yaml - -packages: - buildah-fedora: - pkg_tool: fedpkg - specfile_path: rpm/buildah.spec - buildah-centos: - pkg_tool: centpkg - specfile_path: rpm/buildah.spec - buildah-eln: - specfile_path: rpm/buildah.spec - -srpm_build_deps: - - make - -jobs: - - job: copr_build - trigger: pull_request - packages: [buildah-fedora] - notifications: &copr_build_failure_notification - failure_comment: - message: "Ephemeral COPR build failed. @containers/packit-build please check." - # Fedora aliases documentation: https://packit.dev/docs/configuration#aliases - # python3-fedora-distro-aliases provides `resolve-fedora-aliases` command - targets: &fedora_copr_targets - - fedora-all-x86_64 - - fedora-all-aarch64 - enable_net: true - # Disable osh diff scan until Go support is available - # Ref: https://github.com/openscanhub/known-false-positives/pull/30#issuecomment-2858698495 - osh_diff_scan_after_copr_build: false - - # Ignore until golang is updated in distro buildroot to 1.23.3+ - - job: copr_build - trigger: ignore - packages: [buildah-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 - - # Ignore until golang is updated in distro buildroot to 1.23.3+ - - job: copr_build - trigger: ignore - packages: [buildah-centos] - notifications: *copr_build_failure_notification - targets: ¢os_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: [buildah-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 PRs - - job: tests - trigger: pull_request - packages: [buildah-fedora] - targets: - - fedora-all-x86_64 - 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 - - # Ignore until golang is updated in distro buildroot to 1.23.3+ - # Tests on CentOS Stream for main branch PRs - - job: tests - trigger: ignore - packages: [buildah-centos] - targets: - - centos-stream-9-x86_64 - - centos-stream-10-x86_64 - 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: [buildah-fedora] - update_release: false - dist_git_branches: &fedora_targets - - fedora-all - - # Sync to CentOS Stream - - job: propose_downstream - trigger: release - packages: [buildah-centos] - update_release: false - dist_git_branches: - - c10s - - # Fedora Koji build - - job: koji_build - trigger: commit - packages: [buildah-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 diff --git a/README.packit b/README.packit deleted file mode 100644 index b4b46e3..0000000 --- a/README.packit +++ /dev/null @@ -1,3 +0,0 @@ -This repository is maintained by packit. -https://packit.dev/ -The file was generated using packit 1.12.0.post1.dev20+g7d30dac21. diff --git a/buildah.spec b/buildah.spec index 9751b59..08c20bd 100644 --- a/buildah.spec +++ b/buildah.spec @@ -1,3 +1,4 @@ +%global with_bundled 1 %global with_debug 1 %if 0%{?with_debug} @@ -7,73 +8,55 @@ %global debug_package %{nil} %endif -%global gomodulesmode GO111MODULE=on - -%if %{defined fedora} -%define build_with_btrfs 1 -%if 0%{?fedora} >= 43 -%define sequoia 1 -%endif +%if ! 0%{?gobuild:1} +%define gobuild(o:) go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v -x %{?**}; %endif -%if %{defined rhel} -%define fips 1 -%endif +%global provider github +%global provider_tld com +%global project containers +%global repo buildah +# https://github.com/containers/buildah +%global import_path %{provider}.%{provider_tld}/%{project}/%{repo} +%global git0 https://%{import_path} +%global commit0 6cc46567d1c7011bc99ac99ecc6239f2d3df0aa9 +%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) -%global git0 https://github.com/containers/%{name} +# Used for comparing with latest upstream tag +# to decide whether to autobuild (non-rawhide only) +%global built_tag v1.12.0 -Name: buildah -# Set different Epoch for copr -%if %{defined copr_username} -Epoch: 102 -%else -Epoch: 2 -%endif -# DO NOT TOUCH the Version string! -# The TRUE source of this specfile is: -# https://github.com/containers/skopeo/blob/main/rpm/skopeo.spec -# If that's what you're reading, Version must be 0, and will be updated by Packit for -# copr and koji builds. -# If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.42.2 -# The `AND` needs to be uppercase in the License for SPDX compatibility -License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 -Release: %autorelease -%if %{defined golang_arches_future} -ExclusiveArch: %{golang_arches_future} -%else -ExclusiveArch: aarch64 ppc64le s390x x86_64 -%endif +Name: %{repo} +Version: 1.12.0 +Release: 2%{?dist} Summary: A command line tool used for creating OCI Images +License: ASL 2.0 URL: https://%{name}.io -# Tarball fetched from upstream -Source: %{git0}/archive/v%{version}.tar.gz -BuildRequires: device-mapper-devel -BuildRequires: git-core -BuildRequires: golang >= 1.16.6 +Source: %{git0}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz +ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x + +# If go_compiler is not set to 1, there is no virtual provide. Use golang instead. +BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} +BuildRequires: git BuildRequires: glib2-devel +BuildRequires: libseccomp-static +BuildRequires: ostree-devel BuildRequires: glibc-static -%if !%{defined gobuild} -BuildRequires: go-rpm-macros -%endif +BuildRequires: go-md2man BuildRequires: gpgme-devel +BuildRequires: device-mapper-devel +BuildRequires: btrfs-progs-devel BuildRequires: libassuan-devel BuildRequires: make -%if %{defined build_with_btrfs} -BuildRequires: btrfs-progs-devel -%endif -BuildRequires: shadow-utils-subid-devel -BuildRequires: sqlite-devel -Requires: containers-common-extra -%if %{defined fedora} -BuildRequires: libseccomp-static +Requires: runc >= 1.0.0-17 +Requires: containers-common +%if 0%{?fedora} +Recommends: container-selinux +Recommends: slirp4netns >= 0.3-0 +Recommends: fuse-overlayfs %else -BuildRequires: libseccomp-devel -%endif -Requires: libseccomp >= 2.4.1-0 -Suggests: cpp -%if %{defined sequoia} -Requires: podman-sequoia +Requires: container-selinux +Requires: slirp4netns >= 0.3-0 %endif %description @@ -85,98 +68,36 @@ or * save container's root file system layer to create a new image * delete a working container or an image -# This subpackage is only intended for CI testing. -# Not meant for end user/customer usage. -%package tests -Summary: Tests for %{name} - -Requires: %{name} = %{epoch}:%{version}-%{release} -%if %{defined bats_epel} -Requires: bats -%else -Recommends: bats -%endif -Requires: bzip2 -Requires: podman -Requires: golang -Requires: jq -Requires: httpd-tools -Requires: openssl -Requires: nmap-ncat -Requires: git-daemon - -%description tests -%{summary} - -This package contains system tests for %{name} - %prep -%autosetup -Sgit -n %{name}-%{version} +%autosetup -Sgit -n %{name}-%{commit0} +sed -i 's/GOMD2MAN =/GOMD2MAN ?=/' docs/Makefile +sed -i '/docs install/d' Makefile %build -%set_build_flags -export CGO_CFLAGS=$CFLAGS +mkdir _build +pushd _build +mkdir -p src/%{provider}.%{provider_tld}/%{project} +ln -s $(dirs +1 -l) src/%{import_path} +popd -# These extra flags present in $CFLAGS have been skipped for now as they break the build -CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g') -CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-Wp,D_GLIBCXX_ASSERTIONS//g') -CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//g') +mv vendor src -%ifarch x86_64 -export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full" -%endif - -export CNI_VERSION=`grep '^# github.com/containernetworking/cni ' src/modules.txt | sed 's,.* ,,'` -export LDFLAGS="-X main.buildInfo=`date +%s` -X main.cniVersion=${CNI_VERSION}" - -export BUILDTAGS="seccomp $(hack/systemd_tag.sh) $(hack/libsubid_tag.sh) libsqlite3" -%if !%{defined build_with_btrfs} -export BUILDTAGS+=" exclude_graphdriver_btrfs" -%endif - -%if %{defined fips} -export BUILDTAGS+=" libtrust_openssl" -%endif - -%if %{defined sequoia} -export BUILDTAGS+=" containers_image_sequoia" -%endif - -%gobuild -o bin/%{name} ./cmd/%{name} -%gobuild -o bin/imgtype ./tests/imgtype -%gobuild -o bin/copy ./tests/copy -%gobuild -o bin/tutorial ./tests/tutorial -%gobuild -o bin/inet ./tests/inet -%gobuild -o bin/dumpspec ./tests/dumpspec -%gobuild -o bin/passwd ./tests/passwd -%gobuild -o bin/crash ./tests/crash -%gobuild -o bin/wait ./tests/wait -%{__make} docs +export GOPATH=$(pwd)/_build:$(pwd) +export BUILDTAGS='seccomp selinux' +export GO111MODULE=off +%gobuild -o %{name} %{import_path}/cmd/%{name} +GOMD2MAN=go-md2man %{__make} -C docs %install +export GOPATH=$(pwd)/_build:$(pwd):%{gopath} make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions - -install -d -p %{buildroot}/%{_datadir}/%{name}/test/system -cp -pav tests/. %{buildroot}/%{_datadir}/%{name}/test/system -cp bin/imgtype %{buildroot}/%{_bindir}/%{name}-imgtype -cp bin/copy %{buildroot}/%{_bindir}/%{name}-copy -cp bin/tutorial %{buildroot}/%{_bindir}/%{name}-tutorial -cp bin/inet %{buildroot}/%{_bindir}/%{name}-inet -cp bin/dumpspec %{buildroot}/%{_bindir}/%{name}-dumpspec -cp bin/passwd %{buildroot}/%{_bindir}/%{name}-passwd -cp bin/crash %{buildroot}/%{_bindir}/%{name}-crash -cp bin/wait %{buildroot}/%{_bindir}/%{name}-wait - -rm %{buildroot}%{_datadir}/%{name}/test/system/tools/build/* +make DESTDIR=%{buildroot} PREFIX=%{_prefix} -C docs install #define license tag if not already defined %{!?_licensedir:%global license %doc} -# Include check to silence rpmlint. -%check - %files -%license LICENSE vendor/modules.txt +%license LICENSE %doc README.md %{_bindir}/%{name} %{_mandir}/man1/%{name}* @@ -184,17 +105,648 @@ rm %{buildroot}%{_datadir}/%{name}/test/system/tools/build/* %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/%{name} -%files tests -%license LICENSE -%{_bindir}/%{name}-imgtype -%{_bindir}/%{name}-copy -%{_bindir}/%{name}-tutorial -%{_bindir}/%{name}-inet -%{_bindir}/%{name}-dumpspec -%{_bindir}/%{name}-passwd -%{_bindir}/%{name}-crash -%{_bindir}/%{name}-wait -%{_datadir}/%{name}/test - %changelog -%autochangelog +* Fri Dec 13 2019 RH Container Bot - 1.12.0-2 +- bump to v1.12.0 +- autobuilt 6cc4656 + +* Fri Dec 06 2019 RH Container Bot - 1.11.6-2 +- bump to v1.11.6 +- autobuilt 9513cb8 + +* Mon Oct 28 2019 RH Container Bot - 1.11.4-2 +- bump to v1.11.4 +- autobuilt 21b4778 + +* Fri Oct 04 2019 RH Container Bot - 1.11.3-2 +- bump to v1.11.3 +- autobuilt bdd78ad + +* Tue Sep 17 2019 Lokesh Mandvekar (Bot) - 1.11.2-2.git0bafbfe +- bump to v1.11.2 +- autobuilt 0bafbfe + +* Thu Sep 12 2019 Lokesh Mandvekar (Bot) - 1.11.1-2.git413bd1f +- bump to v1.11.1 +- autobuilt 413bd1f + +* Thu Sep 05 2019 Lokesh Mandvekar (Bot) - 1.11.0-2.git2c5da1b +- bump to v1.11.0 +- autobuilt 2c5da1b + +* Thu Aug 08 2019 Lokesh Mandvekar (Bot) - 1.10.1-2.git8c1c2c5 +- bump to v1.10.1 +- autobuilt 8c1c2c5 + +* Fri Aug 02 2019 Lokesh Mandvekar (Bot) - 1.10.0-2.git5a3e9fb +- bump to v1.10.0 +- autobuilt 5a3e9fb + +* Wed Jul 24 2019 Lokesh Mandvekar - 1.9.2-2 +- use correct commit d2a3249 + +* Fri Jul 19 2019 Lokesh Mandvekar (Bot) - 1.9.2-1 +- bump to 1.9.2 +- autobuilt 2110f05 + +* Mon Jul 15 2019 Lokesh Mandvekar - 1.9.1-3 +- GO111MODULE=off +- update release tag + +* Mon Jul 15 2019 Lokesh Mandvekar (Bot) - 1.9.1-2.gite5e0547 +- bump to 1.9.1 +- autobuilt e5e0547 + +* Sat Jun 15 2019 Dan Walsh - 1.9.0-1.git00eb89 +- Bump to v1.9.0 Release + +* Fri Jun 14 2019 Dan Walsh - 1.8.4-1.gitaf8fd4 +- bump to v1.8.4 Release + +* Fri May 10 2019 Dan Walsh - 1.8.2-1.gite23314 +- bump to v1.8.2 Release + +* Fri Apr 26 2019 Dan Walsh - 1.8.0-1.git4aa16c +- bump to v1.8.0 Release + +* Thu Apr 25 2019 Nalin Dahyabhai - 1.7-18.git873f0014 +- Rebuild with a larger release number to unbreak upgrades from 1.7 prereleases + +* Thu Mar 21 2019 Dan Walsh - 1.7-3.git873f0014 +- Compile with SELinux enabled + +* Wed Mar 06 2019 Dan Walsh - 1.7-2.git873f0014 +- Add recommends for fuse-overlay and slirp4netns + +* Thu Feb 21 2019 Dan Walsh - 1.7-1.git873f0014 +- bump to v1.7 Release + +* Wed Jan 16 2019 Dan Walsh - 1.6-2.git5f95bd9a +- Fixes for v1.6 release + +* Wed Jan 16 2019 Dan Walsh - 1.6-1.git3ec6a6bd +- bump to v1.6 Release + +* Thu Nov 22 2018 Dan Walsh - 1.5-1.gite94b4f98 +- bump to v1.5 Release + +* Thu Oct 4 2018 Dan Walsh - 1.4-3.git608fa84 +- Fix v1.4 Release + +* Tue Oct 2 2018 Dan Walsh - 1.4-2.git87239ae +- bump to v1.4 Release + +* Sun Aug 12 2018 Lokesh Mandvekar - 1.4-1.dev.git0a7389c +- bump to v1.4-dev +- built 0a7389c + +* Wed Aug 01 2018 Lokesh Mandvekar (Bot) - 1.3-11.dev.git02f54e4 +- autobuilt 02f54e4 + +* Tue Jul 31 2018 Florian Weimer - 1.3-10.dev.gitbe03809 +- Rebuild with fixed binutils + +* Sun Jul 29 2018 Lokesh Mandvekar (Bot) - 1.3-9.dev.gitbe03809 +- autobuilt be03809 + +* Sat Jul 28 2018 Lokesh Mandvekar (Bot) - 1.3-8.dev.gitc18724e +- autobuilt c18724e + +* Thu Jul 26 2018 Lokesh Mandvekar (Bot) - 1.3-7.dev.git4976d8c +- autobuilt 4976d8c + +* Wed Jul 25 2018 Lokesh Mandvekar (Bot) - 1.3-6.dev.gite5f7539 +- autobuilt e5f7539 + +* Mon Jul 23 2018 Dan Walsh - 1.3-5.dev.dev.git826733a +- Change container-selinux Requires to Recommends + +* Fri Jul 20 2018 Lokesh Mandvekar (Bot) - 1.3-4.dev.git826733a +- autobuilt 826733a + +* Thu Jul 19 2018 Dan Walsh - 1.3-3.dev.git1215b16 +- buildah does not require ostree + +* Thu Jul 19 2018 Lokesh Mandvekar (Bot) - 1.3-2.dev.git1215b16 +- autobuilt 1215b16 + +* Tue Jul 17 2018 Lokesh Mandvekar - 1.3-1.dev.gita9895bd +- bump to v1.3-dev +- built a9895bd + +* Thu Jul 12 2018 Fedora Release Engineering - 1.2-25.dev.git3fb864b +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 09 2018 Lokesh Mandvekar (Bot) - 1.2-24.git3fb864b +- autobuilt 3fb864b + +* Sun Jul 08 2018 Lokesh Mandvekar (Bot) - 1.2-23.git8be2b62 +- autobuilt 8be2b62 + +* Sat Jul 07 2018 Lokesh Mandvekar (Bot) - 1.2-22.gita885bc6 +- autobuilt a885bc6 + +* Fri Jul 06 2018 Lokesh Mandvekar (Bot) - 1.2-21.git733cd20 +- autobuilt 733cd20 + +* Thu Jul 05 2018 Lokesh Mandvekar (Bot) - 1.2-20.gita59fb7a +- autobuilt a59fb7a + +* Tue Jul 03 2018 Lokesh Mandvekar (Bot) - 1.2-19.git5c11c34 +- autobuilt 5c11c34 + +* Mon Jul 02 2018 Lokesh Mandvekar (Bot) - 1.2-18.git5cd9be6 +- autobuilt 5cd9be6 + +* Sun Jul 01 2018 Lokesh Mandvekar (Bot) - 1.2-17.git6f72599 +- autobuilt 6f72599 + +* Sat Jun 30 2018 Lokesh Mandvekar (Bot) - 1.2-16.git704adec +- autobuilt 704adec + +* Fri Jun 29 2018 Lokesh Mandvekar (Bot) - 1.2-15.gitb965fc4 +- autobuilt b965fc4 + +* Thu Jun 28 2018 Lokesh Mandvekar (Bot) - 1.2-14.git1acccce +- autobuilt 1acccce + +* Wed Jun 27 2018 Lokesh Mandvekar (Bot) - 1.2-13.git146c185 +- autobuilt 146c185 + +* Tue Jun 26 2018 Lokesh Mandvekar (Bot) - 1.2-12.git16a33bd +- autobuilt 16a33bd + +* Mon Jun 25 2018 Lokesh Mandvekar (Bot) - 1.2-11.git2ac95ea +- autobuilt 2ac95ea + +* Sat Jun 23 2018 Lokesh Mandvekar (Bot) - 1.2-10.git0143a44 +- autobuilt 0143a44 + +* Thu Jun 21 2018 Lokesh Mandvekar (Bot) - 1.2-9.git2441ff4 +- autobuilt 2441ff4 + +* Wed Jun 20 2018 Lokesh Mandvekar (Bot) - 1.2-8.gitda7be32 +- autobuilt da7be32 + +* Tue Jun 19 2018 Lokesh Mandvekar (Bot) - 1.2-7.git2064b29 +- autobuilt 2064b29 + +* Mon Jun 18 2018 Lokesh Mandvekar (Bot) - 1.2-6.git93d8606 +- autobuilt 93d8606 + +* Fri Jun 15 2018 Lokesh Mandvekar (Bot) - 1.2-5.gitfc438bb +- autobuilt fc438bb + +* Thu Jun 14 2018 Lokesh Mandvekar (Bot) - 1.2-4.git73820fc +- autobuilt 73820fc + +* Wed Jun 13 2018 Lokesh Mandvekar (Bot) - 1.2-3.git6c4bef7 +- autobuilt 6c4bef7 + +* Tue Jun 12 2018 Lokesh Mandvekar (Bot) - 1.2-2.git94c1e6d +- autobuilt 94c1e6d + +* Mon Jun 11 2018 Lokesh Mandvekar (Bot) - 1.2-1.gitb9983a6 +- bump to 1.2 +- autobuilt b9983a6 + +* Sun Jun 10 2018 Dan Walsh 1.1-1 +- Drop capabilities if running container processes as non root +- Print Warning message if cmd will not be used based on entrypoint +- Update 01-intro.md +- Shouldn't add insecure registries to list of search registries +- Report errors on bad transports specification when pushing images +- Move parsing code out of common for namespaces and into pkg/parse.go +- Add disable-content-trust noop flag to bud +- Change freenode chan to buildah +- runCopyStdio(): don't close stdin unless we saw POLLHUP +- Add registry errors for pull +- runCollectOutput(): just read until the pipes are closed on us +- Run(): provide redirection for stdio +- rmi, rm: add test +- add mount test +- Add parameter judgment for commands that do not require parameters +- Add context dir to bud command in baseline test +- run.bats: check that we can run with symlinks in the bundle path +- Give better messages to users when image can not be found +- use absolute path for bundlePath +- Add environment variable to buildah --format +- rm: add validation to args and all option +- Accept json array input for config entrypoint +- Run(): process RunOptions.Mounts, and its flags +- Run(): only collect error output from stdio pipes if we created some +- Add OnBuild support for Dockerfiles +- Quick fix on demo readme +- run: fix validate flags +- buildah bud should require a context directory or URL +- Touchup tutorial for run changes +- Validate common bud and from flags +- images: Error if the specified imagename does not exist +- inspect: Increase err judgments to avoid panic +- add test to inspect +- buildah bud picks up ENV from base image +- Extend the amount of time travis_wait should wait +- Add a make target for Installing CNI plugins +- Add tests for namespace control flags +- copy.bats: check ownerships in the container +- Fix SELinux test errors when SELinux is enabled +- Add example CNI configurations +- Run: set supplemental group IDs +- Run: use a temporary mount namespace +- Use CNI to configure container networks +- add/secrets/commit: Use mappings when setting permissions on added content +- Add CLI options for specifying namespace and cgroup setup +- Always set mappings when using user namespaces +- Run(): break out creation of stdio pipe descriptors +- Read UID/GID mapping information from containers and images +- Additional bud CI tests +- Run integration tests under travis_wait in Travis +- build-using-dockerfile: add --annotation +- Implement --squash for build-using-dockerfile and commit +- Vendor in latest container/storage for devicemapper support +- add test to inspect +- Vendor github.com/onsi/ginkgo and github.com/onsi/gomega +- Test with Go 1.10, too +- Add console syntax highlighting to troubleshooting page +- bud.bats: print "$output" before checking its contents +- Manage "Run" containers more closely +- Break Builder.Run()'s "run runc" bits out +- util.ResolveName(): handle completion for tagged/digested image names +- Handle /etc/hosts and /etc/resolv.conf properly in container +- Documentation fixes +- Make it easier to parse our temporary directory as an image name +- Makefile: list new pkg/ subdirectoris as dependencies for buildah +- containerImageSource: return more-correct errors +- API cleanup: PullPolicy and TerminalPolicy should be types +- Make "run --terminal" and "run -t" aliases for "run --tty" +- Vendor github.com/containernetworking/cni v0.6.0 +- Update github.com/containers/storage +- Update github.com/projectatomic/libpod +- Add support for buildah bud --label +- buildah push/from can push and pull images with no reference +- Vendor in latest containers/image +- Update gometalinter to fix install.tools error +- Update troubleshooting with new run workaround +- Added a bud demo and tidied up +- Attempt to download file from url, if fails assume Dockerfile +- Add buildah bud CI tests for ENV variables +- Re-enable rpm .spec version check and new commit test +- Update buildah scratch demo to support el7 +- Added Docker compatibility demo +- Update to F28 and new run format in baseline test +- Touchup man page short options across man pages +- Added demo dir and a demo. chged distrorlease +- builder-inspect: fix format option +- Add cpu-shares short flag (-c) and cpu-shares CI tests +- Minor fixes to formatting in rpm spec changelog +- Fix rpm .spec changelog formatting +- CI tests and minor fix for cache related noop flags +- buildah-from: add effective value to mount propagation + +* Sat Jun 09 2018 Lokesh Mandvekar (Bot) - 1.0-20.gitf449b28 +- autobuilt f449b28 + +* Fri Jun 08 2018 Lokesh Mandvekar (Bot) - 1.0-19.gitc306342 +- autobuilt c306342 + +* Wed Jun 06 2018 Lokesh Mandvekar (Bot) - 1.0-18.gitd3d097b +- autobuilt d3d097b + +* Mon Jun 04 2018 Lokesh Mandvekar (Bot) - 1.0-17.gitf90b6c0 +- autobuilt f90b6c0 + +* Sun Jun 03 2018 Lokesh Mandvekar (Bot) - 1.0-16.git70641ee +- autobuilt 70641ee + +* Sat Jun 02 2018 Lokesh Mandvekar (Bot) - 1.0-15.git03686e5 +- autobuilt 03686e5 + +* Fri Jun 01 2018 Lokesh Mandvekar (Bot) - 1.0-14.git73bfd79 +- autobuilt 73bfd79 + +* Thu May 31 2018 Lokesh Mandvekar (Bot) - 1.0-13.git5595d4d +- autobuilt 5595d4d + +* Wed May 30 2018 Lokesh Mandvekar (Bot) - 1.0-12.gitebb0d8e +- autobuilt ebb0d8e + +* Tue May 29 2018 Lokesh Mandvekar (Bot) - 1.0-11.git88affbd +- autobuilt 88affbd + +* Fri May 25 2018 Lokesh Mandvekar (Bot) - 1.0-10.git25f4e8e +- autobuilt 25f4e8e + +* Thu May 17 2018 Lokesh Mandvekar (Bot) - 1.0-9.git2749191 +- autobuilt 2749191 + +* Wed May 16 2018 Lokesh Mandvekar (Bot) - 1.0-8.git3e320b9 +- autobuilt 3e320b9 + +* Tue May 15 2018 Lokesh Mandvekar (Bot) - 1.0-7.git8515867 +- autobuilt 8515867 + +* Sun May 13 2018 Lokesh Mandvekar (Bot) - 1.0-6.gitce8d467 +- autobuilt ce8d467 + +* Sat May 12 2018 Lokesh Mandvekar (Bot) - 1.0-5.gitb9a1041 +- autobuilt b9a1041 + +* Fri May 11 2018 Lokesh Mandvekar (Bot) - 1.0-4.git2ea3e11 +- autobuilt 2ea3e11 + +* Wed May 09 2018 Lokesh Mandvekar (Bot) - 1.0-3.gitfe204e4 +- autobuilt fe204e4 + +* Tue May 08 2018 Lokesh Mandvekar (Bot) - 1.0-2.git906ee37 +- autobuilt 906ee37 + +* Mon May 07 2018 Dan Walsh 1.0-1 +- Remove buildah run cmd and entrypoint execution +- Add Files section with registries.conf to pertinent man pages +- Force "localhost" as a default registry +- Add --compress, --rm, --squash flags as a noop for bud +- Add FIPS mode secret to buildah run and bud +- Add config --comment/--domainname/--history-comment/--hostname +- Add support for --iidfile to bud and commit +- Add /bin/sh -c to entrypoint in config +- buildah images and podman images are listing different sizes +- Remove tarball as an option from buildah push --help +- Update entrypoint behaviour to match docker +- Display imageId after commit +- config: add support for StopSignal +- Allow referencing stages as index and names +- Add multi-stage builds support +- Vendor in latest imagebuilder, to get mixed case AS support +- Allow umount to have multi-containers +- Update buildah push doc +- buildah bud walks symlinks +- Imagename is required for commit atm, update manpage + +* Mon May 07 2018 Lokesh Mandvekar (Bot) - 0.16-25.gitdd02e70 +- autobuilt dd02e70 + +* Sat May 05 2018 Lokesh Mandvekar (Bot) - 0.16-24.git45772e8 +- autobuilt 45772e8 + +* Fri May 04 2018 Lokesh Mandvekar (Bot) - 0.16-23.git6fe2b55 +- autobuilt 6fe2b55 + +* Wed May 02 2018 Lokesh Mandvekar (Bot) - 0.16-22.gita4f5707 +- autobuilt a4f5707 + +* Wed May 02 2018 Lokesh Mandvekar (Bot) - 0.16-21.gite130f2b +- autobuilt commit e130f2b + +* Tue May 01 2018 Lokesh Mandvekar (Bot) - 0.16-20.gitadb8e6f +- autobuilt commit adb8e6f + +* Sat Apr 28 2018 Lokesh Mandvekar (Bot) - 0.16-19.gitc50c287 +- autobuilt commit c50c287 + +* Fri Apr 27 2018 Lokesh Mandvekar (Bot) - 0.16-18.gitca1704f +- autobuilt commit ca1704f + +* Wed Apr 25 2018 Lokesh Mandvekar (Bot) - 0.16-17.git49abf82 +- autobuilt commit 49abf82 + +* Tue Apr 24 2018 Lokesh Mandvekar (Bot) - 0.16-16.gitfdc3998 +- autobuilt commit fdc3998 + +* Tue Apr 24 2018 Lokesh Mandvekar (Bot) - 0.16-15.gitb16a1ea +- autobuilt commit b16a1ea + +* Fri Apr 20 2018 Lokesh Mandvekar (Bot) - 0.16-14.gitd84f05a +- autobuilt commit d84f05a + +* Thu Apr 19 2018 Lokesh Mandvekar (Bot) - 0.16-13.gite008b73 +- autobuilt commit e008b73 + +* Thu Apr 19 2018 Lokesh Mandvekar (Bot) - 0.16-12.git28a27a3 +- autobuilt commit 28a27a3 + +* Tue Apr 17 2018 Lokesh Mandvekar (Bot) - 0.16-11.git45a4b81 +- autobuilt commit 45a4b81 + +* Tue Apr 17 2018 Lokesh Mandvekar (Bot) - 0.16-10.git45a4b81 +- autobuilt commit 45a4b81 + +* Mon Apr 16 2018 Lokesh Mandvekar (Bot) - 0.16-9.git6421399 +- autobuilt commit 6421399 + +* Mon Apr 16 2018 Lokesh Mandvekar (Bot) - 0.16-8.git83d7d10 +- autobuilt commit 83d7d10 + +* Mon Apr 16 2018 Lokesh Mandvekar (Bot) - 0.16-7.git83d7d10 +- autobuilt commit 83d7d10 + +* Mon Apr 16 2018 Lokesh Mandvekar (Bot) - 0.16-6.git83d7d10 +- autobuilt commit 83d7d10 + +* Mon Apr 09 2018 Lokesh Mandvekar (Bot) - 0.16-5.git4339223 +- autobuilt commit 4339223 + +* Mon Apr 09 2018 Lokesh Mandvekar (Bot) - 0.16-4.git4339223 +- autobuilt commit 4339223 + +* Mon Apr 09 2018 Lokesh Mandvekar - 0.16-3.git4339223 +- autobuilt commit 4339223 + +* Sun Apr 08 2018 Lokesh Mandvekar - 0.16-2.git4743c2e +- autobuilt commit 4743c2e + +* Wed Apr 4 2018 Dan Walsh 0.16-1 +- Add support for shell +- Vendor in latest containers/image +- docker-archive generates docker legacy compatible images +- Do not create $DiffID subdirectories for layers with no configs +- Ensure the layer IDs in legacy docker/tarfile metadata are unique +- docker-archive: repeated layers are symlinked in the tar file +- sysregistries: remove all trailing slashes +- Improve docker/* error messages +- Fix failure to make auth directory +- Create a new slice in Schema1.UpdateLayerInfos +- Drop unused storageImageDestination.{image,systemContext} +- Load a *storage.Image only once in storageImageSource +- Support gzip for docker-archive files +- Remove .tar extension from blob and config file names +- ostree, src: support copy of compressed layers +- ostree: re-pull layer if it misses uncompressed_digest|uncompressed_size +- image: fix docker schema v1 -> OCI conversion +- Add /etc/containers/certs.d as default certs directory +- Change image time to locale, add troubleshooting.md, add logo to other mds +- Allow --cmd parameter to have commands as values +- Document the mounts.conf file +- Fix man pages to format correctly +- buildah from now supports pulling images using the following transports: +- docker-archive, oci-archive, and dir. +- If the user overrides the storage driver, the options should be dropped +- Show Config/Manifest as JSON string in inspect when format is not set +- Adds feature to pull compressed docker-archive files + +* Tue Feb 27 2018 Dan Walsh 0.15-1 +- Fix handling of buildah run command options + +* Mon Feb 26 2018 Dan Walsh 0.14-1 +- If commonOpts do not exist, we should return rather then segfault +- Display full error string instead of just status +- Implement --volume and --shm-size for bud and from +- Fix secrets patch for buildah bud +- Fixes the naming issue of blobs and config for the dir transport by removing the .tar extension + +* Sun Feb 25 2018 Peter Robinson 0.13-2 +- Build on ARMv7 too (Fedora supports containers on that arch too) + +* Thu Feb 22 2018 Dan Walsh 0.13-1 +- Vendor in latest containers/storage +- This fixes a large SELinux bug. +- run: do not open /etc/hosts if not needed +- Add the following flags to buildah bud and from + --add-host + --cgroup-parent + --cpu-period + --cpu-quota + --cpu-shares + --cpuset-cpus + --cpuset-mems + --memory + --memory-swap + --security-opt + --ulimit + +* Mon Feb 12 2018 Dan Walsh 0.12-1 +- Added handing for simpler error message for Unknown Dockerfile instructions. +- Change default certs directory to /etc/containers/certs.dir +- Vendor in latest containers/image +- Vendor in latest containers/storage +- build-using-dockerfile: set the 'author' field for MAINTAINER +- Return exit code 1 when buildah-rmi fails +- Trim the image reference to just its name before calling getImageName +- Touch up rmi -f usage statement +- Add --format and --filter to buildah containers +- Add --prune,-p option to rmi command +- Add authfile param to commit +- Fix --runtime-flag for buildah run and bud +- format should override quiet for images +- Allow all auth params to work with bud +- Do not overwrite directory permissions on --chown +- Unescape HTML characters output into the terminal +- Fix: setting the container name to the image +- Prompt for un/pwd if not supplied with --creds +- Make bud be really quiet +- Return a better error message when failed to resolve an image +- Update auth tests and fix bud man page + +* Wed Feb 07 2018 Fedora Release Engineering - 0.11-3.git6bad262 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Feb 05 2018 Lokesh Mandvekar - 0.11-2 +- Resolves: upstream gh#432 +- enable debuginfo for non-fedora packages + +* Tue Jan 16 2018 Dan Walsh 0.11-1 +- Add --all to remove containers +- Add --all functionality to rmi +- Show ctrid when doing rm -all +- Ignore sequential duplicate layers when reading v2s1 +- Lots of minor bug fixes +- Vendor in latest containers/image and containers/storage + +* Tue Dec 26 2017 Dan Walsh 0.10-2 +- Fix checkin + +* Sat Dec 23 2017 Dan Walsh 0.10-1 +- Display Config and Manifest as strings +- Bump containers/image +- Use configured registries to resolve image names +- Update to work with newer image library +- Add --chown option to add/copy commands + +* Sat Dec 2 2017 Dan Walsh 0.9-1 +- Allow push to use the image id +- Make sure builtin volumes have the correct label + +* Thu Nov 16 2017 Dan Walsh 0.8-1 +- Buildah bud was failing on SELinux machines, this fixes this +- Block access to certain kernel file systems inside of the container + +* Thu Nov 16 2017 Dan Walsh 0.7-1 +- Ignore errors when trying to read containers buildah.json for loading SELinux reservations +- Use credentials from kpod login for buildah + +* Wed Nov 15 2017 Dan Walsh 0.6-1 +- Adds support for converting manifest types when using the dir transport +- Rework how we do UID resolution in images +- Bump github.com/vbatts/tar-split +- Set option.terminal appropriately in run + +* Wed Nov 08 2017 Dan Walsh 0.5-2 +- Bump github.com/vbatts/tar-split +- Fixes CVE That could allow a container image to cause a DOS + +* Tue Nov 07 2017 Dan Walsh 0.5-1 +- Add secrets patch to buildah +- Add proper SELinux labeling to buildah run +- Add tls-verify to bud command +- Make filtering by date use the image's date +- images: don't list unnamed images twice +- Fix timeout issue +- Add further tty verbiage to buildah run +- Make inspect try an image on failure if type not specified +- Add support for `buildah run --hostname` +- Tons of bug fixes and code cleanup + +* Fri Sep 22 2017 Dan Walsh 0.4-1.git9cbccf88c +- Add default transport to push if not provided +- Avoid trying to print a nil ImageReference +- Add authentication to commit and push +- Add information on buildah from man page on transports +- Remove --transport flag +- Run: do not complain about missing volume locations +- Add credentials to buildah from +- Remove export command +- Run(): create the right working directory +- Improve "from" behavior with unnamed references +- Avoid parsing image metadata for dates and layers +- Read the image's creation date from public API +- Bump containers/storage and containers/image +- Don't panic if an image's ID can't be parsed +- Turn on --enable-gc when running gometalinter +- rmi: handle truncated image IDs + +* Tue Aug 15 2017 Josh Boyer - 0.3-5.gitb9b2a8a +- Build for s390x as well + +* Wed Aug 02 2017 Fedora Release Engineering - 0.3-4.gitb9b2a8a +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.3-3.gitb9b2a8a +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 20 2017 Dan Walsh 0.3-2.gitb9b2a8a7e +- Bump for inclusion of OCI 1.0 Runtime and Image Spec + +* Tue Jul 18 2017 Dan Walsh 0.2.0-1.gitac2aad6 +- buildah run: Add support for -- ending options parsing +- buildah Add/Copy support for glob syntax +- buildah commit: Add flag to remove containers on commit +- buildah push: Improve man page and help information +- buildah run: add a way to disable PTY allocation +- Buildah docs: clarify --runtime-flag of run command +- Update to match newer storage and image-spec APIs +- Update containers/storage and containers/image versions +- buildah export: add support +- buildah images: update commands +- buildah images: Add JSON output option +- buildah rmi: update commands +- buildah containers: Add JSON output option +- buildah version: add command +- buildah run: Handle run without an explicit command correctly +- Ensure volume points get created, and with perms +- buildah containers: Add a -a/--all option + +* Wed Jun 14 2017 Dan Walsh 0.1.0-2.git597d2ab9 +- Release Candidate 1 +- All features have now been implemented. + +* Fri Apr 14 2017 Dan Walsh 0.0.1-1.git7a0a5333 +- First package for Fedora diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index 1fb3172..0000000 --- a/gating.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- !Policy -product_versions: - - fedora-* -decision_contexts: - - bodhi_update_push_stable - - bodhi_update_push_testing -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} - ---- !Policy -product_versions: - - rhel-* -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/plans/main.fmf b/plans/main.fmf deleted file mode 100644 index b982e76..0000000 --- a/plans/main.fmf +++ /dev/null @@ -1,34 +0,0 @@ -discover: - how: fmf - -execute: - how: tmt - -prepare: - - when: distro == centos-stream or distro == rhel - how: shell - script: | - dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm --eval '%{?rhel}').noarch.rpm - dnf -y config-manager --set-enabled epel - order: 10 - - when: initiator == packit - how: shell - script: | - COPR_REPO_FILE="/etc/yum.repos.d/*podman-next*.repo" - if compgen -G $COPR_REPO_FILE > /dev/null; then - sed -i -n '/^priority=/!p;$apriority=1' $COPR_REPO_FILE - fi - dnf -y upgrade --allowerasing - order: 20 - -provision: - how: artemis - hardware: - memory: ">= 16 GB" - cpu: - cores: ">= 4" - threads: ">=8" - disk: - - size: ">= 512 GB" - - diff --git a/sources b/sources index c210586..06a0e2d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v1.42.2.tar.gz) = adb1de700db9b589639f6fd02cad95d9bedacb9d0363838315f33c978a8c900570d55af95073992ff69cff4f2a9d18776c5d786af294aaa1604144580c957414 +SHA512 (buildah-6cc4656.tar.gz) = 9b1aca1129ed5b9d8a10b463b4d5b4c10c75cb345b810fe801666e447b7f93d8fc97e38582931d25d08534420880d733f015a05ded919cabf0c67f7d12256e44 diff --git a/tests/binary.yml b/tests/binary.yml new file mode 100644 index 0000000..1c7803d --- /dev/null +++ b/tests/binary.yml @@ -0,0 +1,10 @@ +--- +# test buildah +- hosts: all + become: true + tags: + - classic + roles: + - binary + - prepare-env + - cli diff --git a/tests/callback_plugins/log.py b/tests/callback_plugins/log.py new file mode 100644 index 0000000..de504db --- /dev/null +++ b/tests/callback_plugins/log.py @@ -0,0 +1,209 @@ +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Inspired from: https://github.com/redhat-openstack/khaleesi/blob/master/plugins/callbacks/human_log.py +# Further improved support Ansible 2.0 + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +try: + from ansible.plugins.callback import CallbackBase + BASECLASS = CallbackBase +except ImportError: # < ansible 2.1 + BASECLASS = DEFAULT_MODULE.CallbackModule + +import os, sys +try: + reload # Python 2.7 +except NameError: + try: + from importlib import reload # Python 3.4+ + except ImportError: + from imp import reload +reload(sys) + +try: + import simplejson as json +except ImportError: + import json + +# Fields to reformat output for +FIELDS = ['cmd', 'command', 'msg', 'stdout', + 'stderr', 'failed', 'reason'] + + +class CallbackModule(CallbackBase): + + """ + Ansible callback plugin for human-readable result logging + """ + CALLBACK_VERSION = 2.0 + CALLBACK_TYPE = 'notification' + CALLBACK_NAME = 'human_log' + CALLBACK_NEEDS_WHITELIST = False + + def __init__(self, *args, **kwargs): + # pylint: disable=non-parent-init-called + BASECLASS.__init__(self, *args, **kwargs) + if os.getenv("TEST_ARTIFACTS") is not None: + self.artifacts = os.getenv("TEST_ARTIFACTS") + else: + self.artifacts = './artifacts' + self.result_file = os.path.join(self.artifacts, 'test.log') + if not os.path.exists(self.artifacts): + os.makedirs(self.artifacts) + with open(self.result_file, 'w'): pass + + def human_log(self, data, taskname, status): + if type(data) == dict: + with open(self.result_file, 'a') as f: + f.write("################################################################\n") + f.write('The status is "%s" for task: %s.\n' % (status, taskname)) + f.write("Ansible outputs: \n\n") + for field in FIELDS: + no_log = data.get('_ansible_no_log', False) + if field in data.keys() and data[field] and no_log != True: + output = self._format_output(data[field], field) + # The following two lines are a hack to make it work with UTF-8 characters + if type(output) != list: + output = output.encode('utf-8', 'replace') + if type(output) == bytes: + output = output.decode('utf-8') + + f.write("{0}: {1}".format(field, output.replace("\\n","\n"))+"\n") + + + def _format_output(self, output, field): + # Strip unicode + try: + if type(output) == unicode: + output = output.encode(sys.getdefaultencoding(), 'replace') + except NameError: + pass + + # If output is a dict + if type(output) == dict: + return json.dumps(output, indent=2, sort_keys=True) + + # If output is a list of dicts + if type(output) == list and type(output[0]) == dict: + # This gets a little complicated because it potentially means + # nested results, usually because of with_items. + real_output = list() + for index, item in enumerate(output): + copy = item + if type(item) == dict: + for field in FIELDS: + if field in item.keys(): + copy[field] = self._format_output(item[field], field) + real_output.append(copy) + return json.dumps(output, indent=2, sort_keys=True) + + # If output is a list of strings + if type(output) == list and type(output[0]) != dict: + if field == "cmd": + return ' '.join(output) + return '\n'.join(output) + + # Otherwise it's a string, (or an int, float, etc.) just return it + return str(output) + + ####### V2 METHODS ###### + def v2_on_any(self, *args, **kwargs): + pass + + def v2_runner_on_failed(self, result, ignore_errors=False): + self.human_log(result._result, result._task.name, "FAIL") + + def v2_runner_on_ok(self, result): + if result._task.name == "": + return + self.human_log(result._result, result._task.name, "PASS") + + def v2_runner_on_skipped(self, result): + pass + + def v2_runner_on_unreachable(self, result): + self.human_log(result._result, result._task.name, "UNREACHABLE") + + def v2_runner_on_no_hosts(self, task): + pass + + def v2_runner_on_async_poll(self, result): + self.human_log(result._result, result._task.name, "") + + def v2_runner_on_async_ok(self, host, result): + self.human_log(result._result, result._task.name, "PASS") + + def v2_runner_on_async_failed(self, result): + self.human_log(result._result, result._task.name, "FAIL") + + def v2_playbook_on_start(self, playbook): + pass + + def v2_playbook_on_notify(self, result, handler): + pass + + def v2_playbook_on_no_hosts_matched(self): + pass + + def v2_playbook_on_no_hosts_remaining(self): + pass + + def v2_playbook_on_task_start(self, task, is_conditional): + pass + + def v2_playbook_on_vars_prompt(self, varname, private=True, prompt=None, + encrypt=None, confirm=False, salt_size=None, + salt=None, default=None): + pass + + def v2_playbook_on_setup(self): + pass + + def v2_playbook_on_import_for_host(self, result, imported_file): + pass + + def v2_playbook_on_not_import_for_host(self, result, missing_file): + pass + + def v2_playbook_on_play_start(self, play): + pass + + def v2_playbook_on_stats(self, stats): + pass + + def v2_on_file_diff(self, result): + pass + + def v2_playbook_on_item_ok(self, result): + pass + + def v2_playbook_on_item_failed(self, result): + pass + + def v2_playbook_on_item_skipped(self, result): + pass + + def v2_playbook_on_include(self, included_file): + pass + + def v2_playbook_item_on_ok(self, result): + pass + + def v2_playbook_item_on_failed(self, result): + pass + + def v2_playbook_item_on_skipped(self, result): + pass diff --git a/tests/github.sh b/tests/github.sh new file mode 100755 index 0000000..4e448cf --- /dev/null +++ b/tests/github.sh @@ -0,0 +1 @@ +ansible-playbook -i inventory github.yml "$@" diff --git a/tests/github.yml b/tests/github.yml new file mode 100644 index 0000000..8cbe881 --- /dev/null +++ b/tests/github.yml @@ -0,0 +1,19 @@ +--- +# test buildah +- hosts: localhost + become: true + tags: + - classic + roles: + - role: prepare-env + tags: + - env + - role: github-buildah + tags: + - github-buildah + - role: github-runc + tags: + - github-runc + - role: cli + tags: + - cli diff --git a/tests/roles/binary/tasks/buildah.yml b/tests/roles/binary/tasks/buildah.yml new file mode 100644 index 0000000..5122105 --- /dev/null +++ b/tests/roles/binary/tasks/buildah.yml @@ -0,0 +1,15 @@ +--- +- name: pull latest buildah source from github + git: + repo: https://github.com/projectatomic/buildah + dest: "{{ HOME }}/go/src/github.com/projectatomic/buildah" + +- name: make binary for buildah + command: make + args: + chdir: "{{ HOME }}/go/src/github.com/projectatomic/buildah" + +- name: install buildah to /usr/local/bin + command: make install + args: + chdir: "{{ HOME }}/go/src/github.com/projectatomic/buildah" diff --git a/tests/roles/binary/tasks/main.yml b/tests/roles/binary/tasks/main.yml new file mode 100644 index 0000000..771725d --- /dev/null +++ b/tests/roles/binary/tasks/main.yml @@ -0,0 +1,4 @@ +--- +- import_tasks: runc.yml + +- import_tasks: buildah.yml diff --git a/tests/roles/binary/tasks/runc.yml b/tests/roles/binary/tasks/runc.yml new file mode 100644 index 0000000..d64d5fb --- /dev/null +++ b/tests/roles/binary/tasks/runc.yml @@ -0,0 +1,16 @@ +--- +- name: pull latest runc source from github + git: + repo: https://github.com/opencontainers/runc + dest: "{{ HOME }}/go/src/github.com/opencontainers/runc" + +- name: building runc for buildah runtime + command: make + args: + chdir: "{{ HOME }}/go/src/github.com/opencontainers/runc" + +- name: copy runc to /usr/bin + copy: + remote_src: True + src: "{{ HOME }}/go/src/github.com/opencontainers/runc/runc" + dest: /usr/bin/runc diff --git a/tests/roles/cli/tasks/add.yaml b/tests/roles/cli/tasks/add.yaml new file mode 100644 index 0000000..94ad716 --- /dev/null +++ b/tests/roles/cli/tasks/add.yaml @@ -0,0 +1,58 @@ +--- +- name: buildah add + command: buildah add nginxc /tmp/buildah/bud/Dockerfile + +- name: check buildah add + command: ls {{mount.stdout}}/Dockerfile + +- name: buildah add to destination + command: buildah add nginxc /tmp/buildah/bud/Dockerfile /home + +- name: check buildah add to + command: ls {{mount.stdout}}/home/Dockerfile + +- name: buildah add URL + command: buildah add nginxc https://github.com/projectatomic/buildah/raw/master/README.md + +- name: check buildah add URL + command: ls {{mount.stdout}}/README.md + +- name: buildah add URL to destination + command: buildah add nginxc https://github.com/projectatomic/buildah/raw/master/README.md /home + +- name: check buildah add URL to destination + command: ls {{mount.stdout}}/home/README.md + +- name: create /tmp/buildah/addcopy + file: path=/tmp/buildah/addcopy state=directory + +- name: Download buildah README.md + get_url: + url: https://github.com/projectatomic/buildah/raw/master/README.md + dest: /tmp/buildah/addcopy/ + +- name: buildah add dir + command: buildah add nginxc /tmp/buildah + +- name: check buildah add dir + command: ls {{mount.stdout}}/addcopy/README.md + +- name: buildah add dir to destination + command: buildah add nginxc /tmp/buildah /home + +- name: check buildah add dir to destination + command: ls {{mount.stdout}}/home/addcopy/README.md + +- name: buildah add a tarball file + command: buildah add nginxc /var/www/html/bud/Dockerfile.tar.gz /home + +- name: check buildah has added content of tarball to container + command: ls {{mount.stdout}}/home/hello + +- name: buildah add with option chown + command: buildah add --chown bin:bin nginxc /tmp/buildah/bud /home + +- name: check user after add with option chown + raw: buildah run nginxc -- ls -l /home/hello + register: ast + failed_when: '"bin" not in ast.stdout' diff --git a/tests/roles/cli/tasks/bud.yaml b/tests/roles/cli/tasks/bud.yaml new file mode 100644 index 0000000..6dc42fa --- /dev/null +++ b/tests/roles/cli/tasks/bud.yaml @@ -0,0 +1,103 @@ +--- +- name: buildah bud with image's format oci + command: buildah bud --format=oci --tag testing/fmtoci /tmp/buildah/bud + +- name: buildah bud with image's format docker + command: buildah bud -t testing/fmtdocker --format=docker /tmp/buildah/bud + +- name: buildah bud localfile + command: buildah bud -t testing/hello --pull /tmp/buildah/bud + +- name: buildah bud -f localfile + command: buildah bud -t testing/hello2 -f /tmp/buildah/bud/Dockerfile /tmp/buildah/bud + +- name: buildah bud URL + command: buildah bud -t testing/hello3 http://localhost/bud/Dockerfile.tar.gz + +- name: buildah build-using-dockerfile localfile + command: buildah build-using-dockerfile -t testing/hello4 /tmp/buildah/bud + +- lineinfile: + path: /tmp/buildah/bud/Dockerfile + regexp: '^COPY' + line: 'COPY $foo /' + +- name: buildah bud with build-arg + command: buildah bud -t testing/hello5 --build-arg foo=hello /tmp/buildah/bud + +- name: create container from bud images + command: buildah from docker.io/testing/{{ item }} + with_items: + - hello + - hello2 + - hello3 + - hello4 + - hello5 + +- name: list containers + command: buildah containers + register: ctrs + +- name: run containers from bud images + command: buildah run {{ item }}-working-container + register: hello + with_items: + - hello + - hello2 + - hello3 + - hello4 + - hello5 + +- name: verify string hello in container hellos + fail: + msg: '"Hello from Docker" not found after container run' + when: '"Hello from Docker" not in item.stdout' + with_items: "{{ hello.results }}" + +- name: buildah rm containers of hello + command: buildah rm {{ item }}-working-container + with_items: + - hello + - hello2 + - hello3 + - hello4 + - hello5 + + +- name: buildah bud --quiet + command: buildah bud --quiet -t testing/hello6 /tmp/buildah/bud + register: budquiet + failed_when: '"STEP" in budquiet.stdout' + +- name: buildah bud -q + command: buildah bud -q -t testing/hello7 /tmp/buildah/bud + register: budq + failed_when: '"STEP" in budq.stdout' + +- lineinfile: + path: /tmp/buildah/bud/Dockerfile + regexp: "^FROM" + line: "FROM localhost:5000/buildah/busybox" + +- name: verify bud image from local docker registry without tls-verify is failed + command: buildah bud -t testing/hellofail /tmp/buildah/bud + register: st + failed_when: st.rc != 1 + +- name: buildah bud image from local docker registry is successful + command: buildah bud --tls-verify=false -t testing/hello8 /tmp/buildah/bud + +- name: buildah rmi hello images + command: buildah rmi {{ item }} + with_items: + - testing/hello + - testing/hello2 + - testing/hello3 + - testing/hello4 + - testing/hello5 + - testing/hello6 + - testing/hello7 + - testing/hello8 + - testing/fmtoci + - testing/fmtdocker + - localhost:5000/buildah/busybox diff --git a/tests/roles/cli/tasks/cleanup.yaml b/tests/roles/cli/tasks/cleanup.yaml new file mode 100644 index 0000000..e14ffb1 --- /dev/null +++ b/tests/roles/cli/tasks/cleanup.yaml @@ -0,0 +1,11 @@ +--- +- block: + - name: remove all buildah containers after testing + command: buildah rm -a + + - name: remove all images after testing + command: buildah rmi -a + + always: + - include_role: + name: tear-down diff --git a/tests/roles/cli/tasks/commit.yaml b/tests/roles/cli/tasks/commit.yaml new file mode 100644 index 0000000..06f3505 --- /dev/null +++ b/tests/roles/cli/tasks/commit.yaml @@ -0,0 +1,59 @@ +--- +- name: buildah commit an image by name + command: buildah commit nginxc-2 commitbyname/nginxbyname + +- name: check commit images by name is existed + command: buildah images commitbyname/nginxbyname + +- name: get container ID + shell: buildah containers | grep nginxc-2 | awk '{print $1}' + register: cid + +- name: buildah commit an image by ID + command: buildah commit {{ cid.stdout }} commitbyid/nginxbyid + +- name: check commit images by ID is existed + command: buildah images commitbyid/nginxbyid + +- name: buildah from commit image + command: buildah from docker.io/commitbyid/nginxbyid + +- name: check container nginxbyid exists by inspect + command: buildah inspect nginxbyid-working-container + +- name: buildah commit to docker-distribution + command: buildah commit --tls-verify=false nginxbyid-working-container docker://localhost:5000/commit/nginx + +- name: buildah commit quiet + command: buildah commit --quiet --tls-verify=false nginxbyid-working-container docker://localhost:5000/commit/nginx + register: quietcommit + failed_when: '"Getting" in quietcommit.stdout' + +- name: create container from commit images on docker-distribution + command: buildah from --tls-verify=false docker://localhost:5000/commit/nginx + +- name: buildah commit with rm container + command: buildah commit --rm -q --tls-verify=false nginxbyid-working-container docker://localhost:5000/commit/nginx + +- name: verify the container is removed after commit + command: buildah inspect nginxbyid-working-container + register: commitrm + failed_when: commitrm.rc != 1 + +- name: buildah commit format oci + command: buildah commit --disable-compression --format=oci nginx-working-container nginxoci + +- name: buildah commit format docker + command: buildah commit -D -f docker nginx-working-container nginxdocker + +- name: remove containers from commit images + command: buildah rm nginx-working-container + +- name: remove images from commit + command: buildah rmi {{ item }} + with_items: + - localhost:5000/commit/nginx + - commitbyid/nginxbyid + - commitbyname/nginxbyname + - nginxoci + - nginxdocker diff --git a/tests/roles/cli/tasks/config.yaml b/tests/roles/cli/tasks/config.yaml new file mode 100644 index 0000000..d1e88bd --- /dev/null +++ b/tests/roles/cli/tasks/config.yaml @@ -0,0 +1,48 @@ +--- +- name: buildah config annotation + command: buildah config --annotation annotation=test-annotation nginxc + +- name: buildah config arch + command: buildah config --arch x86_64 nginxc + +- name: buildah config author + command: buildah config --author "Guohua Ouyang" nginxc + +- name: buildah config cmd + command: buildah config --cmd "nginx -g 'daemon off;'" nginxc + +- name: buildah config createdby + command: buildah config --created-by "manualcreated" nginxc + +- name: buildah config label + command: buildah config --label label=test-label nginxc + +- name: buildah config port + command: buildah config --port 8001 nginxc + +- name: buildah config user + command: buildah config --user www-data nginxc + +- name: buildah config workingdir + command: buildah config --workingdir /opt nginxc + +- name: buildah config env + command: buildah config --env foo=bar nginxc + +- name: buildah config os + command: buildah config --os unix nginxc + +- name: verify the container after config + shell: buildah inspect nginxc | grep '{{ item }}' + with_items: + - test-annotation + - x86_64 + - test-label + - Ouyang + - daemon off + - manualcreated + - 8001 + - www-data + - opt + - foo=bar + - unix diff --git a/tests/roles/cli/tasks/containers.yaml b/tests/roles/cli/tasks/containers.yaml new file mode 100644 index 0000000..fa9add6 --- /dev/null +++ b/tests/roles/cli/tasks/containers.yaml @@ -0,0 +1,18 @@ +--- +- name: buildah containers + shell: buildah containers | grep nginxc + +- name: buildah containers -q + shell: buildah containers -q | grep -v nginxc + +- name: buildah containers -n + shell: buildah containers -n | grep -v NAME + +- name: buildah containers --notruncate + command: buildah containers -- notruncate + +- name: buildah containers --all + command: buildah containers --all + +- name: buildah containers --json + command: buildah containers --json diff --git a/tests/roles/cli/tasks/copy.yaml b/tests/roles/cli/tasks/copy.yaml new file mode 100644 index 0000000..fd6253a --- /dev/null +++ b/tests/roles/cli/tasks/copy.yaml @@ -0,0 +1,44 @@ +--- +- name: buildah copy + command: buildah copy nginxc-2 /tmp/buildah/bud/Dockerfile + +- name: check buildah copy + command: ls {{mount.stdout}}/Dockerfile + +- name: buildah copy to destination + command: buildah copy nginxc-2 /tmp/buildah/bud/Dockerfile /home + +- name: check buildah copy to + command: ls {{mount.stdout}}/home/Dockerfile + +- name: buildah copy URL + command: buildah copy nginxc-2 https://github.com/projectatomic/buildah/raw/master/README.md + +- name: check buildah copy URL + command: ls {{mount.stdout}}/README.md + +- name: buildah copy URL to destination + command: buildah copy nginxc-2 https://github.com/projectatomic/buildah/raw/master/README.md /home + +- name: check buildah copy URL to destination + command: ls {{mount.stdout}}/home/README.md + +- name: buildah copy dir + command: buildah copy nginxc-2 /tmp/buildah + +- name: check buildah copy dir + command: ls {{mount.stdout}}/addcopy/README.md + +- name: buildah copy dir to destination + command: buildah copy nginxc-2 /tmp/buildah /home + +- name: check buildah copy dir to destination + command: ls {{mount.stdout}}/home/addcopy/README.md + +- name: buildah copy with option chown + command: buildah copy --chown nginx:nginx nginxc-2 /tmp/buildah/bud /home + +- name: check user after copy with option chown + command: buildah run nginxc-2 -- ls -l /home/hello + register: cst + failed_when: '"nginx" not in cst.stdout' diff --git a/tests/roles/cli/tasks/from.yaml b/tests/roles/cli/tasks/from.yaml new file mode 100644 index 0000000..7dac3e7 --- /dev/null +++ b/tests/roles/cli/tasks/from.yaml @@ -0,0 +1,23 @@ +--- +- name: remove all containers before pull + command: buildah rm --all + +- name: buildah from without pull + command: buildah from --name nginxc docker.io/nginx + +- name: buildah from with pull + command: buildah from --pull --name nginxc-2 docker.io/nginx + +- name: buildah from with pull always + command: buildah from --pull-always docker.io/busybox + +- name: remove busybox-working-container + command: buildah rm busybox-working-container + +- name: remove exist image so it will pull again + command: buildah rmi busybox + +- name: buildah from with quiet + command: buildah from --quiet docker.io/busybox + register: quietpull + failed_when: '"Getting" in quietpull.stdout' diff --git a/tests/roles/cli/tasks/images.yaml b/tests/roles/cli/tasks/images.yaml new file mode 100644 index 0000000..f113ba0 --- /dev/null +++ b/tests/roles/cli/tasks/images.yaml @@ -0,0 +1,65 @@ +--- +- name: verify buildah images digests + command: buildah images --digests + register: digest + failed_when: '"sha256" not in digest.stdout' + +- name: verify buildah images output json + command: buildah images --json + register: json + failed_when: '"id" not in json.stdout' + +- name: verify buildah images noheading + command: buildah images --noheading + register: head + failed_when: '"IMAGE" in head.stdout' + +- name: verify buildah images quiet + command: buildah images --quiet + register: quiet + failed_when: '"NAME" in quiet.stdout' + +- name: verify buildah images format output + command: buildah images --format "{% raw %}{{.ID}} {{.Name}} {{.CreatedAt}} {{.Size}}{% endraw %}" + register: format + +- lineinfile: + path: /tmp/buildah/bud/Dockerfile + insertafter: '^FROM' + line: 'LABEL project=buildah' + +- name: buildah bud with LABEL in Dockerfile + command: buildah bud --tls-verify=false -t testing/label /tmp/buildah/bud + +- name: verify buildah images filter by label + command: buildah images -f "label=project=buildah" + register: label + failed_when: '"testing/label" not in label.stdout' + +- name: buildah bud an image to test filter since/before + command: buildah bud -t testing/since /tmp/buildah/bud + +- name: verify buildah images filter by since + command: buildah images -f "since=label" + register: since + failed_when: '"testing/label" in since.stdout and "testing/since" in since.stdout' + +- name: verify buildah images filter by before + command: buildah images -f "before=since" + register: before + failed_when: '"testing/label" not in before.stdout and "testing/since" in before.stdout' + +- name: buildah build an image to test filter dangling + command: buildah bud -t testing/label /tmp/buildah/bud + +- name: verify buildah images filter by dangling + command: buildah images -f "dangling=true" -q + register: dangling + +- name: remove testing images after buildah images + command: buildah rmi {{ item }} + with_items: + - testing/label + - testing/since + - "{{ dangling.stdout }}" + - localhost:5000/buildah/busybox diff --git a/tests/roles/cli/tasks/inspect.yaml b/tests/roles/cli/tasks/inspect.yaml new file mode 100644 index 0000000..d1d8024 --- /dev/null +++ b/tests/roles/cli/tasks/inspect.yaml @@ -0,0 +1,25 @@ +--- +- name: buildah inspect an image by name + command: buildah inspect docker.io/library/nginx:latest + +- name: get image ID + command: buildah images -q docker.io/library/nginx:latest + register: imgid + +- name: buildah inspect an image by ID + command: buildah inspect --type image {{ imgid.stdout }} + +- name: buildah inspect image with format + command: buildah inspect -t image -f {% raw %}'{{ .FromImageID }}'{% endraw %} {{ imgid.stdout }} + register: inspectid + failed_when: 'inspectid.stdout != imgid.stdout' + +- name: buildah inspect container by name + command: buildah inspect -t container nginxc-2 + +- name: buildah inspect container with format + shell: buildah inspect -f {% raw %}'{{ .ContainerID }}'{% endraw %} nginxc-2 + register: inspectcid + +- name: buildah inspect container by ID + command: buildah inspect {{ inspectcid.stdout }} diff --git a/tests/roles/cli/tasks/main.yaml b/tests/roles/cli/tasks/main.yaml new file mode 100644 index 0000000..4586cd7 --- /dev/null +++ b/tests/roles/cli/tasks/main.yaml @@ -0,0 +1,64 @@ +--- +- block: + - name: buildah version + import_tasks: version.yaml + tags: + - version + + - name: buildah from + import_tasks: from.yaml + tags: + - from + + - name: buildah containers + import_tasks: containers.yaml + tags: + - ctr + + - name: buildah mount + import_tasks: mount.yaml + tags: + - mount + + - name: buildah tag + import_tasks: tag.yaml + tags: + - tag + + - name: buildah config + import_tasks: config.yaml + tags: + - config + + - name: buildah commit + import_tasks: commit.yaml + tags: + - commit + + - name: buildah inspect + import_tasks: inspect.yaml + tags: + - inspect + + - name: buildah push + import_tasks: push.yaml + tags: + - push + + - name: buildah build-using-dockerfile + import_tasks: bud.yaml + tags: + - bud + + - name: buildah images + import_tasks: images.yaml + tags: + - images + + - name: buildah run + import_tasks: run.yaml + tags: + - run + + always: + - import_tasks: cleanup.yaml diff --git a/tests/roles/cli/tasks/mount.yaml b/tests/roles/cli/tasks/mount.yaml new file mode 100644 index 0000000..09bd901 --- /dev/null +++ b/tests/roles/cli/tasks/mount.yaml @@ -0,0 +1,27 @@ +--- +- name: buildah mount container nginxc + command: buildah mount nginxc + register: mount + +- name: buildah mount without args will list all mounts + shell: buildah mount | grep storage + +- name: buildah add + import_tasks: add.yaml + tags: + - add + +- name: buildah umount + command: buildah umount nginxc + +- name: buildah mount --notruncate + command: buildah mount --notruncate nginxc-2 + register: mount + +- name: buildah copy + import_tasks: copy.yaml + tags: + - copy + +- name: buildah unmount + command: buildah unmount nginxc-2 diff --git a/tests/roles/cli/tasks/prepare-containers.yaml b/tests/roles/cli/tasks/prepare-containers.yaml new file mode 100644 index 0000000..1477e62 --- /dev/null +++ b/tests/roles/cli/tasks/prepare-containers.yaml @@ -0,0 +1,6 @@ +--- +- name: prepare container nginxc for later testing + command: buildah from --pull --name nginxc nginx + +- name: prepare container nginxc-2 for later testing + command: buildah from --name nginxc-2 nginx diff --git a/tests/roles/cli/tasks/push.yaml b/tests/roles/cli/tasks/push.yaml new file mode 100644 index 0000000..f16112b --- /dev/null +++ b/tests/roles/cli/tasks/push.yaml @@ -0,0 +1,65 @@ +--- +- name: pull busybox before push + command: buildah from --pull --name busybox docker.io/busybox + +- name: buildah push image to containers-storage + command: buildah push docker.io/busybox:latest containers-storage:docker.io/busybox:latest + +- name: buildah push image to docker daemon + command: buildah push docker.io/busybox:latest docker-daemon:docker.io/buildah/busybox:latest + +- name: check buildah/busybox exist in docker daemon + command: docker images docker.io/buildah/busybox:latest + +- name: buildah push image to docker local registry + command: buildah push --tls-verify=false docker.io/busybox:latest docker://localhost:5000/buildah/busybox:latest + +- name: create /tmp/buildah/busybox + file: path=/tmp/buildah/docker state=directory + +- name: rm busybox.tar because docker archive does not support modify + file: path=/tmp/buildah/docker/busybox.tar state=absent + +- name: buildah push image to docker-archive + command: buildah push docker.io/busybox:latest docker-archive:/tmp/buildah/docker/busybox.tar:latest + +- name: check docker archive exist + file: path=/tmp/buildah/docker/busybox.tar state=file + +- name: create /tmp/buildah/dir + file: path=/tmp/buildah/dir state=directory + +- name: buildah push image to dir + command: buildah push docker.io/busybox:latest dir:/tmp/buildah/dir + +- name: create /tmp/buildah/oci + file: path=/tmp/buildah/oci state=directory + +- name: buildah push image to oci + command: buildah push docker.io/busybox:latest oci:/tmp/buildah/oci:latest + +- name: buildah push image to oci archive + command: buildah push docker.io/busybox:latest oci-archive:/tmp/buildah/oci/busybox.tar:latest + +- name: check oci archive exist + file: path=/tmp/buildah/oci/busybox.tar state=file + +- name: init default ostree repo + command: ostree --repo=/ostree/repo init + when: not ansible_distribution == "CentOS" + +- name: create /tmp/buildah/ostree/repo + file: path=/tmp/buildah/ostree/repo state=directory + when: not ansible_distribution == "CentOS" + +- name: init tmp ostree repo + command: ostree --repo=/tmp/buildah/ostree/repo init + when: not ansible_distribution == "CentOS" + +- name: buildah push image to ostree + command: buildah push docker.io/busybox:latest ostree:busybox:latest + when: not ansible_distribution == "CentOS" + +- name: buildah push image to non-default ostree repo + command: buildah push docker.io/busybox:latest ostree:busybox:latest@/tmp/buildah/ostree/repo + when: not ansible_distribution == "CentOS" diff --git a/tests/roles/cli/tasks/run.yaml b/tests/roles/cli/tasks/run.yaml new file mode 100644 index 0000000..d80a823 --- /dev/null +++ b/tests/roles/cli/tasks/run.yaml @@ -0,0 +1,10 @@ +--- +- name: buildah run with option hostname + command: buildah run --hostname example.buildah.com nginxc -- hostname + register: hostname + failed_when: '"example.buildah.com" not in hostname.stdout' + +- name: buildah run with option volume + command: buildah run --volume /tmp/buildah/bud:/home nginxc ls /home + register: volume + failed_when: '"hello" not in volume.stdout' diff --git a/tests/roles/cli/tasks/tag.yaml b/tests/roles/cli/tasks/tag.yaml new file mode 100644 index 0000000..6b638bb --- /dev/null +++ b/tests/roles/cli/tasks/tag.yaml @@ -0,0 +1,40 @@ +--- +- name: buildah tag by name + command: buildah tag busybox busybox1 + +- name: check busybox1 exists + shell: buildah images | grep busybox1 + +- name: get image id + command: buildah images -q busybox1 + register: busyboxID + +- name: buildah tag by ID + command: buildah tag {{busyboxID.stdout}} busybox2 + +- name: check busybox2 exists + shell: buildah images | grep busybox2 + +- name: buildah from tagged image + command: buildah from docker.io/busybox1 + +- name: mount the container which using tagged image + command: buildah mount busybox1-working-container + +- name: buildah umount the container + command: buildah umount busybox1-working-container + +- name: buildah rm container busybox + command: buildah rm busybox-working-container + +- name: buildah rm container busybox1 + command: buildah rm busybox1-working-container + +- name: buildah rmi tagged image + shell: buildah rmi busybox{1..2} + +- name: check image busybox is not deleted + shell: buildah images | grep busybox + +- name: buildah rmi image busybox + command: buildah rmi busybox diff --git a/tests/roles/cli/tasks/version.yaml b/tests/roles/cli/tasks/version.yaml new file mode 100644 index 0000000..05616a5 --- /dev/null +++ b/tests/roles/cli/tasks/version.yaml @@ -0,0 +1,14 @@ +--- +- name: check version of buildah rpm package + command: rpm -q buildah + register: rpmver + args: + warn: no + +- debug: msg={{ rpmver.stdout }} + +- name: check version of command buildah version + command: buildah version + register: ver + +- debug: msg={{ ver.stdout }} diff --git a/tests/roles/github-buildah/tasks/main.yml b/tests/roles/github-buildah/tasks/main.yml new file mode 100644 index 0000000..71edef8 --- /dev/null +++ b/tests/roles/github-buildah/tasks/main.yml @@ -0,0 +1,21 @@ +--- +- name: pull latest buildah source from github + git: + repo: https://github.com/projectatomic/buildah + dest: "{{ ansible_env.HOME }}/go/src/github.com/projectatomic/buildah" + +- name: make binary for buildah + command: make + args: + chdir: "{{ ansible_env.HOME }}/go/src/github.com/projectatomic/buildah" + +- name: install buildah to /usr/local/bin + command: make install + args: + chdir: "{{ ansible_env.HOME }}/go/src/github.com/projectatomic/buildah" + +- name: copy buildah to /usr/bin + copy: + remote_src: True + src: "{{ ansible_env.HOME }}/go/src/github.com/projectatomic/buildah/buildah" + dest: /usr/bin/buildah diff --git a/tests/roles/github-runc/tasks/main.yml b/tests/roles/github-runc/tasks/main.yml new file mode 100644 index 0000000..1752a24 --- /dev/null +++ b/tests/roles/github-runc/tasks/main.yml @@ -0,0 +1,16 @@ +--- +- name: pull latest runc source from github + git: + repo: https://github.com/opencontainers/runc + dest: "{{ ansible_env.HOME }}/go/src/github.com/opencontainers/runc" + +- name: building runc for buildah runtime + command: make + args: + chdir: "{{ ansible_env.HOME }}/go/src/github.com/opencontainers/runc" + +- name: copy runc to /usr/bin + copy: + remote_src: True + src: "{{ ansible_env.HOME }}/go/src/github.com/opencontainers/runc/runc" + dest: /usr/bin/runc diff --git a/tests/roles/github/tasks/buildah.yml b/tests/roles/github/tasks/buildah.yml new file mode 100644 index 0000000..71edef8 --- /dev/null +++ b/tests/roles/github/tasks/buildah.yml @@ -0,0 +1,21 @@ +--- +- name: pull latest buildah source from github + git: + repo: https://github.com/projectatomic/buildah + dest: "{{ ansible_env.HOME }}/go/src/github.com/projectatomic/buildah" + +- name: make binary for buildah + command: make + args: + chdir: "{{ ansible_env.HOME }}/go/src/github.com/projectatomic/buildah" + +- name: install buildah to /usr/local/bin + command: make install + args: + chdir: "{{ ansible_env.HOME }}/go/src/github.com/projectatomic/buildah" + +- name: copy buildah to /usr/bin + copy: + remote_src: True + src: "{{ ansible_env.HOME }}/go/src/github.com/projectatomic/buildah/buildah" + dest: /usr/bin/buildah diff --git a/tests/roles/github/tasks/main.yml b/tests/roles/github/tasks/main.yml new file mode 100644 index 0000000..4bf4f36 --- /dev/null +++ b/tests/roles/github/tasks/main.yml @@ -0,0 +1,8 @@ +--- +- import_tasks: runc.yml + tags: + - runc + +- import_tasks: buildah.yml + tags: + - buildah diff --git a/tests/roles/github/tasks/runc.yml b/tests/roles/github/tasks/runc.yml new file mode 100644 index 0000000..1752a24 --- /dev/null +++ b/tests/roles/github/tasks/runc.yml @@ -0,0 +1,16 @@ +--- +- name: pull latest runc source from github + git: + repo: https://github.com/opencontainers/runc + dest: "{{ ansible_env.HOME }}/go/src/github.com/opencontainers/runc" + +- name: building runc for buildah runtime + command: make + args: + chdir: "{{ ansible_env.HOME }}/go/src/github.com/opencontainers/runc" + +- name: copy runc to /usr/bin + copy: + remote_src: True + src: "{{ ansible_env.HOME }}/go/src/github.com/opencontainers/runc/runc" + dest: /usr/bin/runc diff --git a/tests/roles/prepare-env/tasks/main.yml b/tests/roles/prepare-env/tasks/main.yml new file mode 100644 index 0000000..ff92b87 --- /dev/null +++ b/tests/roles/prepare-env/tasks/main.yml @@ -0,0 +1,55 @@ +--- +- name: install required packages for testings + package: + name: "{{ item }}" + state: latest + with_items: + - docker + - python-docker-py + - buildah + - docker-distribution + - ostree + - httpd + - libselinux-python + - golang + - make + - libseccomp-devel + +- name: start docker daemon + systemd: state=started name=docker + +- name: create /ostree/repo + file: path=/ostree/repo state=directory + +- name: ensure docker-distribution service is running + systemd: state=started name=docker-distribution + +- name: create tmp directory for buildah testing + file: path=/tmp/buildah/bud state=directory + +- name: download Dockerfile for hello-world from github + get_url: + url: https://raw.githubusercontent.com/docker-library/hello-world/master/amd64/hello-world/Dockerfile + dest: /tmp/buildah/bud/Dockerfile + force: yes + +- name: download hello for the Dockerfile + get_url: + url: https://github.com/docker-library/hello-world/raw/master/amd64/hello-world/hello + dest: /tmp/buildah/bud/hello + force: yes + mode: 0755 + +- name: create a bud directory in /var/www/html + file: path=/var/www/html/bud state=directory + +- name: archive dockerfile into httpd directory + command: tar zcvf /var/www/html/bud/Dockerfile.tar.gz Dockerfile hello + args: + chdir: /tmp/buildah/bud + # Disables the following warning: + # Consider using unarchive module rather than running tar + warn: no + +- name: start httpd service + systemd: state=started name=httpd diff --git a/tests/roles/tear-down/tasks/main.yml b/tests/roles/tear-down/tasks/main.yml new file mode 100644 index 0000000..091971d --- /dev/null +++ b/tests/roles/tear-down/tasks/main.yml @@ -0,0 +1,9 @@ +--- +- name: stop docker-distribution service + systemd: state=stopped name=docker-distribution + +- name: stop httpd service + systemd: state=stopped name=httpd + +- name: remove /tmp/buildah + file: path=/tmp/buildah state=absent diff --git a/tests/rpm.yml b/tests/rpm.yml new file mode 100644 index 0000000..27a9349 --- /dev/null +++ b/tests/rpm.yml @@ -0,0 +1,9 @@ +--- +# test buildah +- hosts: all + become: true + tags: + - classic + roles: + - prepare-env + - cli diff --git a/tests/test.sh b/tests/test.sh new file mode 100755 index 0000000..d4149f5 --- /dev/null +++ b/tests/test.sh @@ -0,0 +1 @@ +ansible-playbook -i inventory tests.yml "$@" diff --git a/tests/test_binary.sh b/tests/test_binary.sh new file mode 100755 index 0000000..1290479 --- /dev/null +++ b/tests/test_binary.sh @@ -0,0 +1 @@ +ansible-playbook -i inventory binary.yml "$@" diff --git a/tests/test_rpm.sh b/tests/test_rpm.sh new file mode 100755 index 0000000..3634f61 --- /dev/null +++ b/tests/test_rpm.sh @@ -0,0 +1 @@ +ansible-playbook -i inventory buildah_rpm.yml "$@" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..76e3e43 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,16 @@ +--- +# test buildah +- hosts: localhost + become: true + tags: + - classic + roles: + - role: prepare-env + tags: + - env + - role: github-runc + tags: + - github-runc + - role: cli + tags: + - cli diff --git a/tests/tmt/system.fmf b/tests/tmt/system.fmf deleted file mode 100644 index eb6b766..0000000 --- a/tests/tmt/system.fmf +++ /dev/null @@ -1,24 +0,0 @@ -require: - - buildah-tests - - git-daemon - - slirp4netns - -environment: - BUILDAH_BINARY: /usr/bin/buildah - IMGTYPE_BINARY: /usr/bin/buildah-imgtype - INET_BINARY: /usr/bin/buildah-inet - COPY_BINARY: /usr/bin/buildah-copy - TUTORIAL_BINARY: /usr/bin/buildah-tutorial - DUMPSPEC_BINARY: /usr/bin/buildah-dumpspec - PASSWD_BINARY: /usr/bin/buildah-passwd - TMPDIR: /var/tmp - -adjust: - - when: initiator != "packit" - environment+: - RELEASE_TESTING: true - -/local/root: - summary: System test - test: bash ./system.sh - duration: 60m diff --git a/tests/tmt/system.sh b/tests/tmt/system.sh deleted file mode 100644 index 73553aa..0000000 --- a/tests/tmt/system.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -set -exo pipefail - -uname -r - -rpm -q \ - aardvark-dns \ - buildah \ - buildah-tests \ - conmon \ - container-selinux \ - containers-common \ - crun \ - netavark \ - systemd - -bats /usr/share/buildah/test/system