]> xenbits.xensource.com Git - xen-guest-agent.git/commitdiff
ci/deb: let deb job generate files for an APT repository
authorYann Dirson <yann.dirson@vates.fr>
Mon, 11 Dec 2023 17:02:20 +0000 (18:02 +0100)
committerYann Dirson <yann.dirson@vates.fr>
Thu, 14 Dec 2023 08:47:48 +0000 (09:47 +0100)
For some reason, while we can fetch the artifact files with curl,
apt-get gets told they do not exist.

Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
.gitlab-ci.yml
apt-ftparchive.conf [new file with mode: 0644]

index 96b5c540e983539b02d78be5050fd50bc2a489a0..99d47a56d76fac0a0c8bc3eeecf01bcf125f5cb2 100644 (file)
@@ -183,7 +183,7 @@ pkg-deb-amd64:
     - build-release-linux-x86_64
   before_script:
     - apt update
-    - apt install -y build-essential debhelper
+    - apt install -y build-essential debhelper apt-utils
     - dpkg-checkbuilddeps
     - 'VERSION=$(grep "^version =" Cargo.toml | cut -d\" -f2 | tr "-" "~")'
   script:
@@ -194,9 +194,22 @@ pkg-deb-amd64:
       -e "s/@@DATE@@/$(date --rfc-822)/"
     - fakeroot debian/rules binary AGENT_BINARY="target/release/xen-guest-agent"
     - mv -v ../*.deb target/release/
+
+    # repository metadata
+    - cd target/release
+    - apt-ftparchive generate ../../apt-ftparchive.conf
+    - apt-ftparchive release .
+      -o APT::FTPArchive::Release::Description="xen-guest-agent CI packages"
+      -o APT::FTPArchive::Release::Label="xen-guest-agent-ci"
+      -o APT::FTPArchive::Release::Suite="ci"
+      > Release.part
+    - mv Release.part Release
   artifacts:
     paths:
       - target/release/*.deb
+      - target/release/*Release*
+      - target/release/Packages*
+      - target/release/Contents-*
 
 pkg-rpm-x86_64:
   stage: package
diff --git a/apt-ftparchive.conf b/apt-ftparchive.conf
new file mode 100644 (file)
index 0000000..b75fea7
--- /dev/null
@@ -0,0 +1,13 @@
+Dir {
+        ArchiveDir ".";
+};
+
+Default {
+        Packages::Compress ". gzip xz";
+        Contents::Compress "gzip xz";
+};
+
+BinDirectory "." {
+        Packages "Packages";
+        Contents "Contents-amd64";
+};