Implement jenkins builds
Some checks failed
moparisthebest/sendxmpp-rs/pipeline/head There was a failure building this commit
Some checks failed
moparisthebest/sendxmpp-rs/pipeline/head There was a failure building this commit
This commit is contained in:
parent
37b5efd4b6
commit
5a71229c50
46
.ci/Jenkinsfile
vendored
Normal file
46
.ci/Jenkinsfile
vendored
Normal file
@ -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()
|
||||||
|
}
|
||||||
|
}
|
24
.ci/build.sh
Executable file
24
.ci/build.sh
Executable file
@ -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
|
560
Cargo.lock
generated
560
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -21,8 +21,8 @@ serde = "1.0.85"
|
|||||||
gumdrop = "0.5.0"
|
gumdrop = "0.5.0"
|
||||||
gumdrop_derive = "0.5.0"
|
gumdrop_derive = "0.5.0"
|
||||||
dirs = "1.0.4"
|
dirs = "1.0.4"
|
||||||
tokio-xmpp = "1.0.0"
|
tokio-xmpp = "1.0.1"
|
||||||
futures = "0.1"
|
futures = "0.1"
|
||||||
tokio = "0.1"
|
tokio = "0.1"
|
||||||
xmpp-parsers = "0.12.2"
|
xmpp-parsers = "0.15"
|
||||||
die = "0.2.0"
|
die = "0.2.0"
|
||||||
|
Loading…
Reference in New Issue
Block a user