name: Build and Deploy description: Build and deploy RPM packages inputs: PUBLICATOR: description: Publicator token required: true CI_DEPLOY: description: CI deploy token required: true runs: using: "composite" steps: - name: Checkout code run: | git clone ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git ${GITHUB_WORKSPACE} git checkout ${GITHUB_REF_NAME} export SPECFILE=$(find . -type f -name "*.spec") echo "SPECFILE=${SPECFILE}" > .env source .env echo "SPECFILE = ${SPECFILE}" - name: Debug Print environment variables run: | source .env env - name: Debug os version and check exists spec run: | cat /etc/*release* echo "check specfile" && [ -f ${SPECFILE} ] || exit 1 - name: Remove djam_personal repo run: | if grep -q "djam_personal" /etc/urpmi/urpmi.cfg; then sudo urpmi.removemedia djam_personal; fi - name: Update repo run: | sudo urpmi.update -fa - name: Download sources artifacts run: | abfyml=.abf.yml if [ -e "${abfyml}" ]; then echo "parsing file '${abfyml}'" sed -ne '/^[Ss]ources\:.*$/,$p' ${abfyml} | \ sed -rn '$G;s/^[\"'\''[:space:]]*([^[:space:]:\"'\'']+)[\"'\''[:space:]]*.*[\"'\''[:space:]]*([0-9a-fA-F]{40})[\"'\''[:space:]]*$/\1 \2/p' | \ while read -r file sha; do echo -n "found entry: file=${file} ... " if [ -e "${file}" ]; then if echo "${sha} ${file}" | sha1sum -c --status; then echo "sha1sum correct" else echo "sha1sum INCORRECT! skipping..." fi else echo -n "try to download... " if curl -L "https://file-store.rosalinux.ru/download/${sha}" -o "${file}"; then echo "ok" echo -n "check sum... " if echo "${sha} ${file}" | sha1sum -c --status; then echo "ok" else echo "sha1sum INCORRECT! skipping..." echo "remove file ${file}" rm -f "${file}" fi else echo "filed! skipping..." fi fi done fi - name: Linter run: | source .env rpmlint ${SPECFILE} - name: Install dependies run: | source .env sudo urpmi --buildrequires --auto ${SPECFILE} - name: Build rpm run: | source .env rpmbuild -ba ${SPECFILE} - name: Deploy in repos packages if: github.ref == 'refs/heads/rosa2016.1' run: | echo "Deploying artifacts..." curl --user ${GITHUB_REPOSITORY_OWNER}:${CI_DEPLOY} \ --upload-file /home/builder/rpmbuild/SRPMS/*.rpm \ --upload-file /home/builder/rpmbuild/RPMS/x86_64/*.rpm \ ${GITHUB_SERVER_URL}/api/packages/${GITHUB_REPOSITORY_OWNER}/rpm/r11/upload - name: Deploy in buildkitie run: | echo "Deploying src artifacts..." curl -X POST https://api.buildkite.com/v2/packages/organizations/r11-team/registries/r11-srpms/packages \ -H "Authorization: Bearer ${PUBLICATOR}" \ -F "file=@/home/builder/rpmbuild/SRPMS/*.src.rpm" echo "Deploying rpm artifacts..." curl -X POST https://api.buildkite.com/v2/packages/organizations/r11-team/registries/r11-x86-64/packages \ -H "Authorization: Bearer ${PUBLICATOR}" \ -F "file=@/home/builder/rpmbuild/RPMS/x86_64/*.x86_64.rpm" container: image: packages.buildkite.com/r11-team/r11/builder:latest