Update readme, add ci builds
All checks were successful
moparisthebest/phone-mnemonic/pipeline/head This commit looks good
All checks were successful
moparisthebest/phone-mnemonic/pipeline/head This commit looks good
This commit is contained in:
parent
0f07029e5c
commit
16dda9a8c7
42
.ci/Jenkinsfile
vendored
Normal file
42
.ci/Jenkinsfile
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
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 '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()
|
||||
}
|
||||
}
|
46
.ci/build.sh
Executable file
46
.ci/build.sh
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
set -exo pipefail
|
||||
|
||||
echo "starting build for TARGET $TARGET"
|
||||
|
||||
export CRATE_NAME=phone-mnemonic
|
||||
|
||||
# cross doesn't actually support stdin/stdout pipes for some reason, skip it for now
|
||||
DISABLE_TESTS=1
|
||||
|
||||
SUFFIX=""
|
||||
|
||||
echo "$TARGET" | grep -E '^x86_64-pc-windows-gnu$' >/dev/null && SUFFIX=".exe"
|
||||
|
||||
cross rustc --bin phone-mnemonic --target $TARGET --release
|
||||
|
||||
# to check how they are built
|
||||
file "target/$TARGET/release/phone-mnemonic$SUFFIX"
|
||||
|
||||
if [ $DISABLE_TESTS -ne 1 ]
|
||||
then
|
||||
|
||||
test_num='1234567890'
|
||||
# first make sure it outputs the right number of numbers
|
||||
num_perms="$(echo "$test_num" | cross run --target $TARGET --release --bin phone-mnemonic)"
|
||||
if [ "$num_perms" != "102400" ]
|
||||
then
|
||||
echo "num_perms expected 102400, was: $num_perms"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
out_num="$(echo "$test_num" | cross run --target $TARGET --release --bin phone-mnemonic | cross run --target $TARGET --release --bin phone-mnemonic -- -r | sort -u)"
|
||||
if [ "$out_num" != "$test_num" ]
|
||||
then
|
||||
echo "out_num expected $test_num, was: $out_num"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# if this commit has a tag, upload artifact to release
|
||||
strip "target/$TARGET/release/phone-mnemonic$SUFFIX" || true # if strip fails, it's fine
|
||||
mkdir -p release
|
||||
mv "target/$TARGET/release/phone-mnemonic$SUFFIX" "release/phone-mnemonic-$TARGET$SUFFIX"
|
||||
|
||||
echo 'build success!'
|
||||
exit 0
|
@ -1,6 +1,8 @@
|
||||
phone-mnemonic
|
||||
--------------
|
||||
|
||||
[![Build Status](https://ci.moparisthe.best/job/moparisthebest/job/phone-mnemonic/job/master/badge/icon%3Fstyle=plastic)](https://ci.moparisthe.best/job/moparisthebest/job/phone-mnemonic/job/master/)
|
||||
|
||||
```
|
||||
$ phone-mnemonic -h
|
||||
usage: phone-mnemonic [options...]
|
||||
@ -18,3 +20,5 @@ Examples:
|
||||
phone-mnemonic -r -o < coolnums.txt > nums_to_get.txt; reverse but keep original into a file
|
||||
for easy lookup/number finding
|
||||
```
|
||||
|
||||
Additionally a script in jmp/jmp.sh will download all available numbers in the USA that [jmp.chat](https://jmp.chat) has available, combined with phone-mnemonic you can easily grep the phone number of your dreams.
|
||||
|
Loading…
Reference in New Issue
Block a user