From 9c5346257ef38c4ca370824f77707a5e9201589c Mon Sep 17 00:00:00 2001 From: Aaron Massicotte Date: Mon, 8 Jan 2024 15:15:34 +0100 Subject: [PATCH 1/5] add template for debian package delivery --- ...n-package-deliver-pipeline.properties.json | 12 +++++++++ .../debian-package-deliver-pipeline.yml | 25 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 workflow-templates/debian-package-deliver-pipeline.properties.json create mode 100644 workflow-templates/debian-package-deliver-pipeline.yml diff --git a/workflow-templates/debian-package-deliver-pipeline.properties.json b/workflow-templates/debian-package-deliver-pipeline.properties.json new file mode 100644 index 0000000..2e49828 --- /dev/null +++ b/workflow-templates/debian-package-deliver-pipeline.properties.json @@ -0,0 +1,12 @@ +{ + "name": "Debian Deliver Package to Artifactory Pipeline", + "description": "This pipeline will take a specific Debian package and deliver it to Artifactory.", + "iconName": "octicon package", + "categories": [ + "Artifactory", + "Debian" + ], + "filePatterns": [ + ".deb" + ] +} diff --git a/workflow-templates/debian-package-deliver-pipeline.yml b/workflow-templates/debian-package-deliver-pipeline.yml new file mode 100644 index 0000000..e3d78ac --- /dev/null +++ b/workflow-templates/debian-package-deliver-pipeline.yml @@ -0,0 +1,25 @@ +# For official documentation on this workflow, please refer to the link below. +# https://github.com/brandwatch/bw-workflow-actions/blob/dev/workflows/debian/debian-package-deliver.yaml.md + +name: CI Pipeline - Deliver Debian Package + +permissions: + checks: write + contents: read + +on: + push: + branches: + - "main" + +jobs: + deploy-debian-pipeline: + name: "Deliver Debian Package" + uses: brandwatch/bw-workflow-actions/.github/workflows/debian-package-deliver.yaml@dev + with: + package-file: package.deb + artifactory-directory-and-file: pool/xxx + deb-distributions: + deb-components: + deb-architectures: + secrets: inherit From 75ae8b7702aa9545d850ffd8811727b7d6fed86a Mon Sep 17 00:00:00 2001 From: Aaron Massicotte Date: Mon, 8 Jan 2024 15:36:41 +0100 Subject: [PATCH 2/5] add better indicator for debian package directory position --- workflow-templates/debian-package-deliver-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-templates/debian-package-deliver-pipeline.yml b/workflow-templates/debian-package-deliver-pipeline.yml index e3d78ac..deff65d 100644 --- a/workflow-templates/debian-package-deliver-pipeline.yml +++ b/workflow-templates/debian-package-deliver-pipeline.yml @@ -18,7 +18,7 @@ jobs: uses: brandwatch/bw-workflow-actions/.github/workflows/debian-package-deliver.yaml@dev with: package-file: package.deb - artifactory-directory-and-file: pool/xxx + artifactory-directory-and-file: pool///.deb deb-distributions: deb-components: deb-architectures: From dfff3b8e8f68c4530f9e382e4f66fec6c3a76521 Mon Sep 17 00:00:00 2001 From: Aaron Massicotte Date: Mon, 8 Jan 2024 15:38:24 +0100 Subject: [PATCH 3/5] add comments --- workflow-templates/debian-package-deliver-pipeline.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workflow-templates/debian-package-deliver-pipeline.yml b/workflow-templates/debian-package-deliver-pipeline.yml index deff65d..0beb492 100644 --- a/workflow-templates/debian-package-deliver-pipeline.yml +++ b/workflow-templates/debian-package-deliver-pipeline.yml @@ -18,6 +18,8 @@ jobs: uses: brandwatch/bw-workflow-actions/.github/workflows/debian-package-deliver.yaml@dev with: package-file: package.deb + # prefix is usually first letter of vendor, package-name does not include metadata, but artifact-name does + # see http://ftp.debian.org/debian/pool/ for examples on structuring debian packages artifactory-directory-and-file: pool///.deb deb-distributions: deb-components: From 07d4106cafb82882bf91352d167a59eb296c01e3 Mon Sep 17 00:00:00 2001 From: Aaron Massicotte Date: Tue, 9 Jan 2024 18:24:06 +0100 Subject: [PATCH 4/5] template reflects workflow which also builds the deb package --- .../debian-package-deliver-pipeline.properties.json | 2 +- workflow-templates/debian-package-deliver-pipeline.yml | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/workflow-templates/debian-package-deliver-pipeline.properties.json b/workflow-templates/debian-package-deliver-pipeline.properties.json index 2e49828..6ca6af0 100644 --- a/workflow-templates/debian-package-deliver-pipeline.properties.json +++ b/workflow-templates/debian-package-deliver-pipeline.properties.json @@ -7,6 +7,6 @@ "Debian" ], "filePatterns": [ - ".deb" + "**/DEBIAN/control" ] } diff --git a/workflow-templates/debian-package-deliver-pipeline.yml b/workflow-templates/debian-package-deliver-pipeline.yml index 0beb492..cd841fb 100644 --- a/workflow-templates/debian-package-deliver-pipeline.yml +++ b/workflow-templates/debian-package-deliver-pipeline.yml @@ -1,7 +1,7 @@ # For official documentation on this workflow, please refer to the link below. # https://github.com/brandwatch/bw-workflow-actions/blob/dev/workflows/debian/debian-package-deliver.yaml.md -name: CI Pipeline - Deliver Debian Package +name: CI Pipeline - Build and Deliver Debian Package permissions: checks: write @@ -14,10 +14,11 @@ on: jobs: deploy-debian-pipeline: - name: "Deliver Debian Package" - uses: brandwatch/bw-workflow-actions/.github/workflows/debian-package-deliver.yaml@dev + name: "Build and Deliver Debian Package" + uses: brandwatch/bw-workflow-actions/.github/workflows/debian-build-deliver-package.yaml@dev with: package-file: package.deb + package-folder: # prefix is usually first letter of vendor, package-name does not include metadata, but artifact-name does # see http://ftp.debian.org/debian/pool/ for examples on structuring debian packages artifactory-directory-and-file: pool///.deb From f323d8ca4e0febf99c4e93acb3f21ce79842763b Mon Sep 17 00:00:00 2001 From: Aaron Massicotte Date: Fri, 12 Jan 2024 16:33:43 +0100 Subject: [PATCH 5/5] update debian workflow template to use release structure and simplified workflow --- ...ebian-package-deliver-pipeline.properties.json | 2 +- .../debian-package-deliver-pipeline.yml | 15 ++++++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/workflow-templates/debian-package-deliver-pipeline.properties.json b/workflow-templates/debian-package-deliver-pipeline.properties.json index 6ca6af0..dd3bf87 100644 --- a/workflow-templates/debian-package-deliver-pipeline.properties.json +++ b/workflow-templates/debian-package-deliver-pipeline.properties.json @@ -1,6 +1,6 @@ { "name": "Debian Deliver Package to Artifactory Pipeline", - "description": "This pipeline will take a specific Debian package and deliver it to Artifactory.", + "description": "This pipeline will take a specific Debian package and deliver it to Artifactory on each GitHub Release.", "iconName": "octicon package", "categories": [ "Artifactory", diff --git a/workflow-templates/debian-package-deliver-pipeline.yml b/workflow-templates/debian-package-deliver-pipeline.yml index cd841fb..27e33d7 100644 --- a/workflow-templates/debian-package-deliver-pipeline.yml +++ b/workflow-templates/debian-package-deliver-pipeline.yml @@ -5,23 +5,20 @@ name: CI Pipeline - Build and Deliver Debian Package permissions: checks: write - contents: read + contents: write + packages: read on: - push: - branches: - - "main" + release: + types: [ released ] # can be `published` to run on pre-release instead of production releases jobs: deploy-debian-pipeline: name: "Build and Deliver Debian Package" uses: brandwatch/bw-workflow-actions/.github/workflows/debian-build-deliver-package.yaml@dev with: - package-file: package.deb - package-folder: - # prefix is usually first letter of vendor, package-name does not include metadata, but artifact-name does - # see http://ftp.debian.org/debian/pool/ for examples on structuring debian packages - artifactory-directory-and-file: pool///.deb + package-version: ${{ github.ref_name }} + package-folder: # Location of the folder which contains the DEBIAN subfolder deb-distributions: deb-components: deb-architectures: