mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-27 07:34:35 +02:00
enh(ci): promote testing packages (#5284)
This commit is contained in:
parent
63b30540c0
commit
aa785f3bfd
49
.github/actions/deb-delivery-legacy/action.yml
vendored
49
.github/actions/deb-delivery-legacy/action.yml
vendored
@ -1,49 +0,0 @@
|
|||||||
name: "deb-delivery-legacy"
|
|
||||||
description: "Deliver legacy DEB packages"
|
|
||||||
inputs:
|
|
||||||
module_name:
|
|
||||||
description: "The package module name"
|
|
||||||
required: true
|
|
||||||
distrib:
|
|
||||||
description: "The distribution used for packaging"
|
|
||||||
required: true
|
|
||||||
major_version:
|
|
||||||
description: "The major version"
|
|
||||||
required: true
|
|
||||||
cache_key:
|
|
||||||
description: "The cached package key"
|
|
||||||
required: true
|
|
||||||
stability:
|
|
||||||
description: "The package stability (stable, testing, unstable)"
|
|
||||||
required: true
|
|
||||||
artifactory_token:
|
|
||||||
description: "token for artifactory"
|
|
||||||
required: true
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: "composite"
|
|
||||||
steps:
|
|
||||||
- name: Use cache DEB files
|
|
||||||
uses: actions/cache/restore@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
|
|
||||||
with:
|
|
||||||
path: ./*.deb
|
|
||||||
key: ${{ inputs.cache_key }}
|
|
||||||
fail-on-cache-miss: true
|
|
||||||
|
|
||||||
- uses: jfrog/setup-jfrog-cli@26da2259ee7690e63b5410d7451b2938d08ce1f9 # v4.0.0
|
|
||||||
env:
|
|
||||||
JF_URL: https://centreon.jfrog.io
|
|
||||||
JF_ACCESS_TOKEN: ${{ inputs.artifactory_token }}
|
|
||||||
|
|
||||||
- name: Publish DEBs to artifactory
|
|
||||||
run: |
|
|
||||||
FILES="*.deb"
|
|
||||||
|
|
||||||
for FILE in $FILES; do
|
|
||||||
echo "[DEBUG] - File: $FILE"
|
|
||||||
|
|
||||||
ARCH=$(echo $FILE | cut -d '_' -f3 | cut -d '.' -f1)
|
|
||||||
|
|
||||||
jf rt upload "$FILE" "apt-standard-${{ inputs.major_version }}-${{ inputs.stability }}/pool/${{ inputs.module_name }}/" --deb "${{ inputs.distrib }}/main/$ARCH"
|
|
||||||
done
|
|
||||||
shell: bash
|
|
60
.github/actions/deb-delivery/action.yml
vendored
60
.github/actions/deb-delivery/action.yml
vendored
@ -1,60 +0,0 @@
|
|||||||
name: "deb-delivery"
|
|
||||||
description: "Deliver DEB packages"
|
|
||||||
inputs:
|
|
||||||
module_name:
|
|
||||||
description: "The package module name"
|
|
||||||
required: true
|
|
||||||
distrib:
|
|
||||||
description: "The distribution used for packaging"
|
|
||||||
required: true
|
|
||||||
cache_key:
|
|
||||||
description: "The cached package key"
|
|
||||||
required: true
|
|
||||||
stability:
|
|
||||||
description: "The package stability (stable, testing, unstable)"
|
|
||||||
required: true
|
|
||||||
artifactory_token:
|
|
||||||
description: "token for artifactory"
|
|
||||||
required: true
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: "composite"
|
|
||||||
steps:
|
|
||||||
- name: Remove previously delivered DEBs
|
|
||||||
if: ${{ ! (inputs.distrib == 'jammy' && inputs.stability == 'stable') }}
|
|
||||||
run: rm -f ./*.deb
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Use cache DEB files
|
|
||||||
if: ${{ ! (inputs.distrib == 'jammy' && inputs.stability == 'stable') }}
|
|
||||||
uses: actions/cache/restore@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
|
|
||||||
with:
|
|
||||||
path: ./*.deb
|
|
||||||
key: ${{ inputs.cache_key }}
|
|
||||||
fail-on-cache-miss: true
|
|
||||||
|
|
||||||
- if: ${{ ! (inputs.distrib == 'jammy' && inputs.stability == 'stable') }}
|
|
||||||
uses: jfrog/setup-jfrog-cli@26da2259ee7690e63b5410d7451b2938d08ce1f9 # v4.0.0
|
|
||||||
env:
|
|
||||||
JF_URL: https://centreon.jfrog.io
|
|
||||||
JF_ACCESS_TOKEN: ${{ inputs.artifactory_token }}
|
|
||||||
|
|
||||||
- name: Publish DEBs to artifactory
|
|
||||||
if: ${{ ! (inputs.distrib == 'jammy' && inputs.stability == 'stable') }}
|
|
||||||
run: |
|
|
||||||
FILES="*.deb"
|
|
||||||
|
|
||||||
if [[ "${{ inputs.distrib }}" == "jammy" ]]; then
|
|
||||||
REPO_PREFIX="ubuntu"
|
|
||||||
else
|
|
||||||
REPO_PREFIX="apt"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for FILE in $FILES; do
|
|
||||||
echo "[DEBUG] - File: $FILE"
|
|
||||||
|
|
||||||
ARCH=$(echo $FILE | cut -d '_' -f3 | cut -d '.' -f1)
|
|
||||||
|
|
||||||
jf rt upload "$FILE" "${REPO_PREFIX}-plugins-${{ inputs.stability }}/pool/${{ inputs.module_name }}/" --deb "${{ inputs.distrib }}/main/$ARCH"
|
|
||||||
done
|
|
||||||
shell: bash
|
|
202
.github/actions/package-delivery/action.yml
vendored
Normal file
202
.github/actions/package-delivery/action.yml
vendored
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
name: "package-delivery"
|
||||||
|
description: "Deliver packages"
|
||||||
|
inputs:
|
||||||
|
module_name:
|
||||||
|
description: "The package module name"
|
||||||
|
required: true
|
||||||
|
distrib:
|
||||||
|
description: "The distribution used for packaging"
|
||||||
|
required: true
|
||||||
|
arch:
|
||||||
|
description: "The target distribution architecture"
|
||||||
|
required: false
|
||||||
|
cache_key:
|
||||||
|
description: "The cached package key"
|
||||||
|
required: true
|
||||||
|
stability:
|
||||||
|
description: "The package stability (stable, testing, unstable)"
|
||||||
|
required: true
|
||||||
|
release_type:
|
||||||
|
description: "Type of release (hotfix, release)"
|
||||||
|
required: true
|
||||||
|
artifactory_token:
|
||||||
|
description: "token for artifactory"
|
||||||
|
required: true
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Validate inputs
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
if ('${{ inputs.module_name }}' === '') {
|
||||||
|
throw new Error('module_name input must be defined');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! ['stable', 'testing', 'unstable'].includes('${{ inputs.stability }}')) {
|
||||||
|
throw new Error(`Stability ${{ inputs.stability }} should not deliver packages`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('${{ inputs.stability }}' === 'testing' && ! ['testing', 'hotfix'].includes('${{ inputs.release_type }}')) {
|
||||||
|
throw new Error('release_type input must be defined when stability is testing');
|
||||||
|
}
|
||||||
|
|
||||||
|
- name: Parse distrib name
|
||||||
|
id: parse-distrib
|
||||||
|
uses: ./.github/actions/parse-distrib
|
||||||
|
with:
|
||||||
|
distrib: ${{ inputs.distrib }}
|
||||||
|
|
||||||
|
- name: Get repository stability path
|
||||||
|
id: get_repository_stability_path
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
let stabilitySubdirectory = '${{ inputs.stability }}';
|
||||||
|
|
||||||
|
if ('${{ inputs.stability }}' === 'testing' && '${{ inputs.release_type }}' === 'hotfix') {
|
||||||
|
stabilitySubdirectory = '${{ inputs.stability }}-${{ inputs.release_type }}';
|
||||||
|
}
|
||||||
|
|
||||||
|
let repositoryStabilityPath = '';
|
||||||
|
if ('${{ steps.parse-distrib.outputs.distrib_family }}' === 'el') {
|
||||||
|
repositoryStabilityPath = `rpm-connectors/2e83f5ff110c44a9cab8f8c7ebbe3c4f/${{ inputs.distrib }}/${stabilitySubdirectory}`;
|
||||||
|
} else if ('${{ steps.parse-distrib.outputs.distrib_family }}' === 'ubuntu') {
|
||||||
|
repositoryStabilityPath = `ubuntu-connectors-${{ inputs.stability }}`;
|
||||||
|
} else if ('${{ steps.parse-distrib.outputs.distrib_family }}' === 'debian') {
|
||||||
|
repositoryStabilityPath = `apt-connectors-${{ inputs.stability }}`;
|
||||||
|
} else {
|
||||||
|
throw new Error(`Repository cannot be find for distribution: ${{ inputs.distrib }}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
core.setOutput(
|
||||||
|
'repository_stability_path',
|
||||||
|
repositoryStabilityPath,
|
||||||
|
);
|
||||||
|
|
||||||
|
- if: ${{ inputs.stability != 'stable' }}
|
||||||
|
name: Restore packages from cache
|
||||||
|
uses: actions/cache/restore@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
|
||||||
|
with:
|
||||||
|
path: ./*.${{ steps.parse-distrib.outputs.package_extension }}
|
||||||
|
key: ${{ inputs.cache_key }}
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
- uses: jfrog/setup-jfrog-cli@9fe0f98bd45b19e6e931d457f4e98f8f84461fb5 # v4.4.1
|
||||||
|
with:
|
||||||
|
disable-job-summary: true
|
||||||
|
disable-auto-build-publish: true
|
||||||
|
env:
|
||||||
|
JF_URL: https://centreon.jfrog.io
|
||||||
|
JF_ACCESS_TOKEN: ${{ inputs.artifactory_token }}
|
||||||
|
|
||||||
|
- if: ${{ inputs.stability == 'testing' }}
|
||||||
|
name: Clean existing testing packages
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
if ('${{ steps.parse-distrib.outputs.distrib_family }}' === 'el') {
|
||||||
|
await exec.exec(
|
||||||
|
`jf rt del "${{ steps.get_repository_stability_path.outputs.repository_stability_path }}/*/${{ inputs.module_name }}/*.rpm" --exclusions "*/RPMS/*" --quiet`
|
||||||
|
);
|
||||||
|
} else if ('${{ steps.parse-distrib.outputs.package_extension }}' === 'deb') {
|
||||||
|
await exec.exec(
|
||||||
|
`jf rt del "${{ steps.get_repository_stability_path.outputs.repository_stability_path }}/pool/${{ inputs.module_name }}/*${{ steps.parse-distrib.outputs.package_distrib_name }}*.deb" --quiet --props "release_type=${{ inputs.release_type }}"`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
- name: Download packages from testing
|
||||||
|
if: ${{ inputs.stability == 'testing' }}
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const warningNoPromote = 'No packages are promoted because push is not related to a hotfix/release pull request.';
|
||||||
|
const commitSha = context.sha;
|
||||||
|
|
||||||
|
const { data: { items } } = await github.rest.search.issuesAndPullRequests({
|
||||||
|
q: `${commitSha} type:pr is:merged`
|
||||||
|
});
|
||||||
|
|
||||||
|
if (items.length === 0) {
|
||||||
|
core.warning(warningNoPromote);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const prNumber = items[0].number;
|
||||||
|
|
||||||
|
const pr = await github.rest.pulls.get({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
pull_number: prNumber
|
||||||
|
});
|
||||||
|
|
||||||
|
const prBaseRef = pr.data?.base?.ref || 'unknown';
|
||||||
|
let releaseType = '';
|
||||||
|
switch (true) {
|
||||||
|
case /^release.+/.test(prBaseRef):
|
||||||
|
releaseType = 'release';
|
||||||
|
break;
|
||||||
|
case /^hotfix.+/.test(prBaseRef):
|
||||||
|
releaseType = 'hotfix';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
core.warning(warningNoPromote);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let fromStabilitySubdirectory = 'testing';
|
||||||
|
if (releaseType === 'hotfix' ) {
|
||||||
|
fromStabilitySubdirectory = `testing-${releaseType}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('${{ steps.parse-distrib.outputs.distrib_family }}' === 'el') {
|
||||||
|
await exec.exec(
|
||||||
|
`jf rt download --flat "rpm-connectors/2e83f5ff110c44a9cab8f8c7ebbe3c4f/${{ inputs.distrib }}/${fromStabilitySubdirectory}/*/${{ inputs.module_name }}/*.rpm"`
|
||||||
|
);
|
||||||
|
} else if ('${{ steps.parse-distrib.outputs.distrib_family }}' === 'ubuntu') {
|
||||||
|
await exec.exec(
|
||||||
|
`jf rt download --flat "ubuntu-connectors-testing/pool/${{ inputs.module_name }}/*${{ steps.parse-distrib.outputs.package_distrib_name }}*.deb" --props "release_type=${{ inputs.release_type }}"`
|
||||||
|
);
|
||||||
|
} else if ('${{ steps.parse-distrib.outputs.distrib_family }}' === 'debian') {
|
||||||
|
await exec.exec(
|
||||||
|
`jf rt download --flat "apt-connectors-testing/pool/${{ inputs.module_name }}/*${{ steps.parse-distrib.outputs.package_distrib_name }}*.deb" --props "release_type=${{ inputs.release_type }}"`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
- name: Publish packages to ${{ inputs.stability }}
|
||||||
|
if: |
|
||||||
|
contains(fromJson('["testing", "unstable"]'), inputs.stability) ||
|
||||||
|
(needs.get-version.outputs.stability == 'stable' && github.event_name == 'push' && inputs.distrib != 'jammy')
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const path = require('path');
|
||||||
|
const globber = await glob.create('*.${{ steps.parse-distrib.outputs.package_extension }}');
|
||||||
|
|
||||||
|
const debTargetProps = '${{ inputs.stability }}' == 'testing' ? '--target-props "release_type=${{ inputs.release_type }}"' : '';
|
||||||
|
|
||||||
|
for await (const file of globber.globGenerator()) {
|
||||||
|
const fileName = path.basename(file);
|
||||||
|
|
||||||
|
if ('${{ steps.parse-distrib.outputs.package_extension }}' === 'rpm') {
|
||||||
|
let arch = 'noarch';
|
||||||
|
if (/x86_64/.test(fileName)) {
|
||||||
|
arch = 'x86_64';
|
||||||
|
}
|
||||||
|
await exec.exec(
|
||||||
|
`jf rt upload --flat "*.rpm" "${{ steps.get_repository_stability_path.outputs.repository_stability_path }}/${arch}/${{ inputs.module_name }}/*.rpm"`
|
||||||
|
);
|
||||||
|
} else if ('${{ steps.parse-distrib.outputs.package_extension }}' === 'deb') {
|
||||||
|
let arch = 'all';
|
||||||
|
const matches = fileName.match(/_([^_]+)\.deb/);
|
||||||
|
if (matches !== null && matches.length > 1) {
|
||||||
|
arch = matches[1];
|
||||||
|
}
|
||||||
|
if ('${{ inputs.arch }}' === '' || '${{ inputs.arch }}' === arch) {
|
||||||
|
await exec.exec(
|
||||||
|
`jf rt upload --flat "*.deb" "${{ steps.get_repository_stability_path.outputs.repository_stability_path }}/pool/${{ inputs.module_name }}/" --deb "${{ inputs.distrib }}/main/${arch}" ${debTargetProps}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
.github/actions/package-nfpm/action.yml
vendored
15
.github/actions/package-nfpm/action.yml
vendored
@ -48,12 +48,6 @@ runs:
|
|||||||
using: composite
|
using: composite
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Remove previously packaged DEBs and RPMs
|
|
||||||
run: |
|
|
||||||
rm -f ./*.deb
|
|
||||||
rm -f ./*.rpm
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Parse distrib name
|
- name: Parse distrib name
|
||||||
id: parse-distrib
|
id: parse-distrib
|
||||||
uses: ./.github/actions/parse-distrib
|
uses: ./.github/actions/parse-distrib
|
||||||
@ -128,14 +122,7 @@ runs:
|
|||||||
done
|
done
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- if: ${{ inputs.distrib == 'el7' }}
|
- uses: actions/cache/save@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
|
||||||
uses: actions/cache/save@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
|
|
||||||
with:
|
|
||||||
path: ./*.${{ inputs.package_extension }}
|
|
||||||
key: ${{ inputs.cache_key }}
|
|
||||||
|
|
||||||
- if: ${{ inputs.distrib != 'el7' }}
|
|
||||||
uses: actions/cache/save@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
|
|
||||||
with:
|
with:
|
||||||
path: ./*.${{ inputs.package_extension }}
|
path: ./*.${{ inputs.package_extension }}
|
||||||
key: ${{ inputs.cache_key }}
|
key: ${{ inputs.cache_key }}
|
||||||
|
75
.github/actions/rpm-delivery-legacy/action.yml
vendored
75
.github/actions/rpm-delivery-legacy/action.yml
vendored
@ -1,75 +0,0 @@
|
|||||||
name: "rpm-delivery-legacy"
|
|
||||||
description: "rpm delivery in legacy repositories"
|
|
||||||
inputs:
|
|
||||||
module_name:
|
|
||||||
description: "The package module name"
|
|
||||||
required: true
|
|
||||||
major_version:
|
|
||||||
description: "The major version"
|
|
||||||
required: true
|
|
||||||
distrib:
|
|
||||||
description: "The distribution used for packaging"
|
|
||||||
required: true
|
|
||||||
cache_key:
|
|
||||||
description: "The cached package key"
|
|
||||||
required: true
|
|
||||||
stability:
|
|
||||||
description: "The package stability (stable, testing, unstable)"
|
|
||||||
required: true
|
|
||||||
artifactory_token:
|
|
||||||
description: "token for artifactory"
|
|
||||||
required: true
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: "composite"
|
|
||||||
steps:
|
|
||||||
- name: Use cache RPM files
|
|
||||||
uses: actions/cache/restore@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
|
|
||||||
with:
|
|
||||||
path: ./*.rpm
|
|
||||||
key: ${{ inputs.cache_key }}
|
|
||||||
fail-on-cache-miss: true
|
|
||||||
|
|
||||||
- uses: jfrog/setup-jfrog-cli@26da2259ee7690e63b5410d7451b2938d08ce1f9 # v4.0.0
|
|
||||||
env:
|
|
||||||
JF_URL: https://centreon.jfrog.io
|
|
||||||
JF_ACCESS_TOKEN: ${{ inputs.artifactory_token }}
|
|
||||||
|
|
||||||
- name: Publish RPMs to standard repository
|
|
||||||
run: |
|
|
||||||
FILES="*.rpm"
|
|
||||||
|
|
||||||
echo "[DEBUG] - Distrib: ${{ inputs.distrib }}"
|
|
||||||
|
|
||||||
if [ -z "${{ inputs.module_name }}" ]; then
|
|
||||||
echo "::error::Module name is required"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${{ inputs.distrib }}" ]; then
|
|
||||||
echo "::error::Distrib is required"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir noarch x86_64
|
|
||||||
|
|
||||||
for FILE in $FILES; do
|
|
||||||
echo "[DEBUG] - File: $FILE"
|
|
||||||
|
|
||||||
ARCH=$(echo $FILE | grep -oP '(x86_64|noarch)')
|
|
||||||
|
|
||||||
echo "[DEBUG] - Arch: $ARCH"
|
|
||||||
|
|
||||||
cp "$FILE" "$ARCH"
|
|
||||||
done
|
|
||||||
|
|
||||||
for ARCH in "noarch" "x86_64"; do
|
|
||||||
if [ "$(ls -A $ARCH)" ]; then
|
|
||||||
if [ "${{ inputs.stability }}" == "stable" ]; then
|
|
||||||
jf rt upload "$ARCH/*.rpm" "rpm-standard/${{ inputs.major_version }}/${{ inputs.distrib }}/${{ inputs.stability }}/$ARCH/RPMS/${{ inputs.module_name }}/" --flat
|
|
||||||
else
|
|
||||||
jf rt upload "$ARCH/*.rpm" "rpm-standard/${{ inputs.major_version }}/${{ inputs.distrib }}/${{ inputs.stability }}/$ARCH/${{ inputs.module_name }}/" --flat
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
shell: bash
|
|
77
.github/actions/rpm-delivery/action.yml
vendored
77
.github/actions/rpm-delivery/action.yml
vendored
@ -1,77 +0,0 @@
|
|||||||
name: "rpm-delivery"
|
|
||||||
description: "rpm delivery"
|
|
||||||
inputs:
|
|
||||||
module_name:
|
|
||||||
description: "The package module name"
|
|
||||||
required: true
|
|
||||||
distrib:
|
|
||||||
description: "The distribution used for packaging"
|
|
||||||
required: true
|
|
||||||
cache_key:
|
|
||||||
description: "The cached package key"
|
|
||||||
required: true
|
|
||||||
stability:
|
|
||||||
description: "The package stability (stable, testing, unstable)"
|
|
||||||
required: true
|
|
||||||
artifactory_token:
|
|
||||||
description: "token for artifactory"
|
|
||||||
required: true
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: "composite"
|
|
||||||
steps:
|
|
||||||
- name: Remove previously delivered RPMs
|
|
||||||
run: rm -f ./*.rpm
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Use cache RPM files
|
|
||||||
uses: actions/cache/restore@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
|
|
||||||
with:
|
|
||||||
path: ./*.rpm
|
|
||||||
key: ${{ inputs.cache_key }}
|
|
||||||
fail-on-cache-miss: true
|
|
||||||
|
|
||||||
- uses: jfrog/setup-jfrog-cli@26da2259ee7690e63b5410d7451b2938d08ce1f9 # v4.0.0
|
|
||||||
env:
|
|
||||||
JF_URL: https://centreon.jfrog.io
|
|
||||||
JF_ACCESS_TOKEN: ${{ inputs.artifactory_token }}
|
|
||||||
|
|
||||||
- name: Publish RPMs to plugins repository
|
|
||||||
run: |
|
|
||||||
FILES="*.rpm"
|
|
||||||
|
|
||||||
echo "[DEBUG] - Distrib: ${{ inputs.distrib }}"
|
|
||||||
|
|
||||||
if [ -z "${{ inputs.module_name }}" ]; then
|
|
||||||
echo "module name is required"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${{ inputs.distrib }}" ]; then
|
|
||||||
echo "distrib is required"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf noarch x86_64
|
|
||||||
mkdir noarch x86_64
|
|
||||||
|
|
||||||
for FILE in $FILES; do
|
|
||||||
echo "[DEBUG] - File: $FILE"
|
|
||||||
|
|
||||||
ARCH=$(echo $FILE | grep -oP '(x86_64|noarch)')
|
|
||||||
|
|
||||||
echo "[DEBUG] - Arch: $ARCH"
|
|
||||||
|
|
||||||
cp "$FILE" "$ARCH"
|
|
||||||
done
|
|
||||||
|
|
||||||
for ARCH in "noarch" "x86_64"; do
|
|
||||||
if [ "$(ls -A $ARCH)" ]; then
|
|
||||||
if [ "${{ inputs.stability }}" == "stable" ]; then
|
|
||||||
jf rt upload "$ARCH/*.rpm" "rpm-plugins/${{ inputs.distrib }}/${{ inputs.stability }}/$ARCH/RPMS/${{ inputs.module_name }}/" --flat
|
|
||||||
else
|
|
||||||
jf rt upload "$ARCH/*.rpm" "rpm-plugins/${{ inputs.distrib }}/${{ inputs.stability }}/$ARCH/${{ inputs.module_name }}/" --flat
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
shell: bash
|
|
@ -10,7 +10,7 @@ baseurl=https://repo.goreleaser.com/yum/
|
|||||||
enabled=1
|
enabled=1
|
||||||
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
||||||
|
|
||||||
dnf -y install gcc git gettext rpm-build dos2unix python3 epel-release nfpm openssl-devel jq zstd selinux-policy-devel
|
dnf -y install gcc git gettext rpm-build dos2unix python3 epel-release nfpm-2.41.0 openssl-devel jq zstd selinux-policy-devel
|
||||||
dnf -y install perl-App-cpanminus perl-JSON
|
dnf -y install perl-App-cpanminus perl-JSON
|
||||||
cpanm App::FatPacker
|
cpanm App::FatPacker
|
||||||
cpanm File::Copy::Recursive
|
cpanm File::Copy::Recursive
|
||||||
|
@ -10,7 +10,7 @@ baseurl=https://repo.goreleaser.com/yum/
|
|||||||
enabled=1
|
enabled=1
|
||||||
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
||||||
|
|
||||||
dnf -y install gcc git gettext rpm-build dos2unix python3 epel-release nfpm openssl-devel jq zstd selinux-policy-devel
|
dnf -y install gcc git gettext rpm-build dos2unix python3 epel-release nfpm-2.41.0 openssl-devel jq zstd selinux-policy-devel
|
||||||
dnf -y install perl-App-cpanminus perl-JSON
|
dnf -y install perl-App-cpanminus perl-JSON
|
||||||
cpanm App::FatPacker
|
cpanm App::FatPacker
|
||||||
cpanm File::Copy::Recursive
|
cpanm File::Copy::Recursive
|
||||||
|
@ -59,7 +59,7 @@ gem install fpm
|
|||||||
|
|
||||||
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y nfpm
|
apt-get install -y nfpm=2.41.0
|
||||||
|
|
||||||
apt-get clean
|
apt-get clean
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ gem install fpm
|
|||||||
|
|
||||||
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y nfpm
|
apt-get install -y nfpm=2.41.0
|
||||||
|
|
||||||
apt-get clean
|
apt-get clean
|
||||||
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
ARG REGISTRY_URL=docker.io
|
|
||||||
|
|
||||||
FROM ${REGISTRY_URL}/centos:7
|
|
||||||
|
|
||||||
RUN bash -e <<EOF
|
|
||||||
|
|
||||||
echo '[goreleaser]
|
|
||||||
name=GoReleaser
|
|
||||||
baseurl=https://repo.goreleaser.com/yum/
|
|
||||||
enabled=1
|
|
||||||
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
|
||||||
|
|
||||||
yum -y install git gettext rpm-build dos2unix python3 epel-release nfpm
|
|
||||||
yum -y install perl-App-FatPacker perl-File-Copy-Recursive perl-JSON jq zstd
|
|
||||||
yum clean all
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
WORKDIR /src
|
|
@ -61,7 +61,7 @@ gem install fpm
|
|||||||
|
|
||||||
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y nfpm
|
apt-get install -y nfpm=2.41.0
|
||||||
|
|
||||||
apt-get clean
|
apt-get clean
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ name=GoReleaser
|
|||||||
baseurl=https://repo.goreleaser.com/yum/
|
baseurl=https://repo.goreleaser.com/yum/
|
||||||
enabled=1
|
enabled=1
|
||||||
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
||||||
dnf install -y nfpm
|
dnf install -y nfpm-2.41.0
|
||||||
dnf clean all
|
dnf clean all
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
@ -21,7 +21,7 @@ name=GoReleaser
|
|||||||
baseurl=https://repo.goreleaser.com/yum/
|
baseurl=https://repo.goreleaser.com/yum/
|
||||||
enabled=1
|
enabled=1
|
||||||
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
||||||
dnf install -y nfpm
|
dnf install -y nfpm-2.41.0
|
||||||
dnf clean all
|
dnf clean all
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
@ -15,7 +15,7 @@ apt-get install -y \
|
|||||||
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y nfpm
|
apt-get install -y nfpm=2.41.0
|
||||||
|
|
||||||
apt-get clean all
|
apt-get clean all
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ apt-get install -y \
|
|||||||
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y nfpm
|
apt-get install -y nfpm=2.41.0
|
||||||
|
|
||||||
apt-get clean all
|
apt-get clean all
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ rm -f apache-maven-3.8.8-bin.tar.gz
|
|||||||
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | tee /etc/apt/sources.list.d/goreleaser.list
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y nfpm
|
apt-get install -y nfpm=2.41.0
|
||||||
|
|
||||||
apt-get clean all
|
apt-get clean all
|
||||||
|
|
||||||
|
7
.github/workflows/actionlint.yml
vendored
7
.github/workflows/actionlint.yml
vendored
@ -15,8 +15,8 @@ on:
|
|||||||
- ".github/**"
|
- ".github/**"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
actionlint:
|
action-lint:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
@ -36,8 +36,9 @@ jobs:
|
|||||||
-pyflakes= \
|
-pyflakes= \
|
||||||
-color
|
-color
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
yaml-lint:
|
yaml-lint:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
54
.github/workflows/as400.yml
vendored
54
.github/workflows/as400.yml
vendored
@ -104,46 +104,40 @@ jobs:
|
|||||||
path: ./*.${{ matrix.package_extension }}
|
path: ./*.${{ matrix.package_extension }}
|
||||||
key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["stable", "testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9]
|
include:
|
||||||
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/rpm-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: as400
|
module_name: as400
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["stable", "testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye, bookworm, jammy]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: as400
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
74
.github/workflows/connector-vmware.yml
vendored
74
.github/workflows/connector-vmware.yml
vendored
@ -81,66 +81,40 @@ jobs:
|
|||||||
path: centreon-plugin*
|
path: centreon-plugin*
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9]
|
include:
|
||||||
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/rpm-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: connector-vmware
|
module_name: connector-vmware
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye, bookworm, jammy]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: connector-vmware
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [el8, el9, bullseye, bookworm]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} to stable
|
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
module: connector-vmware
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
@ -20,6 +20,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
create-and-push-docker:
|
create-and-push-docker:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- runner: ubuntu-22.04
|
- runner: ubuntu-22.04
|
||||||
|
@ -20,6 +20,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
create-and-push-docker:
|
create-and-push-docker:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- runner: ubuntu-22.04
|
- runner: ubuntu-22.04
|
||||||
|
@ -20,6 +20,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
create-and-push-docker:
|
create-and-push-docker:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- runner: ubuntu-22.04
|
- runner: ubuntu-22.04
|
||||||
|
199
.github/workflows/get-environment.yml
vendored
199
.github/workflows/get-environment.yml
vendored
@ -5,53 +5,117 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
outputs:
|
outputs:
|
||||||
stability:
|
|
||||||
description: "branch stability (stable, testing, unstable, canary)"
|
|
||||||
value: ${{ jobs.get-version.outputs.stability }}
|
|
||||||
version:
|
version:
|
||||||
description: "version"
|
description: "version"
|
||||||
value: ${{ jobs.get-version.outputs.version }}
|
value: ${{ jobs.get-environment.outputs.version }}
|
||||||
release:
|
release:
|
||||||
description: "release number"
|
description: "release"
|
||||||
value: ${{ jobs.get-version.outputs.release }}
|
value: ${{ jobs.get-environment.outputs.release }}
|
||||||
|
stability:
|
||||||
|
description: "branch stability (stable, testing, unstable, canary)"
|
||||||
|
value: ${{ jobs.get-environment.outputs.stability }}
|
||||||
|
target_stability:
|
||||||
|
description: "Final target branch stability (stable, testing, unstable, canary or not defined if not a pull request)"
|
||||||
|
value: ${{ jobs.get-environment.outputs.target_stability }}
|
||||||
|
release_type:
|
||||||
|
description: "type of release (hotfix, release or not defined if not a release)"
|
||||||
|
value: ${{ jobs.get-environment.outputs.release_type }}
|
||||||
|
is_targeting_feature_branch:
|
||||||
|
description: "if it is a PR, check if targeting a feature branch"
|
||||||
|
value: ${{ jobs.get-environment.outputs.is_targeting_feature_branch }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
get-version:
|
get-environment:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
outputs:
|
outputs:
|
||||||
stability: ${{ steps.get_environment.outputs.stability }}
|
version: ${{ steps.get_version.outputs.version }}
|
||||||
version: ${{ steps.get_environment.outputs.version }}
|
release: ${{ steps.get_release.outputs.release }}
|
||||||
release: ${{ steps.get_environment.outputs.release }}
|
stability: ${{ steps.get_stability.outputs.stability }}
|
||||||
|
target_stability: ${{ steps.get_stability.outputs.target_stability }}
|
||||||
|
release_type: ${{ steps.get_release_type.outputs.release_type }}
|
||||||
|
is_targeting_feature_branch: ${{ steps.get_stability.outputs.is_targeting_feature_branch }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources (current branch)
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- id: get_environment
|
- if: ${{ github.event_name == 'pull_request' }}
|
||||||
|
name: Get nested pull request path
|
||||||
|
id: pr_path
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const prPath = ['${{ github.head_ref }}', '${{ github.base_ref }}'];
|
||||||
|
|
||||||
|
const result = await github.rest.pulls.list({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
per_page: 100,
|
||||||
|
state: 'open'
|
||||||
|
});
|
||||||
|
|
||||||
|
let found = true;
|
||||||
|
while (found) {
|
||||||
|
found = false;
|
||||||
|
result.data.forEach(({ head: { ref: headRef }, base: { ref: baseRef} }) => {
|
||||||
|
if (headRef === prPath[prPath.length - 1] && ! prPath.includes(baseRef)) {
|
||||||
|
found = true;
|
||||||
|
prPath.push(baseRef);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return prPath;
|
||||||
|
|
||||||
|
- name: Get stability
|
||||||
|
id: get_stability
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const getStability = (branchName) => {
|
||||||
|
switch (true) {
|
||||||
|
case /(^develop$)|(^dev-\d{2}\.\d{2}\.x$)|(^prepare-release-cloud.*)/.test(branchName):
|
||||||
|
return 'unstable';
|
||||||
|
case /(^release.+)|(^hotfix.+)/.test(branchName):
|
||||||
|
return 'testing';
|
||||||
|
case /(^master$)|(^\d{2}\.\d{2}\.x$)/.test(branchName):
|
||||||
|
return 'stable';
|
||||||
|
default:
|
||||||
|
return 'canary';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
core.setOutput('stability', getStability('${{ github.head_ref || github.ref_name }}'));
|
||||||
|
|
||||||
|
let isTargetingFeatureBranch = false;
|
||||||
|
if ("${{ github.event_name }}" === "pull_request") {
|
||||||
|
let targetStability = 'canary';
|
||||||
|
const prPath = ${{ steps.pr_path.outputs.result || '[]' }};
|
||||||
|
prPath.shift(); // remove current branch
|
||||||
|
|
||||||
|
if (prPath.length && getStability(prPath[0]) === 'canary') {
|
||||||
|
isTargetingFeatureBranch = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
prPath.every((branchName) => {
|
||||||
|
console.log(`checking stability of ${branchName}`)
|
||||||
|
targetStability = getStability(branchName);
|
||||||
|
|
||||||
|
if (targetStability !== 'canary') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
core.setOutput('target_stability', targetStability);
|
||||||
|
}
|
||||||
|
|
||||||
|
core.setOutput('is_targeting_feature_branch', isTargetingFeatureBranch);
|
||||||
|
|
||||||
|
- name: Get version
|
||||||
|
id: get_version
|
||||||
run: |
|
run: |
|
||||||
if [[ -z "$GITHUB_HEAD_REF" ]]; then
|
|
||||||
BRANCHNAME="$GITHUB_REF_NAME"
|
|
||||||
else
|
|
||||||
BRANCHNAME="$GITHUB_HEAD_REF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$BRANCHNAME" in
|
|
||||||
develop)
|
|
||||||
STABILITY="unstable"
|
|
||||||
;;
|
|
||||||
release* | hotfix*)
|
|
||||||
STABILITY="testing"
|
|
||||||
;;
|
|
||||||
master)
|
|
||||||
STABILITY="stable"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
STABILITY="canary"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "stability=$STABILITY" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
if [[ "${{ inputs.version_file }}" == "" ]]; then
|
if [[ "${{ inputs.version_file }}" == "" ]]; then
|
||||||
VERSION=$(date '+%Y%m%d')
|
VERSION=$(date '+%Y%m%d')
|
||||||
elif [[ "${{ inputs.version_file }}" == */*.yaml ]]; then
|
elif [[ "${{ inputs.version_file }}" == */*.yaml ]]; then
|
||||||
@ -60,7 +124,62 @@ jobs:
|
|||||||
VERSION=$(grep VERSION ${{ inputs.version_file }} | cut -d "'" -f 2)
|
VERSION=$(grep VERSION ${{ inputs.version_file }} | cut -d "'" -f 2)
|
||||||
fi
|
fi
|
||||||
echo "version=$(echo $VERSION)" >> $GITHUB_OUTPUT
|
echo "version=$(echo $VERSION)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
RELEASE=$(date '+%H%M%S')
|
|
||||||
echo "release=$(echo $RELEASE)" >> $GITHUB_OUTPUT
|
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
- name: "Get release: 1 for testing / stable, <date>.<commit_sha> for others"
|
||||||
|
id: get_release
|
||||||
|
run: |
|
||||||
|
RELEASE=$(date '+%H%M%S')
|
||||||
|
|
||||||
|
echo "release=$RELEASE" >> $GITHUB_OUTPUT
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: "Get release type: hotfix, release or not defined if not a release"
|
||||||
|
id: get_release_type
|
||||||
|
run: |
|
||||||
|
RELEASE_TYPE=$(echo "${{ github.head_ref || github.ref_name }}" | cut -d '-' -f 1)
|
||||||
|
if [[ "$RELEASE_TYPE" == "hotfix" || "$RELEASE_TYPE" == "release" ]]; then
|
||||||
|
echo "release_type=$RELEASE_TYPE" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Display info in job summary
|
||||||
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const outputTable = [
|
||||||
|
[{data: 'Name', header: true}, {data: 'Value', header: true}],
|
||||||
|
['version', '${{ steps.get_version.outputs.version }}'],
|
||||||
|
['release', '${{ steps.get_release.outputs.release }}'],
|
||||||
|
['stability', '${{ steps.get_stability.outputs.stability }}'],
|
||||||
|
['release_type', '${{ steps.get_release_type.outputs.release_type || '<em>not defined because this is not a release</em>' }}'],
|
||||||
|
['is_targeting_feature_branch', '${{ steps.get_stability.outputs.is_targeting_feature_branch }}'],
|
||||||
|
['target_stability', '${{ steps.get_stability.outputs.target_stability || '<em>not defined because current run is not triggered by pull request event</em>' }}'],
|
||||||
|
];
|
||||||
|
core.summary
|
||||||
|
.addHeading(`${context.workflow} environment outputs`)
|
||||||
|
.addTable(outputTable);
|
||||||
|
|
||||||
|
if ("${{ github.event_name }}" === "pull_request") {
|
||||||
|
const prPath = ${{ steps.pr_path.outputs.result || '[]' }};
|
||||||
|
const mainBranchName = prPath.pop();
|
||||||
|
let codeBlock = `
|
||||||
|
%%{ init: { 'gitGraph': { 'mainBranchName': '${mainBranchName}', 'showCommitLabel': false } } }%%
|
||||||
|
gitGraph
|
||||||
|
commit`;
|
||||||
|
prPath.reverse().forEach((branchName) => {
|
||||||
|
codeBlock = `${codeBlock}
|
||||||
|
branch ${branchName}
|
||||||
|
checkout ${branchName}
|
||||||
|
commit`;
|
||||||
|
});
|
||||||
|
|
||||||
|
core.summary
|
||||||
|
.addHeading('Git workflow')
|
||||||
|
.addCodeBlock(
|
||||||
|
codeBlock,
|
||||||
|
"mermaid"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
core.summary.write();
|
||||||
|
56
.github/workflows/nrpe.yml
vendored
56
.github/workflows/nrpe.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
|
|
||||||
package:
|
package:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@ -114,46 +114,40 @@ jobs:
|
|||||||
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["stable", "testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9]
|
include:
|
||||||
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/rpm-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: nrpe
|
module_name: nrpe
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["stable", "testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye, bookworm, jammy]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: nrpe
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
76
.github/workflows/perl-cpan-libraries.yml
vendored
76
.github/workflows/perl-cpan-libraries.yml
vendored
@ -319,28 +319,6 @@ jobs:
|
|||||||
path: ./*.rpm
|
path: ./*.rpm
|
||||||
key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
||||||
|
|
||||||
deliver-rpm:
|
|
||||||
needs: [get-environment, sign-rpm]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [el8, el9]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/rpm-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-cpan-libraries
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
package-deb:
|
package-deb:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
||||||
@ -545,44 +523,40 @@ jobs:
|
|||||||
path: ./*.deb
|
path: ./*.deb
|
||||||
key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
||||||
|
|
||||||
deliver-deb:
|
deliver-packages:
|
||||||
needs: [get-environment, download-and-cache-deb]
|
needs: [get-environment, sign-rpm, download-and-cache-deb]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [bullseye, bookworm, jammy]
|
include:
|
||||||
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/deb-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: perl-cpan-libraries
|
module_name: perl-cpan-libraries
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [el8, el9, bullseye, bookworm]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} to stable
|
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
module: perl-cpan-libraries
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
93
.github/workflows/perl-crypt-argon2.yml
vendored
93
.github/workflows/perl-crypt-argon2.yml
vendored
@ -141,88 +141,49 @@ jobs:
|
|||||||
path: ./*.${{ matrix.package_extension}}
|
path: ./*.${{ matrix.package_extension}}
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
strategy:
|
! contains(needs.*.result, 'failure') &&
|
||||||
matrix:
|
! contains(needs.*.result, 'cancelled')
|
||||||
distrib: [el8, el9]
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/rpm-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-crypt-argon2-amd64
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-rpm-perl-crypt-argon2-${{ matrix.distrib }}-amd64-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: amd64
|
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
|
||||||
- distrib: jammy
|
|
||||||
arch: amd64
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: arm64
|
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }} ${{ matrix.arch }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-crypt-argon2-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-deb-perl-crypt-argon2-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- distrib: el8
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: el9
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
arch: amd64
|
package_extension: deb
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }} ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} ${{ matrix.arch }} to stable
|
- name: Delivery
|
||||||
uses: ./.github/actions/promote-to-stable
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
module_name: perl-crypt-argon2-${{ matrix.arch }}
|
||||||
module: perl-crypt-argon2-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
|
arch: ${{ matrix.arch }}
|
||||||
|
cache_key: cache-${{ github.sha }}-rpm-perl-crypt-argon2-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
76
.github/workflows/perl-filesys-smbclient.yml
vendored
76
.github/workflows/perl-filesys-smbclient.yml
vendored
@ -153,66 +153,40 @@ jobs:
|
|||||||
path: ./*.deb
|
path: ./*.deb
|
||||||
key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, sign-rpm]
|
needs: [get-environment, sign-rpm, package-deb]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9]
|
include:
|
||||||
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/rpm-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: perl-filesys-smbclient
|
module_name: perl-filesys-smbclient
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package-deb]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye, bookworm, jammy]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-filesys-smbclient
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [el8, el9, bullseye, bookworm]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} to stable
|
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
module: perl-filesys-smbclient
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
78
.github/workflows/perl-json-path.yml
vendored
78
.github/workflows/perl-json-path.yml
vendored
@ -126,70 +126,40 @@ jobs:
|
|||||||
path: ./*.${{ matrix.package_extension}}
|
path: ./*.${{ matrix.package_extension}}
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9]
|
include:
|
||||||
|
- distrib: el8
|
||||||
name: Deliver ${{ matrix.distrib }}
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/rpm-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: perl-json-path
|
module_name: perl-json-path
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
cache_key: cache-${{ github.sha }}-${{ matrix.package_extension }}-perl-json-path-${{ matrix.distrib }}-${{ github.head_ref || github.ref_name }}
|
||||||
cache_key: cache-${{ github.sha }}-rpm-perl-json-path-${{ matrix.distrib }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye, bookworm, jammy]
|
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-json-path
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
cache_key: cache-${{ github.sha }}-deb-perl-json-path-${{ matrix.distrib }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [el8, el9, bullseye, bookworm]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} to stable
|
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
module: perl-json-path
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
79
.github/workflows/perl-keepass-reader.yml
vendored
79
.github/workflows/perl-keepass-reader.yml
vendored
@ -117,71 +117,40 @@ jobs:
|
|||||||
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
|
||||||
|
deliver-packages:
|
||||||
deliver-rpm:
|
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9]
|
include:
|
||||||
|
- distrib: el8
|
||||||
name: Deliver ${{ matrix.distrib }}
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/rpm-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: ${{ env.module_name }}
|
module_name: ${{ env.module_name }}
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
cache_key: cache-${{ github.run_id }}-${{ matrix.package_extension }}-${{ env.module_name }}-${{ matrix.distrib }}
|
||||||
cache_key: cache-${{ github.run_id }}-rpm-${{ env.module_name }}-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye, bookworm, jammy]
|
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: ${{ env.module_name }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
cache_key: cache-${{ github.run_id }}-deb-${{ env.module_name }}-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye, bookworm]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} to stable
|
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
module: ${{ env.module_name }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
93
.github/workflows/perl-libssh-session.yml
vendored
93
.github/workflows/perl-libssh-session.yml
vendored
@ -139,88 +139,49 @@ jobs:
|
|||||||
path: ./*.${{ matrix.package_extension}}
|
path: ./*.${{ matrix.package_extension}}
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
strategy:
|
! contains(needs.*.result, 'failure') &&
|
||||||
matrix:
|
! contains(needs.*.result, 'cancelled')
|
||||||
distrib: [el8, el9]
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/rpm-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-libssh-session-amd64
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-rpm-perl-libssh-session-${{ matrix.distrib }}-amd64-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: amd64
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: arm64
|
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
|
||||||
- distrib: jammy
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }} ${{ matrix.arch }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-libssh-session-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-deb-perl-libssh-session-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- distrib: el8
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: el9
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
arch: amd64
|
package_extension: deb
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }} ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} ${{ matrix.arch }} to stable
|
- name: Delivery
|
||||||
uses: ./.github/actions/promote-to-stable
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
module_name: perl-libssh-session-${{ matrix.arch }}
|
||||||
module: perl-libssh-session-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
|
arch: ${{ matrix.arch }}
|
||||||
|
cache_key: cache-${{ github.sha }}-${{ matrix.package_extension }}-perl-libssh-session-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
93
.github/workflows/perl-net-curl.yml
vendored
93
.github/workflows/perl-net-curl.yml
vendored
@ -139,88 +139,49 @@ jobs:
|
|||||||
path: ./*.${{ matrix.package_extension }}
|
path: ./*.${{ matrix.package_extension }}
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
strategy:
|
! contains(needs.*.result, 'failure') &&
|
||||||
matrix:
|
! contains(needs.*.result, 'cancelled')
|
||||||
distrib: [el8, el9]
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/rpm-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-net-curl-amd64
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-rpm-perl-net-curl-${{ matrix.distrib }}-amd64-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: amd64
|
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
|
||||||
- distrib: jammy
|
|
||||||
arch: amd64
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: arm64
|
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }} ${{ matrix.arch }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-net-curl-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-deb-perl-net-curl-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- distrib: el8
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: el9
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
arch: amd64
|
package_extension: deb
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} ${{ matrix.arch }} to stable
|
- name: Delivery
|
||||||
uses: ./.github/actions/promote-to-stable
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
module_name: perl-net-curl-${{ matrix.arch }}
|
||||||
module: perl-net-curl-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
|
arch: ${{ matrix.arch }}
|
||||||
|
cache_key: cache-${{ github.sha }}-${{ matrix.package_extension }}-perl-net-curl-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
140
.github/workflows/perl-openwsman.yml
vendored
140
.github/workflows/perl-openwsman.yml
vendored
@ -206,132 +206,54 @@ jobs:
|
|||||||
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
|
||||||
deliver-rpm:
|
- uses: actions/cache/save@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
|
||||||
|
with:
|
||||||
|
path: ./*.${{ matrix.package_extension }}
|
||||||
|
key: cache-${{ github.sha }}-${{ matrix.package_extension }}-wsman-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
||||||
|
|
||||||
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
strategy:
|
! contains(needs.*.result, 'failure') &&
|
||||||
matrix:
|
! contains(needs.*.result, 'cancelled')
|
||||||
distrib: [el8, el9]
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery libwsman
|
|
||||||
uses: ./.github/actions/rpm-delivery
|
|
||||||
with:
|
|
||||||
module_name: libwsman-amd64
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-rpm-libwsman-${{ matrix.distrib }}-amd64-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
- name: Delivery perl-openwsman
|
|
||||||
uses: ./.github/actions/rpm-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-openwsman-amd64
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-rpm-perl-openwsman-${{ matrix.distrib }}-amd64-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: amd64
|
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
|
||||||
- distrib: jammy
|
|
||||||
arch: amd64
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: arm64
|
|
||||||
|
|
||||||
name: Deliver ${{ matrix.distrib }} ${{ matrix.arch }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery sblim-sfcc
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: sblim-sfcc-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-deb-sblim-sfcc-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
- name: Delivery libwsman
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: libwsman-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-deb-libwsman-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
- name: Delivery perl-openwsman
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-openwsman-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
cache_key: cache-${{ github.sha }}-deb-perl-openwsman-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- distrib: el8
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: el9
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
arch: amd64
|
package_extension: deb
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }} ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Promote sblim-sfcc ${{ matrix.distrib }} ${{ matrix.arch }} to stable
|
- name: Delivery
|
||||||
if: ${{ contains(fromJSON('["bullseye", "bookworm", "jammy"]'), matrix.distrib) }}
|
uses: ./.github/actions/package-delivery
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
with:
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
module_name: wsman-${{ matrix.arch }}
|
||||||
module: sblim-sfcc-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
|
arch: ${{ matrix.arch }}
|
||||||
|
cache_key: cache-${{ github.sha }}-${{ matrix.package_extension }}-wsman-${{ matrix.distrib }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
- name: Promote libwsman ${{ matrix.distrib }} ${{ matrix.arch }} to stable
|
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
module: libwsman-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
|
||||||
- name: Promote perl-openwsman ${{ matrix.distrib }} ${{ matrix.arch }} to stable
|
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
module: perl-openwsman-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
89
.github/workflows/perl-vmware-vsphere.yml
vendored
89
.github/workflows/perl-vmware-vsphere.yml
vendored
@ -145,84 +145,49 @@ jobs:
|
|||||||
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
strategy:
|
! contains(needs.*.result, 'failure') &&
|
||||||
matrix:
|
! contains(needs.*.result, 'cancelled')
|
||||||
distrib: [el8, el9]
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/rpm-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-vmware-vsphere-amd64
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}-amd64
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
needs: [get-environment, package]
|
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: amd64
|
|
||||||
- distrib: bullseye
|
|
||||||
arch: arm64
|
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
|
||||||
- distrib: jammy
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: perl-vmware-vsphere-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}-${{ matrix.arch }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- distrib: el8
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: el9
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
arch: amd64
|
package_extension: deb
|
||||||
- distrib: bookworm
|
|
||||||
arch: amd64
|
arch: amd64
|
||||||
- distrib: bullseye
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }} ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} ${{ matrix.arch }} to stable
|
- name: Delivery
|
||||||
uses: ./.github/actions/promote-to-stable
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
module_name: perl-vmware-vsphere-${{ matrix.arch }}
|
||||||
module: perl-vmware-vsphere-${{ matrix.arch }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
|
arch: ${{ matrix.arch }}
|
||||||
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}-${{ matrix.arch }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
46
.github/workflows/plink.yml
vendored
46
.github/workflows/plink.yml
vendored
@ -108,44 +108,34 @@ jobs:
|
|||||||
path: ./*.rpm
|
path: ./*.rpm
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, sign-rpm]
|
needs: [get-environment, sign-rpm]
|
||||||
if: ${{ contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9]
|
include:
|
||||||
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/rpm-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: plink
|
module_name: plink
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
promote:
|
|
||||||
needs: [get-environment]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), needs.get-environment.outputs.stability) }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
distrib: [el8, el9]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Promote ${{ matrix.distrib }} to stable
|
|
||||||
uses: ./.github/actions/promote-to-stable
|
|
||||||
with:
|
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
module: plink
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
|
||||||
|
160
.github/workflows/plugin-delivery.yml
vendored
160
.github/workflows/plugin-delivery.yml
vendored
@ -1,160 +0,0 @@
|
|||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: The package version
|
|
||||||
type: string
|
|
||||||
required: true
|
|
||||||
release:
|
|
||||||
description: The package release
|
|
||||||
type: string
|
|
||||||
required: true
|
|
||||||
stability:
|
|
||||||
description: The package stability (stable, testing, unstable)
|
|
||||||
type: string
|
|
||||||
required: true
|
|
||||||
secrets:
|
|
||||||
artifactory_token:
|
|
||||||
description: "The artifactory token"
|
|
||||||
required: true
|
|
||||||
token_download_centreon_com:
|
|
||||||
description: "The token to call download.centreon.com api"
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deliver-sources:
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
if: ${{ contains(fromJson('["stable"]'), inputs.stability) && github.event_name != 'workflow_dispatch' }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
|
||||||
with:
|
|
||||||
path: ./build/
|
|
||||||
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
|
||||||
fail-on-cache-miss: true
|
|
||||||
|
|
||||||
- name: Deliver sources
|
|
||||||
uses: ./.github/actions/release-sources
|
|
||||||
with:
|
|
||||||
bucket_directory: centreon-plugins
|
|
||||||
module_directory: build
|
|
||||||
module_name: centreon-plugins
|
|
||||||
version: ${{ inputs.version }}
|
|
||||||
release: ${{ inputs.release }}
|
|
||||||
token_download_centreon_com: ${{ secrets.token_download_centreon_com }}
|
|
||||||
|
|
||||||
deliver-rpm:
|
|
||||||
if: ${{ github.event_name != 'workflow_dispatch' }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
distrib: [el7, el8, el9]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/rpm-delivery
|
|
||||||
with:
|
|
||||||
module_name: plugins
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
|
||||||
stability: ${{ inputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.artifactory_token }}
|
|
||||||
|
|
||||||
deliver-rpm-legacy:
|
|
||||||
if: ${{ inputs.stability == 'stable' && github.event_name != 'workflow_dispatch' }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
distrib: [el7, el8]
|
|
||||||
major_version: ["21.10", "22.04", "22.10"]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/rpm-delivery-legacy
|
|
||||||
with:
|
|
||||||
module_name: plugins
|
|
||||||
major_version: ${{ matrix.major_version }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
|
||||||
stability: ${{ inputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.artifactory_token }}
|
|
||||||
|
|
||||||
deliver-deb:
|
|
||||||
if: ${{ github.event_name != 'workflow_dispatch' }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye, bookworm, jammy]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery
|
|
||||||
with:
|
|
||||||
module_name: plugins
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
|
||||||
stability: ${{ inputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.artifactory_token }}
|
|
||||||
|
|
||||||
deliver-deb-legacy:
|
|
||||||
if: ${{ inputs.stability == 'stable' && github.event_name != 'workflow_dispatch' }}
|
|
||||||
runs-on: [self-hosted, common]
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
distrib: [bullseye]
|
|
||||||
major_version: ["22.04", "22.10"]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Delivery
|
|
||||||
uses: ./.github/actions/deb-delivery-legacy
|
|
||||||
with:
|
|
||||||
module_name: plugins
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
major_version: ${{ matrix.major_version }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }}
|
|
||||||
stability: ${{ inputs.stability }}
|
|
||||||
artifactory_token: ${{ secrets.artifactory_token }}
|
|
||||||
|
|
||||||
release-tag:
|
|
||||||
if: ${{ inputs.stability == 'stable' && github.event_name == 'push' }}
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Push git release tag
|
|
||||||
run: |
|
|
||||||
RELEASE=plugins-$(date '+%Y%m%d')
|
|
||||||
|
|
||||||
EXISTING_TAG=$(git tag --list "$RELEASE" | head -n 1)
|
|
||||||
|
|
||||||
git config --global user.email "release@centreon.com"
|
|
||||||
git config --global user.name "Centreon"
|
|
||||||
|
|
||||||
if [ -z "$EXISTING_TAG" ]; then
|
|
||||||
git tag -a "$RELEASE" -m "release $RELEASE"
|
|
||||||
git push --follow-tags
|
|
||||||
else
|
|
||||||
echo "::warning::Release tag $RELEASE already exists"
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
26
.github/workflows/plugins-selinux.yml
vendored
26
.github/workflows/plugins-selinux.yml
vendored
@ -69,24 +69,34 @@ jobs:
|
|||||||
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-packages:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
if: ${{ contains(fromJson('["stable", "testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
runs-on: [self-hosted, common]
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
|
! cancelled() &&
|
||||||
|
! contains(needs.*.result, 'failure') &&
|
||||||
|
! contains(needs.*.result, 'cancelled')
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9]
|
include:
|
||||||
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
- name: Delivery
|
- name: Delivery
|
||||||
uses: ./.github/actions/rpm-delivery
|
uses: ./.github/actions/package-delivery
|
||||||
with:
|
with:
|
||||||
module_name: plugins-selinux
|
module_name: plugins-selinux
|
||||||
distrib: ${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
125
.github/workflows/plugins.yml
vendored
125
.github/workflows/plugins.yml
vendored
@ -158,13 +158,13 @@ jobs:
|
|||||||
COMMIT=$(git log -1 HEAD --pretty=format:%h)
|
COMMIT=$(git log -1 HEAD --pretty=format:%h)
|
||||||
perl .github/scripts/plugins-source.container.pl "${{ needs.get-plugins.outputs.plugins }}" "${{ needs.get-environment.outputs.version }} ($COMMIT)"
|
perl .github/scripts/plugins-source.container.pl "${{ needs.get-plugins.outputs.plugins }}" "${{ needs.get-environment.outputs.version }} ($COMMIT)"
|
||||||
|
|
||||||
- uses: actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
- uses: actions/cache/save@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
|
||||||
with:
|
with:
|
||||||
path: ./build/
|
path: ./build/
|
||||||
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
||||||
|
|
||||||
package:
|
package:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
needs: [get-environment, get-plugins, fatpacker]
|
needs: [get-environment, get-plugins, fatpacker]
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
@ -200,24 +200,9 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
if: ${{ matrix.distrib == 'el7' }}
|
|
||||||
# el7 is not compatible with checkout v4 which uses node20
|
|
||||||
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
|
|
||||||
|
|
||||||
- name: Checkout sources
|
|
||||||
if: ${{ matrix.distrib != 'el7' }}
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
- if: ${{ matrix.distrib == 'el7' }}
|
- uses: actions/cache/restore@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
|
||||||
# el7 is not compatible with checkout v4 which uses node20
|
|
||||||
uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
|
||||||
with:
|
|
||||||
path: ./build/
|
|
||||||
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
|
||||||
fail-on-cache-miss: true
|
|
||||||
|
|
||||||
- if: ${{ matrix.distrib != 'el7' }}
|
|
||||||
uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
|
||||||
with:
|
with:
|
||||||
path: ./build/
|
path: ./build/
|
||||||
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
||||||
@ -304,7 +289,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
image: [testing-plugins-alma8, testing-plugins-alma9, testing-plugins-jammy, testing-plugins-bullseye, testing-plugins-bookworm]
|
image: [testing-plugins-alma8, testing-plugins-alma9, testing-plugins-jammy, testing-plugins-bullseye, testing-plugins-bookworm]
|
||||||
include:
|
include:
|
||||||
- runner_name: ubuntu-22.04
|
- runner_name: ubuntu-24.04
|
||||||
- package_extension: rpm
|
- package_extension: rpm
|
||||||
image: testing-plugins-alma8
|
image: testing-plugins-alma8
|
||||||
distrib: el8
|
distrib: el8
|
||||||
@ -350,14 +335,94 @@ jobs:
|
|||||||
path: /var/log/robot-plugins-installation-tests.log
|
path: /var/log/robot-plugins-installation-tests.log
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
deliver:
|
deliver-packages:
|
||||||
needs: [get-environment, package, test-plugins]
|
needs: [get-environment, get-plugins, test-plugins]
|
||||||
if: ${{ contains(fromJson('["stable", "testing", "unstable"]'), needs.get-environment.outputs.stability) }}
|
if: |
|
||||||
uses: ./.github/workflows/plugin-delivery.yml
|
needs.get-plugins.outputs.plugins != '' &&
|
||||||
with:
|
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) &&
|
||||||
version: ${{ needs.get-environment.outputs.version }}
|
! cancelled() &&
|
||||||
release: ${{ needs.get-environment.outputs.release }}
|
! contains(needs.*.result, 'failure') &&
|
||||||
stability: ${{ needs.get-environment.outputs.stability }}
|
! contains(needs.*.result, 'cancelled')
|
||||||
secrets:
|
runs-on: ubuntu-24.04
|
||||||
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
strategy:
|
||||||
token_download_centreon_com: ${{ secrets.TOKEN_DOWNLOAD_CENTREON_COM }}
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- distrib: el7
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el8
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: el9
|
||||||
|
package_extension: rpm
|
||||||
|
- distrib: bullseye
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: bookworm
|
||||||
|
package_extension: deb
|
||||||
|
- distrib: jammy
|
||||||
|
package_extension: deb
|
||||||
|
|
||||||
|
name: deliver ${{ matrix.distrib }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
|
- name: Delivery
|
||||||
|
uses: ./.github/actions/package-delivery
|
||||||
|
with:
|
||||||
|
module_name: plugins
|
||||||
|
distrib: ${{ matrix.distrib }}
|
||||||
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
|
stability: ${{ needs.get-environment.outputs.stability }}
|
||||||
|
release_type: ${{ needs.get-environment.outputs.release_type }}
|
||||||
|
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
deliver-sources:
|
||||||
|
needs: [get-environment]
|
||||||
|
if: ${{ needs.get-environment.outputs.stability == 'stable' && github.event_name == 'push' }}
|
||||||
|
runs-on: [self-hosted, common]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
|
- uses: actions/cache/restore@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
|
||||||
|
with:
|
||||||
|
path: ./build/
|
||||||
|
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
- name: Deliver sources
|
||||||
|
uses: ./.github/actions/release-sources
|
||||||
|
with:
|
||||||
|
bucket_directory: centreon-plugins
|
||||||
|
module_directory: build
|
||||||
|
module_name: centreon-plugins
|
||||||
|
version: ${{ needs.get-environment.outputs.version }}
|
||||||
|
release: ${{ needs.get-environment.outputs.release }}
|
||||||
|
token_download_centreon_com: ${{ secrets.TOKEN_DOWNLOAD_CENTREON_COM }}
|
||||||
|
|
||||||
|
release-tag:
|
||||||
|
needs: [get-environment]
|
||||||
|
if: ${{ needs.get-environment.outputs.stability == 'stable' && github.event_name == 'push' }}
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||||
|
|
||||||
|
- name: Push git release tag
|
||||||
|
run: |
|
||||||
|
RELEASE=plugins-$(date '+%Y%m%d')
|
||||||
|
|
||||||
|
EXISTING_TAG=$(git tag --list "$RELEASE" | head -n 1)
|
||||||
|
|
||||||
|
git config --global user.email "release@centreon.com"
|
||||||
|
git config --global user.name "Centreon"
|
||||||
|
|
||||||
|
if [ -z "$EXISTING_TAG" ]; then
|
||||||
|
git tag -a "$RELEASE" -m "release $RELEASE"
|
||||||
|
git push --follow-tags
|
||||||
|
else
|
||||||
|
echo "::warning::Release tag $RELEASE already exists"
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
Loading…
x
Reference in New Issue
Block a user