-
Notifications
You must be signed in to change notification settings - Fork 1.7k
ci: re-enable snap publishing #10142
Changes from 13 commits
0ce0221
73a0869
2ea98b7
89c947a
1455418
e6c9ee2
d4e44b0
0eac04e
08137f8
101d19e
736a9fa
5c40721
287297d
7dcf922
efa2da1
d94181c
86340aa
dbea690
c1fbd60
68f735a
ea0c4de
a7ca051
14264fe
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -54,8 +54,6 @@ test-audit: | |
build-linux: | ||
stage: build | ||
only: *releaseable_branches | ||
variables: | ||
CARGO_TARGET: x86_64-unknown-linux-gnu | ||
script: | ||
- scripts/gitlab/build-unix.sh | ||
<<: *collect_artifacts | ||
|
@@ -97,6 +95,23 @@ publish-docker: | |
script: | ||
- scripts/gitlab/publish-docker.sh parity | ||
|
||
publish-snap: | ||
stage: publish | ||
only: *releaseable_branches | ||
image: parity/snapcraft:gitlab-ci | ||
variables: | ||
BUILD_ARCH: amd64 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This will only be amd64, right? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Which ones did you have in mind? We basically dropped everything else There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In here we are building all the possible ones, just because it's easy in that case: Intuitively, I think arm is important. But the snap store doesn't show me metrics about that to confirm it. They might have some number accessible through the backend, I'll ask. |
||
cache: {} | ||
before_script: *determine_version | ||
dependencies: | ||
- build-linux | ||
tags: | ||
- rust-stable | ||
script: | ||
- scripts/gitlab/publish-snap.sh | ||
allow_failure: true | ||
<<: *collect_artifacts | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. would prefer to allow it to fail for the start. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done (112) |
||
|
||
publish-awss3: | ||
stage: publish | ||
only: *releaseable_branches | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
#!/bin/bash | ||
|
||
set -e # fail on any error | ||
set -u # treat unset variables as error | ||
|
||
case ${CI_COMMIT_REF_NAME} in | ||
nightly|*v2.3*) export GRADE="devel" CHANNEL="edge";; | ||
beta|*v2.2*) export GRADE="stable" CHANNEL="beta";; | ||
stable|*v2.1*) export GRADE="stable" CHANNEL="stable";; | ||
5chdn marked this conversation as resolved.
Show resolved
Hide resolved
|
||
*) echo "No release" exit 0;; | ||
esac | ||
|
||
SNAP_PACKAGE="parity_"$VERSION"_"$BUILD_ARCH".snap" | ||
|
||
echo "__________Create snap package__________" | ||
echo "Release channel :" $GRADE " Branch/tag: " $CI_COMMIT_REF_NAME | ||
echo $VERSION:$GRADE:$BUILD_ARCH | ||
cat scripts/snap/snapcraft.template.yaml | envsubst '$VERSION:$GRADE:$BUILD_ARCH:$CARGO_TARGET' > snapcraft.yaml | ||
cat snapcraft.yaml | ||
snapcraft --target-arch=$BUILD_ARCH | ||
ls *.snap | ||
|
||
echo "__________Calculating checksums__________" | ||
rhash --sha256 $SNAP_PACKAGE -o $SNAP_PACKAGE".sha256" | ||
cat $SNAP_PACKAGE".sha256" | ||
|
||
echo "__________Releasing snap package__________" | ||
echo "Release channel :" $CHANNEL " Branch/tag: " $CI_COMMIT_REF_NAME | ||
|
||
echo $SNAPCRAFT_LOGIN_PARITY_BASE64 | base64 --decode > snapcraft.login | ||
snapcraft login --with snapcraft.login | ||
snapcraft push --release $CHANNEL $SNAP_PACKAGE | ||
snapcraft status parity | ||
snapcraft logout |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[Desktop Entry] | ||
Type=Application | ||
Encoding=UTF-8 | ||
Name=Parity Ethereum | ||
Comment=The fastest and most advanced Ethereum client. | ||
Exec=parity | ||
Icon=/usr/share/pixmaps/icon.png | ||
Terminal=true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
name: parity | ||
version: $VERSION | ||
architectures: [$BUILD_ARCH] | ||
grade: $GRADE | ||
confinement: strict | ||
|
||
summary: Fast, light, robust Ethereum implementation | ||
description: | | ||
Parity's goal is to be the fastest, lightest, and most secure Ethereum | ||
client. We are developing Parity using the sophisticated and cutting-edge | ||
Rust programming language. Parity is licensed under the GPLv3, and can be | ||
used for all your Ethereum needs. | ||
|
||
apps: | ||
parity: | ||
command: parity | ||
plugs: [home, network, network-bind, mount-observe, x11, unity7, desktop, desktop-legacy, wayland] | ||
desktop: ./usr/share/applications/parity.desktop | ||
parity-evm: | ||
command: parity-evm | ||
plugs: [home, network, network-bind] | ||
ethkey: | ||
command: ethkey | ||
plugs: [home] | ||
ethstore: | ||
command: ethstore | ||
plugs: [home] | ||
whisper: | ||
command: whisper | ||
plugs: [home, network-bind] | ||
|
||
icon: ./scripts/snap/icon.png | ||
|
||
parts: | ||
desktop-icon: | ||
source: ./scripts/snap | ||
plugin: nil | ||
override-build: | | ||
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/applications | ||
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/pixmaps | ||
cp -v ./parity.desktop $SNAPCRAFT_PART_INSTALL/usr/share/applications/ | ||
cp -v ./icon.png $SNAPCRAFT_PART_INSTALL/usr/share/pixmaps/ | ||
parity: | ||
source: ./artifacts/$CARGO_TARGET | ||
plugin: nil | ||
override-build: | | ||
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/bin | ||
cp -v parity $SNAPCRAFT_PART_INSTALL/usr/bin/parity | ||
cp -v parity-evm $SNAPCRAFT_PART_INSTALL/usr/bin/parity-evm | ||
cp -v ethkey $SNAPCRAFT_PART_INSTALL/usr/bin/ethkey | ||
cp -v ethstore $SNAPCRAFT_PART_INSTALL/usr/bin/ethstore | ||
cp -v whisper $SNAPCRAFT_PART_INSTALL/usr/bin/whisper | ||
stage-packages: [libc6, libudev1, libstdc++6, cmake, libdb] | ||
df: | ||
plugin: nil | ||
stage-packages: [coreutils] | ||
stage: [bin/df] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so you want to run the builds on every pr?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this is only for testing, sorry, I will relabel it