build: on Linux use tar+gzip to preserve +x attribute of .AppImage
We create a separate make target to avoid tarballing every time. This is really useful only for releases we upload for users. Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
6a5b6e3593
commit
a564b48f61
8
Makefile
8
Makefile
|
@ -245,6 +245,7 @@ $(APPIMAGE_TOOL):
|
||||||
chmod +x $(APPIMAGE_TOOL)
|
chmod +x $(APPIMAGE_TOOL)
|
||||||
|
|
||||||
STATUS_CLIENT_APPIMAGE ?= pkg/Status.AppImage
|
STATUS_CLIENT_APPIMAGE ?= pkg/Status.AppImage
|
||||||
|
STATUS_CLIENT_TARBALL ?= pkg/Status.tar.gz
|
||||||
|
|
||||||
$(STATUS_CLIENT_APPIMAGE): override RESOURCES_LAYOUT := -d:production
|
$(STATUS_CLIENT_APPIMAGE): override RESOURCES_LAYOUT := -d:production
|
||||||
$(STATUS_CLIENT_APPIMAGE): nim_status_client $(APPIMAGE_TOOL) nim-status.desktop
|
$(STATUS_CLIENT_APPIMAGE): nim_status_client $(APPIMAGE_TOOL) nim-status.desktop
|
||||||
|
@ -280,6 +281,11 @@ $(STATUS_CLIENT_APPIMAGE): nim_status_client $(APPIMAGE_TOOL) nim-status.desktop
|
||||||
mkdir -p pkg
|
mkdir -p pkg
|
||||||
$(APPIMAGE_TOOL) tmp/linux/dist $(STATUS_CLIENT_APPIMAGE)
|
$(APPIMAGE_TOOL) tmp/linux/dist $(STATUS_CLIENT_APPIMAGE)
|
||||||
|
|
||||||
|
$(STATUS_CLIENT_TARBALL): $(STATUS_CLIENT_APPIMAGE)
|
||||||
|
tar czvf $(STATUS_CLIENT_TARBALL) \
|
||||||
|
-C $(shell dirname $(STATUS_CLIENT_APPIMAGE)) \
|
||||||
|
$(shell basename $(STATUS_CLIENT_APPIMAGE))
|
||||||
|
|
||||||
DMG_TOOL := node_modules/.bin/create-dmg
|
DMG_TOOL := node_modules/.bin/create-dmg
|
||||||
|
|
||||||
$(DMG_TOOL):
|
$(DMG_TOOL):
|
||||||
|
@ -393,6 +399,8 @@ pkg: $(PKG_TARGET)
|
||||||
|
|
||||||
pkg-linux: check-pkg-target-linux $(STATUS_CLIENT_APPIMAGE)
|
pkg-linux: check-pkg-target-linux $(STATUS_CLIENT_APPIMAGE)
|
||||||
|
|
||||||
|
tgz-linux: $(STATUS_CLIENT_TARBALL)
|
||||||
|
|
||||||
pkg-macos: check-pkg-target-macos $(STATUS_CLIENT_DMG)
|
pkg-macos: check-pkg-target-macos $(STATUS_CLIENT_DMG)
|
||||||
|
|
||||||
pkg-windows: check-pkg-target-windows $(STATUS_CLIENT_ZIP)
|
pkg-windows: check-pkg-target-windows $(STATUS_CLIENT_ZIP)
|
||||||
|
|
|
@ -40,6 +40,7 @@ pipeline {
|
||||||
QTDIR = "/opt/qt/5.14.0/gcc_64"
|
QTDIR = "/opt/qt/5.14.0/gcc_64"
|
||||||
/* Control output the filename */
|
/* Control output the filename */
|
||||||
STATUS_CLIENT_APPIMAGE = "pkg/${utils.pkgFilename('AppImage')}"
|
STATUS_CLIENT_APPIMAGE = "pkg/${utils.pkgFilename('AppImage')}"
|
||||||
|
STATUS_CLIENT_TARBALL = "pkg/${utils.pkgFilename('tar.gz')}"
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
|
@ -68,7 +69,7 @@ pipeline {
|
||||||
credentialsId: utils.getInfuraTokenCred(),
|
credentialsId: utils.getInfuraTokenCred(),
|
||||||
variable: 'INFURA_TOKEN'
|
variable: 'INFURA_TOKEN'
|
||||||
)]) {
|
)]) {
|
||||||
sh 'make pkg-linux'
|
sh 'make tgz-linux'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,13 +78,13 @@ pipeline {
|
||||||
parallel {
|
parallel {
|
||||||
stage('Upload') {
|
stage('Upload') {
|
||||||
steps { script {
|
steps { script {
|
||||||
env.PKG_URL = s3.uploadArtifact(env.STATUS_CLIENT_APPIMAGE)
|
env.PKG_URL = s3.uploadArtifact(env.STATUS_CLIENT_TARBALL)
|
||||||
jenkins.setBuildDesc(AppImage: env.PKG_URL)
|
jenkins.setBuildDesc(AppImage: env.PKG_URL)
|
||||||
} }
|
} }
|
||||||
}
|
}
|
||||||
stage('Archive') {
|
stage('Archive') {
|
||||||
steps { script {
|
steps { script {
|
||||||
archiveArtifacts(env.STATUS_CLIENT_APPIMAGE)
|
archiveArtifacts(env.STATUS_CLIENT_TARBALL)
|
||||||
} }
|
} }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue