4 changed files with 363 additions and 269 deletions
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
properties( |
||||
[ |
||||
disableConcurrentBuilds() |
||||
] |
||||
) |
||||
|
||||
node('linux && docker') { |
||||
try { |
||||
stage('Checkout') { |
||||
//branch name from Jenkins environment variables |
||||
echo "My branch is: ${env.BRANCH_NAME}" |
||||
|
||||
// this doesn't grab tags pointing to this branch |
||||
//checkout scm |
||||
// this hack does... https://issues.jenkins.io/browse/JENKINS-45164 |
||||
checkout([ |
||||
$class: 'GitSCM', |
||||
branches: [[name: 'refs/heads/'+env.BRANCH_NAME]], |
||||
extensions: [[$class: 'CloneOption', noTags: false, shallow: false, depth: 0, reference: '']], |
||||
userRemoteConfigs: scm.userRemoteConfigs, |
||||
]) |
||||
sh ''' |
||||
set -euxo pipefail |
||||
git checkout "$BRANCH_NAME" -- |
||||
git reset --hard "origin/$BRANCH_NAME" |
||||
''' |
||||
} |
||||
|
||||
stage('Build + Deploy') { |
||||
sh ''' |
||||
mkdir -p release |
||||
cp sendxmpp.toml release |
||||
curl --compressed -sL https://code.moparisthebest.com/moparisthebest/self-ci/raw/branch/master/build-ci.sh | bash |
||||
''' |
||||
} |
||||
|
||||
currentBuild.result = 'SUCCESS' |
||||
} catch (Exception err) { |
||||
currentBuild.result = 'FAILURE' |
||||
} finally { |
||||
stage('Email') { |
||||
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'admin.jenkins@moparisthebest.com', sendToIndividuals: true]) |
||||
} |
||||
deleteDir() |
||||
} |
||||
} |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash |
||||
set -exo pipefail |
||||
|
||||
echo "starting build for TARGET $TARGET" |
||||
|
||||
export CRATE_NAME=sendxmpp |
||||
|
||||
SUFFIX="" |
||||
|
||||
echo "$TARGET" | grep -E '^x86_64-pc-windows-gnu$' >/dev/null && SUFFIX=".exe" |
||||
|
||||
# build binary |
||||
cross build --target $TARGET --release |
||||
|
||||
# to check how they are built |
||||
file "target/$TARGET/release/${CRATE_NAME}$SUFFIX" |
||||
|
||||
# if this commit has a tag, upload artifact to release |
||||
strip "target/$TARGET/release/${CRATE_NAME}$SUFFIX" || true # if strip fails, it's fine |
||||
mkdir -p release |
||||
cp "target/$TARGET/release/${CRATE_NAME}$SUFFIX" "release/${CRATE_NAME}-$TARGET$SUFFIX" |
||||
|
||||
echo 'build success!' |
||||
exit 0 |
Loading…
Reference in new issue