Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
Commit 4108bbab authored by Ayush Singh's avatar Ayush Singh
Browse files

Merge branch 'better-ci' into 'main'

CI: use CI templates for upload and release

See merge request !56
parents 272edbf6 a6b12875
Branches
Tags
1 merge request!56CI: use CI templates for upload and release
Pipeline #24400 failed with stages
in 8 minutes and 4 seconds
......@@ -137,155 +137,19 @@ darwin:
paths:
- release/
deploy:
image: alpine/curl:latest
stage: deploy
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
before_script:
- apk add --no-cache make jq
script:
- make upload-artifacts
- make release-notes
artifacts:
paths:
- release_notes.md
release:
image: registry.gitlab.com/gitlab-org/release-cli:latest
stage: release
rules:
- if: $CI_COMMIT_TAG
variables:
VERSION: ${CI_COMMIT_TAG}
PACKAGE_REGISTRY_URL: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic
PACKAGE_REGISTRY_GUI_URL: ${PACKAGE_REGISTRY_URL}/bb-imager-gui/${VERSION}
PACKAGE_REGISTRY_CLI_URL: ${PACKAGE_REGISTRY_URL}/bb-imager-cli/${VERSION}
script:
- echo "Create Release for $VERSION"
release:
tag_name: $CI_COMMIT_TAG
name: 'BeagleBoard Imager $CI_COMMIT_TAG'
description: release_notes.md
ref: '$CI_COMMIT_SHA'
assets:
links:
- name: 'x86_64-bb-imager-cli-windows.zip'
url: '${PACKAGE_REGISTRY_CLI_URL}/x86_64-pc-windows-gnu/bb-imager-cli.zip'
link_type: 'package'
- name: 'x86_64-bb-imager-cli-windows.zip.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/x86_64-pc-windows-gnu/bb-imager-cli.zip.sha256'
- name: 'x86_64-bb-imager-gui-windows.zip'
url: '${PACKAGE_REGISTRY_GUI_URL}/x86_64-pc-windows-gnu/bb-imager-gui.zip'
link_type: 'package'
- name: 'x86_64-bb-imager-gui-windows.zip.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/x86_64-pc-windows-gnu/bb-imager-gui.zip.sha256'
- name: 'aarch64-bb-imager-cli-darwin.zip'
url: '${PACKAGE_REGISTRY_CLI_URL}/aarch64-apple-darwin/bb-imager-cli.zip'
link_type: 'package'
- name: 'aarch64-bb-imager-cli-darwin.zip.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/aarch64-apple-darwin/bb-imager-cli.zip.sha256'
- name: 'aarch64-bb-imager-gui-darwin.dmg'
url: '${PACKAGE_REGISTRY_GUI_URL}/aarch64-apple-darwin/bb-imager-gui.dmg'
link_type: 'package'
- name: 'aarch64-bb-imager-gui-darwin.dmg.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/aarch64-apple-darwin/bb-imager-gui.dmg.sha256'
- name: 'x86_64-bb-imager-cli-darwin.zip'
url: '${PACKAGE_REGISTRY_CLI_URL}/x86_64-apple-darwin/bb-imager-cli.zip'
link_type: 'package'
- name: 'x86_64-bb-imager-cli-darwin.zip.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/x86_64-apple-darwin/bb-imager-cli.zip.sha256'
- name: 'x86_64-bb-imager-gui-darwin.dmg'
url: '${PACKAGE_REGISTRY_GUI_URL}/x86_64-apple-darwin/bb-imager-gui.dmg'
link_type: 'package'
- name: 'x86_64-bb-imager-gui-darwin.dmg.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/x86_64-apple-darwin/bb-imager-gui.dmg.sha256'
- name: 'universal-bb-imager-cli-darwin.zip'
url: '${PACKAGE_REGISTRY_CLI_URL}/universal-apple-darwin/bb-imager-cli.zip'
link_type: 'package'
- name: 'universal-bb-imager-cli-darwin.zip.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/universal-apple-darwin/bb-imager-cli.zip.sha256'
- name: 'universal-bb-imager-gui-darwin.dmg'
url: '${PACKAGE_REGISTRY_GUI_URL}/universal-apple-darwin/bb-imager-gui.dmg'
link_type: 'package'
- name: 'universal-bb-imager-gui-darwin.dmg.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/universal-apple-darwin/bb-imager-gui.dmg.sha256'
- name: 'x86_64-bb-imager-cli-linux.tar.xz'
url: '${PACKAGE_REGISTRY_CLI_URL}/x86_64-unknown-linux-gnu/bb-imager-cli.tar.xz'
link_type: 'package'
- name: 'x86_64-bb-imager-cli-linux.tar.xz.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/x86_64-unknown-linux-gnu/bb-imager-cli.tar.xz.sha256'
- name: 'x86_64-bb-imager-cli-linux.deb'
url: '${PACKAGE_REGISTRY_CLI_URL}/x86_64-unknown-linux-gnu/bb-imager-cli.deb'
link_type: 'package'
- name: 'x86_64-bb-imager-cli-linux.deb.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/x86_64-unknown-linux-gnu/bb-imager-cli.deb.sha256'
- name: 'x86_64-bb-imager-gui-linux.AppImage'
url: '${PACKAGE_REGISTRY_GUI_URL}/x86_64-unknown-linux-gnu/bb-imager-gui.AppImage'
link_type: 'package'
- name: 'x86_64-bb-imager-gui-linux.AppImage.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/x86_64-unknown-linux-gnu/bb-imager-gui.AppImage.sha256'
- name: 'x86_64-bb-imager-gui-linux.deb'
url: '${PACKAGE_REGISTRY_GUI_URL}/x86_64-unknown-linux-gnu/bb-imager-gui.deb'
link_type: 'package'
- name: 'x86_64-bb-imager-gui-linux.deb.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/x86_64-unknown-linux-gnu/bb-imager-gui.deb.sha256'
- name: 'aarch64-bb-imager-cli-linux.tar.xz'
url: '${PACKAGE_REGISTRY_CLI_URL}/aarch64-unknown-linux-gnu/bb-imager-cli.tar.xz'
link_type: 'package'
- name: 'aarch64-bb-imager-cli-linux.tar.xz.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/aarch64-unknown-linux-gnu/bb-imager-cli.tar.xz.sha256'
- name: 'aarch64-bb-imager-cli-linux.deb'
url: '${PACKAGE_REGISTRY_CLI_URL}/aarch64-unknown-linux-gnu/bb-imager-cli.deb'
link_type: 'package'
- name: 'aarch64-bb-imager-cli-linux.deb.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/aarch64-unknown-linux-gnu/bb-imager-cli.deb.sha256'
- name: 'aarch64-bb-imager-gui-linux.AppImage'
url: '${PACKAGE_REGISTRY_GUI_URL}/aarch64-unknown-linux-gnu/bb-imager-gui.AppImage'
link_type: 'package'
- name: 'aarch64-bb-imager-gui-linux.AppImage.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/aarch64-unknown-linux-gnu/bb-imager-gui.AppImage.sha256'
- name: 'aarch64-bb-imager-gui-linux.deb'
url: '${PACKAGE_REGISTRY_GUI_URL}/aarch64-unknown-linux-gnu/bb-imager-gui.deb'
link_type: 'package'
- name: 'aarch64-bb-imager-gui-linux.deb.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/aarch64-unknown-linux-gnu/bb-imager-gui.deb.sha256'
- name: 'arm-bb-imager-cli-linux.tar.xz'
url: '${PACKAGE_REGISTRY_CLI_URL}/armv7-unknown-linux-gnueabihf/bb-imager-cli.tar.xz'
link_type: 'package'
- name: 'arm-bb-imager-cli-linux.tar.xz.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/armv7-unknown-linux-gnueabihf/bb-imager-cli.tar.xz.sha256'
- name: 'arm-bb-imager-cli-linux.deb'
url: '${PACKAGE_REGISTRY_CLI_URL}/armv7-unknown-linux-gnueabihf/bb-imager-cli.deb'
link_type: 'package'
- name: 'arm-bb-imager-cli-linux.deb.sha256'
url: '${PACKAGE_REGISTRY_CLI_URL}/armv7-unknown-linux-gnueabihf/bb-imager-cli.deb.sha256'
- name: 'arm-bb-imager-gui-linux.AppImage'
url: '${PACKAGE_REGISTRY_GUI_URL}/armv7-unknown-linux-gnueabihf/bb-imager-gui.AppImage'
link_type: 'package'
- name: 'arm-bb-imager-gui-linux.AppImage.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/armv7-unknown-linux-gnueabihf/bb-imager-gui.AppImage.sha256'
- name: 'arm-bb-imager-gui-linux.deb'
url: '${PACKAGE_REGISTRY_GUI_URL}/armv7-unknown-linux-gnueabihf/bb-imager-gui.deb'
link_type: 'package'
- name: 'arm-bb-imager-gui-linux.deb.sha256'
url: '${PACKAGE_REGISTRY_GUI_URL}/armv7-unknown-linux-gnueabihf/bb-imager-gui.deb.sha256'
include:
- component: openbeagle.org/ayush1325/ci-components/package-registry-upload@f978eab991610929089e1f7acc2954723dda9173
inputs:
job-name: package-registry-upload-job
job-stage: deploy
job-needs: ["darwin", "windows", "linux_x86_64", "linux_aarch64", "linux_arm"]
release_dir: ${CI_PROJECT_DIR}/release
- component: openbeagle.org/ayush1325/ci-components/release-from-file@f978eab991610929089e1f7acc2954723dda9173
rules:
- if: $CI_COMMIT_TAG
inputs:
job-name: release-job
job-stage: release
job-needs: ["package-registry-upload-job"]
release_file: release/release.yml
changelog_generation: true
......@@ -37,8 +37,6 @@ release-darwin-%: package-cli-darwin-zip-% package-gui-darwin-dmg-%;
release-windows-%: package-cli-windows-zip-% package-gui-windows-zip-%;
upload-artifacts: upload-artifact-linux upload-artifact-windows upload-artifact-darwin;
checks-clippy-%:
$(info "Running clippy checks for $*")
$(CARGO_PATH) clippy -p $* --all-targets --all-features --no-deps
......
RUST_CLI_FEATURE_ARGS = $(RUST_FEATURE_ARGS)
PACKAGE_NAME_CLI = bb-imager-cli
RELEASE_DIR_CLI = ${RELEASE_DIR}/${PACKAGE_NAME_CLI}/${VERSION}
# Enable CLI specific features
ifdef PB2_MSPM0
RUST_CLI_FEATURE_ARGS += -F pb2_mspm0
......@@ -17,39 +20,39 @@ build-cli-universal-apple-darwin: build-cli-aarch64-apple-darwin build-cli-x86_6
package-cli-linux-xz-%: build-cli-% manpage shell-completion-bash shell-completion-zsh
$(info "Create CLI xz $*")
install -D target/$*/release/bb-imager-cli -t ${RELEASE_DIR_LINUX}/$*/bb-imager-cli-tempdir/usr/bin/
install -D -m 644 target/man/* -t ${RELEASE_DIR_LINUX}/$*/bb-imager-cli-tempdir/usr/share/man/man1/
install -D -m 644 target/shell-completion/_bb-imager-cli -t ${RELEASE_DIR_LINUX}/$*/bb-imager-cli-tempdir/usr/share/zsh/site-functions/
install -D -m 644 target/shell-completion/bb-imager-cli.bash -t ${RELEASE_DIR_LINUX}/$*/bb-imager-cli-tempdir/usr/share/bash-completion/completions/bb-imager-cli
cd ${RELEASE_DIR_LINUX}/$*/bb-imager-cli-tempdir && tar cfJ ${RELEASE_DIR_LINUX}/$*/bb-imager-cli.tar.xz *
rm -rf ${RELEASE_DIR_LINUX}/$*/bb-imager-cli-tempdir
install -D target/$*/release/bb-imager-cli -t ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/usr/bin/
install -D -m 644 target/man/* -t ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/usr/share/man/man1/
install -D -m 644 target/shell-completion/_bb-imager-cli -t ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/usr/share/zsh/site-functions/
install -D -m 644 target/shell-completion/bb-imager-cli.bash -t ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/usr/share/bash-completion/completions/bb-imager-cli
cd ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir && tar cfJ ${RELEASE_DIR_CLI}/${PACKAGE_NAME_CLI}-$*.tar.xz *
rm -rf ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir
package-cli-linux-deb-%: build-cli-% manpage shell-completion-bash shell-completion-zsh
$(info "Create CLI Linux deb $*")
ifeq ($(RUST_BUILDER_NAME), cross)
$(CROSS_UTIL) run --target $* -- "cargo deb --target $* -p bb-imager-cli --no-build -o ${RELEASE_DIR_LINUX}/$*/bb-imager-cli.deb --no-strip"
$(CROSS_UTIL) run --target $* -- "cargo deb --target $* -p bb-imager-cli --no-build -o ${RELEASE_DIR_CLI}/${PACKAGE_NAME_CLI}-$*.deb --no-strip"
else
$(RUST_BUILDER) deb --target $* -p bb-imager-cli --no-build -o ${RELEASE_DIR_LINUX}/$*/bb-imager-cli.deb --no-strip
$(RUST_BUILDER) deb --target $* -p bb-imager-cli --no-build -o ${RELEASE_DIR_CLI}/${PACKAGE_NAME_CLI}-$*.deb --no-strip
endif
package-cli-darwin-zip-%: build-cli-% manpage shell-completion-zsh
$(info "Create CLI Darwin zip $*")
mkdir -p ${RELEASE_DIR_DARWIN}/$*/bb-imager-cli-tempdir
cp -r target/man ${RELEASE_DIR_DARWIN}/$*/bb-imager-cli-tempdir/
cp -r target/shell-completion ${RELEASE_DIR_DARWIN}/$*/bb-imager-cli-tempdir/
cp target/$*/release/bb-imager-cli ${RELEASE_DIR_DARWIN}/$*/bb-imager-cli-tempdir/
mkdir -p ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir
cp -r target/man ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/
cp -r target/shell-completion ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/
cp target/$*/release/bb-imager-cli ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/
# Required to get the desired directory structure
cd ${RELEASE_DIR_DARWIN}/$*/bb-imager-cli-tempdir && zip -r ../bb-imager-cli.zip *
rm -rf ${RELEASE_DIR_DARWIN}/$*/bb-imager-cli-tempdir/
cd ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir && zip -r ${RELEASE_DIR_CLI}/${PACKAGE_NAME_CLI}-$*.zip *
rm -rf ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/
package-cli-windows-zip-%: build-cli-% shell-completion-powershell
$(info "Create CLI Windows zip $*")
mkdir -p ${RELEASE_DIR_WINDOWS}/$*/bb-imager-cli-tempdir
cp target/$*/release/bb-imager-cli.exe ${RELEASE_DIR_WINDOWS}/$*/bb-imager-cli-tempdir/
cp -r target/shell-completion ${RELEASE_DIR_WINDOWS}/$*/bb-imager-cli-tempdir/
mkdir -p ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir
cp target/$*/release/bb-imager-cli.exe ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/
cp -r target/shell-completion ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/
# Required to get the desired directory structure
cd ${RELEASE_DIR_WINDOWS}/$*/bb-imager-cli-tempdir/ && zip -r ../bb-imager-cli.zip *
rm -rf ${RELEASE_DIR_WINDOWS}/$*/bb-imager-cli-tempdir
cd ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir/ && zip -r ${RELEASE_DIR_CLI}/${PACKAGE_NAME_CLI}-$*.zip *
rm -rf ${RELEASE_DIR_CLI}/bb-imager-cli-tempdir
manpage:
$(info "Generate CLI Manpages")
......
......@@ -3,6 +3,9 @@ APPIMAGE_ARCH_x86_64-unknown-linux-gnu = x86_64
APPIMAGE_ARCH_aarch64-unknown-linux-gnu = aarch64
APPIMAGE_ARCH_armv7-unknown-linux-gnueabihf = armhf
PACKAGE_NAME_GUI = bb-imager-gui
RELEASE_DIR_GUI = ${RELEASE_DIR}/${PACKAGE_NAME_GUI}/${VERSION}
RUST_GUI_FEATURE_ARGS = $(RUST_FEATURE_ARGS)
ifdef PB2_MSPM0
......@@ -21,29 +24,29 @@ build-gui-universal-apple-darwin: build-gui-aarch64-apple-darwin build-gui-x86_6
package-gui-linux-appimage-%: build-gui-%
$(info "Create GUI Linux Appimage $*")
install -D ${GUI_ASSETS_LINUX}/appimage/AppRun -t ${RELEASE_DIR_LINUX}/$*/AppDir/
install -D target/$*/release/bb-imager-gui -t ${RELEASE_DIR_LINUX}/$*/AppDir/usr/bin/
install -D -m 644 ${GUI_ASSETS_LINUX}/BeagleBoardImager.desktop -t ${RELEASE_DIR_LINUX}/$*/AppDir/
sed -i "s/^X-AppImage-Version=0.0.0/X-AppImage-Version=${VERSION}/" ${RELEASE_DIR_LINUX}/$*/AppDir/BeagleBoardImager.desktop
install -D -m 644 ${GUI_ASSETS}/icons/icon.png ${RELEASE_DIR_LINUX}/$*/AppDir/bb-imager.png
ARCH=${APPIMAGE_ARCH_$*} $(APPIMAGETOOL) --appimage-extract-and-run ${RELEASE_DIR_LINUX}/$*/AppDir ${RELEASE_DIR_LINUX}/$*/BeagleBoardImager.AppImage
rm -rf ${RELEASE_DIR_LINUX}/$*/AppDir
install -D ${GUI_ASSETS_LINUX}/appimage/AppRun -t ${RELEASE_DIR_GUI}/AppDir/
install -D target/$*/release/bb-imager-gui -t ${RELEASE_DIR_GUI}/AppDir/usr/bin/
install -D -m 644 ${GUI_ASSETS_LINUX}/BeagleBoardImager.desktop -t ${RELEASE_DIR_GUI}/AppDir/
sed -i "s/^X-AppImage-Version=0.0.0/X-AppImage-Version=${VERSION}/" ${RELEASE_DIR_GUI}/AppDir/BeagleBoardImager.desktop
install -D -m 644 ${GUI_ASSETS}/icons/icon.png ${RELEASE_DIR_GUI}/AppDir/bb-imager.png
ARCH=${APPIMAGE_ARCH_$*} $(APPIMAGETOOL) --appimage-extract-and-run ${RELEASE_DIR_GUI}/AppDir ${RELEASE_DIR_GUI}/${PACKAGE_NAME_GUI}-$*.AppImage
rm -rf ${RELEASE_DIR_GUI}/AppDir
package-gui-linux-deb-%: build-gui-%
$(info "Create GUI Linux deb $*")
ifeq ($(RUST_BUILDER_NAME), cross)
$(CROSS_UTIL) run --target $* -- "cargo deb --target $* -p bb-imager-gui --no-build -o ${RELEASE_DIR_LINUX}/$*/bb-imager-gui.deb --no-strip"
$(CROSS_UTIL) run --target $* -- "cargo deb --target $* -p bb-imager-gui --no-build -o ${RELEASE_DIR_GUI}/${PACKAGE_NAME_GUI}-$*.deb --no-strip"
else
$(RUST_BUILDER) deb --target $* -p bb-imager-gui --no-build -o ${RELEASE_DIR_LINUX}/$*/bb-imager-gui.deb --no-strip
$(RUST_BUILDER) deb --target $* -p bb-imager-gui --no-build -o ${RELEASE_DIR_GUI}/${PACKAGE_NAME_GUI}-$*.deb --no-strip
endif
package-gui-darwin-dmg-%: build-gui-%
$(info "Create GUI Darwin dmg $*")
sed -i'.bak' -e "s/0\.0\.0/${CI_COMMIT_TAG}/g" -e "s/fffffff/${CI_COMMIT_SHA:0:7}/g" ${GUI_ASSETS_DARWIN}/Info.plist
mkdir -p ${RELEASE_DIR_DARWIN}/$*/AppDir/BeagleBoardImager.app/Contents/{MacOS,Resources}
cp ${GUI_ASSETS_DARWIN}/Info.plist ${RELEASE_DIR_DARWIN}/$*/AppDir/BeagleBoardImager.app/Contents/
cp ${GUI_ASSETS}/icons/icon.icns ${RELEASE_DIR_DARWIN}/$*/AppDir/BeagleBoardImager.app/Contents/Resources/
cp target/$*/release/bb-imager-gui ${RELEASE_DIR_DARWIN}/$*/AppDir/BeagleBoardImager.app/Contents/MacOS/
mkdir -p ${RELEASE_DIR_GUI}/AppDir/BeagleBoardImager.app/Contents/{MacOS,Resources}
cp ${GUI_ASSETS_DARWIN}/Info.plist ${RELEASE_DIR_GUI}/AppDir/BeagleBoardImager.app/Contents/
cp ${GUI_ASSETS}/icons/icon.icns ${RELEASE_DIR_GUI}/AppDir/BeagleBoardImager.app/Contents/Resources/
cp target/$*/release/bb-imager-gui ${RELEASE_DIR_GUI}/AppDir/BeagleBoardImager.app/Contents/MacOS/
create-dmg \
--volname "BeagleBoardImager Installer" \
--volicon "${GUI_ASSETS}/icons/icon.icns" \
......@@ -55,11 +58,11 @@ package-gui-darwin-dmg-%: build-gui-%
--app-drop-link 600 185 \
--hdiutil-verbose \
--skip-jenkins \
"${RELEASE_DIR_DARWIN}/$*/BeagleBoardImager.dmg" \
"${RELEASE_DIR_DARWIN}/$*/AppDir/"
rm -rf ${RELEASE_DIR_DARWIN}/$*/AppDir/
"${RELEASE_DIR_GUI}/${PACKAGE_NAME_GUI}-$*.dmg" \
"${RELEASE_DIR_GUI}/AppDir/"
rm -rf ${RELEASE_DIR_GUI}/AppDir/
package-gui-windows-zip-%: build-gui-%
$(info "Create GUI Windows zip $*")
mkdir -p ${RELEASE_DIR_WINDOWS}/$*
zip -j ${RELEASE_DIR_WINDOWS}/$*/bb-imager-gui.zip target/$*/release/bb-imager-gui.exe
mkdir -p ${RELEASE_DIR_GUI}
zip -j ${RELEASE_DIR_GUI}/${PACKAGE_NAME_GUI}-$*.zip target/$*/release/bb-imager-gui.exe
PACKAGE_NAME_SERVICE = bb-imager-service
RELEASE_DIR_SERVICE = ${RELEASE_DIR}/${PACKAGE_NAME_SERVICE}/${PACKAGE_VERSION}
build-service-%:
$(info "Building D-Bus Service for $*")
$(RUST_BUILDER) build --release --target $* -p bb-imager-service
......@@ -5,17 +8,17 @@ build-service-%:
package-service-linux-deb-%: build-service-%
$(info "Create D-Bus Service Linux deb $*")
ifeq ($(RUST_BUILDER_NAME), cross)
$(CROSS_UTIL) run --target $* -- "cargo deb --target $* -p bb-imager-service --no-build -o ${RELEASE_DIR_LINUX}/$*/bb-imager-service.deb --no-strip"
$(CROSS_UTIL) run --target $* -- "cargo deb --target $* -p bb-imager-service --no-build -o ${RELEASE_DIR_SERVICE}/${PACKAGE_NAME_SERVICE}-$*.deb --no-strip"
else
$(RUST_BUILDER) deb --target $* -p bb-imager-service --no-build -o ${RELEASE_DIR_LINUX}/$*/bb-imager-service.deb --no-strip
$(RUST_BUILDER) deb --target $* -p bb-imager-service --no-build -o ${RELEASE_DIR_SERVICE}/${PACKAGE_NAME_SERVICE}-$*.deb --no-strip
endif
package-service-linux-xz-%: build-service-%
$(info "Create D-Bus Service Linux xz $*")
install -D target/$*/release/bb-imager-service -t ${RELEASE_DIR_LINUX}/$*/bb-imager-service-tempdir/usr/bin/
install -D -m 644 $(SERVICE_ASSETS)/dbus-org.beagleboard.ImagingService.service -t ${RELEASE_DIR_LINUX}/$*/bb-imager-service-tempdir/usr/lib/systemd/system/
install -D -m 644 $(SERVICE_ASSETS)/org.beagleboard.ImagingService.conf -t ${RELEASE_DIR_LINUX}/$*/bb-imager-service-tempdir/usr/share/dbus-1/system.d/
install -D -m 644 $(SERVICE_ASSETS)/org.beagleboard.ImagingService.policy -t ${RELEASE_DIR_LINUX}/$*/bb-imager-service-tempdir/usr/share/polkit-1/actions/
install -D -m 644 $(SERVICE_ASSETS)/org.beagleboard.ImagingService.service -t ${RELEASE_DIR_LINUX}/$*/bb-imager-service-tempdir/usr/share/dbus-1/system-services/
cd ${RELEASE_DIR_LINUX}/$*/bb-imager-service-tempdir/ && tar cfJ ${RELEASE_DIR_LINUX}/$*/bb-imager-service.tar.xz *
rm -rf ${RELEASE_DIR_LINUX}/$*/bb-imager-service-tempdir
install -D target/$*/release/bb-imager-service -t ${RELEASE_DIR_SERVICE}/bb-imager-service-tempdir/usr/bin/
install -D -m 644 $(SERVICE_ASSETS)/dbus-org.beagleboard.ImagingService.service -t ${RELEASE_DIR_SERVICE}/bb-imager-service-tempdir/usr/lib/systemd/system/
install -D -m 644 $(SERVICE_ASSETS)/org.beagleboard.ImagingService.conf -t ${RELEASE_DIR_SERVICE}/bb-imager-service-tempdir/usr/share/dbus-1/system.d/
install -D -m 644 $(SERVICE_ASSETS)/org.beagleboard.ImagingService.policy -t ${RELEASE_DIR_SERVICE}/bb-imager-service-tempdir/usr/share/polkit-1/actions/
install -D -m 644 $(SERVICE_ASSETS)/org.beagleboard.ImagingService.service -t ${RELEASE_DIR_SERVICE}/bb-imager-service-tempdir/usr/share/dbus-1/system-services/
cd ${RELEASE_DIR_SERVICE}/bb-imager-service-tempdir/ && tar cfJ ${RELEASE_DIR_SERVICE}/${PACKAGE_NAME_SERVICE}-$*.tar.xz *
rm -rf ${RELEASE_DIR_SERVICE}/bb-imager-service-tempdir
# Helpers for creating Gitlab Releases
CURL ?= $(shell which curl)
PACKAGE_REGISTRY_URL = ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic
PACKAGE_REGISTRY_GUI_URL = ${PACKAGE_REGISTRY_URL}/bb-imager-gui/${VERSION}
PACKAGE_REGISTRY_CLI_URL = ${PACKAGE_REGISTRY_URL}/bb-imager-cli/${VERSION}
# Upload to Package Registry. Also upload checksum
#
# Arg 1: source
# Arg 2: destination
define upload_artifact
sha256sum $(1) > $(1).sha256
${CURL} --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file $(1) $(2)
${CURL} --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file $(1).sha256 $(2).sha256
endef
upload-artifact-linux-%:
$(info "Upload Linux $* artifacts")
$(call upload_artifact,"${RELEASE_DIR_LINUX}/$*/BeagleBoardImager.AppImage","${PACKAGE_REGISTRY_GUI_URL}/$*/bb-imager-gui.AppImage")
$(call upload_artifact,"${RELEASE_DIR_LINUX}/$*/bb-imager-gui.deb","${PACKAGE_REGISTRY_GUI_URL}/$*/bb-imager-gui.deb")
$(call upload_artifact,"${RELEASE_DIR_LINUX}/$*/bb-imager-cli.tar.xz","${PACKAGE_REGISTRY_CLI_URL}/$*/bb-imager-cli.tar.xz")
$(call upload_artifact,"${RELEASE_DIR_LINUX}/$*/bb-imager-cli.deb","${PACKAGE_REGISTRY_CLI_URL}/$*/bb-imager-cli.deb")
upload-artifact-darwin-%:
$(info "Upload Darwin $* artifacts")
$(call upload_artifact,"${RELEASE_DIR_DARWIN}/$*/BeagleBoardImager.dmg","${PACKAGE_REGISTRY_GUI_URL}/$*/bb-imager-gui.dmg")
$(call upload_artifact,"${RELEASE_DIR_DARWIN}/$*/bb-imager-cli.zip","${PACKAGE_REGISTRY_CLI_URL}/$*/bb-imager-cli.zip")
upload-artifact-windows-%:
$(info "Upload Windows $* artifacts")
$(call upload_artifact,"${RELEASE_DIR_WINDOWS}/$*/bb-imager-gui.zip","${PACKAGE_REGISTRY_GUI_URL}/$*/bb-imager-gui.zip")
$(call upload_artifact,"${RELEASE_DIR_WINDOWS}/$*/bb-imager-cli.zip","${PACKAGE_REGISTRY_CLI_URL}/$*/bb-imager-cli.zip")
upload-artifact-linux: upload-artifact-linux-x86_64-unknown-linux-gnu upload-artifact-linux-aarch64-unknown-linux-gnu upload-artifact-linux-armv7-unknown-linux-gnueabihf;
upload-artifact-darwin: upload-artifact-darwin-x86_64-apple-darwin upload-artifact-darwin-aarch64-apple-darwin upload-artifact-darwin-universal-apple-darwin;
upload-artifact-windows: upload-artifact-windows-x86_64-pc-windows-gnu;
release-notes:
$(info "Generate release notes for $VERSION")
curl -H "PRIVATE-TOKEN: ${CI_API_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/repository/changelog?version=${VERSION}" | jq -r .notes > release_notes.md
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment