Skip to content

Merge pull request #1968 from KomodoPlatform/dev #18

Merge pull request #1968 from KomodoPlatform/dev

Merge pull request #1968 from KomodoPlatform/dev #18

Workflow file for this run

name: Release builds
on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
MANUAL_MM_VERSION: true
JEMALLOC_SYS_WITH_MALLOC_CONF: "background_thread:true,narenas:1,tcache:false,dirty_decay_ms:0,muzzy_decay_ms:0,metadata_thp:auto"
jobs:
linux-x86-64:
timeout-minutes: 60
runs-on: ubuntu-latest
container: komodoofficial/ci-container:latest
steps:
- uses: actions/checkout@v3
- name: pre scripts for ci container
run: |
git config --global --add safe.directory /__w/komodo-defi-framework/komodo-defi-framework
echo "/bin" >> $GITHUB_PATH
echo "/usr/bin" >> $GITHUB_PATH
echo "/root/.cargo/bin" >> $GITHUB_PATH
- name: Install toolchain
run: |
rustup toolchain install nightly-2022-10-29 --no-self-update --profile=minimal
rustup default nightly-2022-10-29
- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 ${{ github.event.pull_request.head.sha }})" >> $GITHUB_ENV
- name: Calculate commit hash for merge commit
if: github.event_name != 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV
- name: Cargo cache
uses: ./.github/actions/cargo-cache
- name: Build
run: |
rm -f ./MM_VERSION
echo $COMMIT_HASH > ./MM_VERSION
cargo build --bin mm2 --release
- name: Compress build output
run: |
NAME="mm2_$COMMIT_HASH-linux-x86-64.zip"
zip $NAME target/release/mm2 -j
mkdir $BRANCH_NAME
mv $NAME ./$BRANCH_NAME/
- name: Upload output
uses: garygrossgarten/[email protected]
with:
host: ${{ secrets.FILE_SERVER_HOST }}
username: ${{ secrets.FILE_SERVER_USERNAME }}
port: ${{ secrets.FILE_SERVER_PORT }}
privateKey: ${{ secrets.FILE_SERVER_KEY }}
local: ${{ env.BRANCH_NAME }}
remote: "/uploads/${{ env.BRANCH_NAME }}"
- name: Login to dockerhub
run: docker login --username ${{ secrets.DOCKER_HUB_USERNAME }} --password ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} docker.io
- name: Build and push container image
run: |
export CONTAINER_TAG=$(./target/release/mm2 --version | awk '{print $3}')
docker build -t komodoofficial/atomicdexapi:"$CONTAINER_TAG" -t komodoofficial/atomicdexapi:main-latest -f .docker/Dockerfile.release .
docker push komodoofficial/atomicdexapi:"$CONTAINER_TAG"
docker push komodoofficial/atomicdexapi:main-latest
mac-x86-64:
timeout-minutes: 60
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install toolchain
run: |
rustup toolchain install nightly-2022-10-29 --no-self-update --profile=minimal
rustup default nightly-2022-10-29
- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 ${{ github.event.pull_request.head.sha }})" >> $GITHUB_ENV
- name: Calculate commit hash for merge commit
if: github.event_name != 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV
- name: Cargo cache
uses: ./.github/actions/cargo-cache
- name: Build
run: |
rm -f ./MM_VERSION
echo $COMMIT_HASH > ./MM_VERSION
cargo build --bin mm2 --release --target x86_64-apple-darwin
- name: Compress build output
run: |
NAME="mm2_$COMMIT_HASH-mac-x86-64.zip"
zip $NAME target/x86_64-apple-darwin/release/mm2 -j
mkdir $BRANCH_NAME
mv $NAME ./$BRANCH_NAME/
- name: Upload output
uses: garygrossgarten/[email protected]
with:
host: ${{ secrets.FILE_SERVER_HOST }}
username: ${{ secrets.FILE_SERVER_USERNAME }}
port: ${{ secrets.FILE_SERVER_PORT }}
privateKey: ${{ secrets.FILE_SERVER_KEY }}
local: ${{ env.BRANCH_NAME }}
remote: "/uploads/${{ env.BRANCH_NAME }}"
win-x86-64:
timeout-minutes: 60
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Install toolchain
run: |
rustup toolchain install nightly-2022-10-29 --no-self-update --profile=minimal
rustup default nightly-2022-10-29
- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 ${{ github.event.pull_request.head.sha }})" >> $Env:GITHUB_ENV
- name: Calculate commit hash for merge commit
if: github.event_name != 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 HEAD)" >> $Env:GITHUB_ENV
- name: Cargo cache
uses: ./.github/actions/cargo-cache
- name: Build
run: |
if (test-path "./MM_VERSION") {
remove-item "./MM_VERSION"
}
echo $Env:COMMIT_HASH > ./MM_VERSION
cargo build --bin mm2 --release
- name: Compress build output
run: |
$NAME="mm2_$Env:COMMIT_HASH-win-x86-64.zip"
7z a $NAME .\target\release\mm2.exe .\target\release\*.dll
mkdir $Env:BRANCH_NAME
mv $NAME ./$Env:BRANCH_NAME/
- name: Upload output
uses: garygrossgarten/[email protected]
with:
host: ${{ secrets.FILE_SERVER_HOST }}
username: ${{ secrets.FILE_SERVER_USERNAME }}
port: ${{ secrets.FILE_SERVER_PORT }}
privateKey: ${{ secrets.FILE_SERVER_KEY }}
local: ${{ env.BRANCH_NAME }}
remote: "/uploads/${{ env.BRANCH_NAME }}"
mac-dylib-x86-64:
timeout-minutes: 60
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install toolchain
run: |
rustup toolchain install nightly-2022-10-29 --no-self-update --profile=minimal
rustup default nightly-2022-10-29
- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 ${{ github.event.pull_request.head.sha }})" >> $GITHUB_ENV
- name: Calculate commit hash for merge commit
if: github.event_name != 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV
- name: Cargo cache
uses: ./.github/actions/cargo-cache
- name: Build
run: |
rm -f ./MM_VERSION
echo $COMMIT_HASH > ./MM_VERSION
cargo rustc --target x86_64-apple-darwin --lib --release --package mm2_bin_lib --crate-type=staticlib
- name: Compress build output
run: |
NAME="mm2_$COMMIT_HASH-mac-dylib-x86-64.zip"
mv target/x86_64-apple-darwin/release/libmm2lib.a target/x86_64-apple-darwin/release/libmm2.a
zip $NAME target/x86_64-apple-darwin/release/libmm2.a -j
mkdir $BRANCH_NAME
mv $NAME ./$BRANCH_NAME/
- name: Upload output
uses: garygrossgarten/[email protected]
with:
host: ${{ secrets.FILE_SERVER_HOST }}
username: ${{ secrets.FILE_SERVER_USERNAME }}
port: ${{ secrets.FILE_SERVER_PORT }}
privateKey: ${{ secrets.FILE_SERVER_KEY }}
local: ${{ env.BRANCH_NAME }}
remote: "/uploads/${{ env.BRANCH_NAME }}"
wasm:
timeout-minutes: 60
runs-on: ubuntu-latest
container: komodoofficial/ci-container:latest
steps:
- uses: actions/checkout@v3
- name: pre scripts for ci container
run: |
git config --global --add safe.directory /__w/komodo-defi-framework/komodo-defi-framework
echo "/bin" >> $GITHUB_PATH
echo "/usr/bin" >> $GITHUB_PATH
echo "/root/.cargo/bin" >> $GITHUB_PATH
- name: Install toolchain
run: |
rustup toolchain install nightly-2022-10-29 --no-self-update --profile=minimal
rustup default nightly-2022-10-29
rustup target add wasm32-unknown-unknown
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | bash -s -- -y
- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 ${{ github.event.pull_request.head.sha }})" >> $GITHUB_ENV
- name: Calculate commit hash for merge commit
if: github.event_name != 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV
- name: Cargo cache
uses: ./.github/actions/cargo-cache
- name: Build
run: |
rm -f ./MM_VERSION
echo $COMMIT_HASH > ./MM_VERSION
wasm-pack build --release mm2src/mm2_bin_lib --target web --out-dir ../../target/target-wasm-release
- name: Compress build output
run: |
NAME="mm2_$COMMIT_HASH-wasm.zip"
(cd ./target/target-wasm-release && zip -r - .) > $NAME
mkdir $BRANCH_NAME
mv $NAME ./$BRANCH_NAME/
- name: Upload output
uses: garygrossgarten/[email protected]
with:
host: ${{ secrets.FILE_SERVER_HOST }}
username: ${{ secrets.FILE_SERVER_USERNAME }}
port: ${{ secrets.FILE_SERVER_PORT }}
privateKey: ${{ secrets.FILE_SERVER_KEY }}
local: ${{ env.BRANCH_NAME }}
remote: "/uploads/${{ env.BRANCH_NAME }}"
ios-aarch64:
timeout-minutes: 60
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install toolchain
run: |
rustup toolchain install nightly-2022-10-29 --no-self-update --profile=minimal
rustup default nightly-2022-10-29
rustup target add aarch64-apple-ios
- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 ${{ github.event.pull_request.head.sha }})" >> $GITHUB_ENV
- name: Calculate commit hash for merge commit
if: github.event_name != 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV
- name: Cargo cache
uses: ./.github/actions/cargo-cache
- name: Build
run: |
rm -f ./MM_VERSION
echo $COMMIT_HASH > ./MM_VERSION
cargo rustc --target aarch64-apple-ios --lib --release --package mm2_bin_lib --crate-type=staticlib
- name: Compress build output
run: |
NAME="mm2_$COMMIT_HASH-ios-aarch64.zip"
mv target/aarch64-apple-ios/release/libmm2lib.a target/aarch64-apple-ios/release/libmm2.a
zip $NAME target/aarch64-apple-ios/release/libmm2.a -j
mkdir $BRANCH_NAME
mv $NAME ./$BRANCH_NAME/
- name: Upload output
uses: garygrossgarten/[email protected]
with:
host: ${{ secrets.FILE_SERVER_HOST }}
username: ${{ secrets.FILE_SERVER_USERNAME }}
port: ${{ secrets.FILE_SERVER_PORT }}
privateKey: ${{ secrets.FILE_SERVER_KEY }}
local: ${{ env.BRANCH_NAME }}
remote: "/uploads/${{ env.BRANCH_NAME }}"
android-aarch64:
timeout-minutes: 60
runs-on: ubuntu-latest
container: komodoofficial/ci-container:latest
steps:
- uses: actions/checkout@v3
- name: pre scripts for ci container
run: |
git config --global --add safe.directory /__w/komodo-defi-framework/komodo-defi-framework
echo "/bin" >> $GITHUB_PATH
echo "/usr/bin" >> $GITHUB_PATH
echo "/root/.cargo/bin" >> $GITHUB_PATH
- name: Install toolchain
run: |
rustup toolchain install nightly-2022-10-29 --no-self-update --profile=minimal
rustup default nightly-2022-10-29
rustup target add aarch64-linux-android
- name: Setup NDK
run: ./scripts/ci/android-ndk.sh x86 23
- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 ${{ github.event.pull_request.head.sha }})" >> $GITHUB_ENV
- name: Calculate commit hash for merge commit
if: github.event_name != 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV
- name: Cargo cache
uses: ./.github/actions/cargo-cache
- name: Build
run: |
rm -f ./MM_VERSION
echo $COMMIT_HASH > ./MM_VERSION
export PATH=$PATH:/android-ndk/bin
CC_aarch64_linux_android=aarch64-linux-android21-clang CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android21-clang cargo rustc --target=aarch64-linux-android --lib --release --crate-type=staticlib --package mm2_bin_lib
- name: Compress build output
run: |
NAME="mm2_$COMMIT_HASH-android-aarch64.zip"
mv target/aarch64-linux-android/release/libmm2lib.a target/aarch64-linux-android/release/libmm2.a
zip $NAME target/aarch64-linux-android/release/libmm2.a -j
mkdir $BRANCH_NAME
mv $NAME ./$BRANCH_NAME/
- name: Upload output
uses: garygrossgarten/[email protected]
with:
host: ${{ secrets.FILE_SERVER_HOST }}
username: ${{ secrets.FILE_SERVER_USERNAME }}
port: ${{ secrets.FILE_SERVER_PORT }}
privateKey: ${{ secrets.FILE_SERVER_KEY }}
local: ${{ env.BRANCH_NAME }}
remote: "/uploads/${{ env.BRANCH_NAME }}"
android-armv7:
timeout-minutes: 60
runs-on: ubuntu-latest
container: komodoofficial/ci-container:latest
steps:
- uses: actions/checkout@v3
- name: pre scripts for ci container
run: |
git config --global --add safe.directory /__w/komodo-defi-framework/komodo-defi-framework
echo "/bin" >> $GITHUB_PATH
echo "/usr/bin" >> $GITHUB_PATH
echo "/root/.cargo/bin" >> $GITHUB_PATH
- name: Install toolchain
run: |
rustup toolchain install nightly-2022-10-29 --no-self-update --profile=minimal
rustup default nightly-2022-10-29
rustup target add armv7-linux-androideabi
- name: Setup NDK
run: ./scripts/ci/android-ndk.sh x86 23
- name: Calculate commit hash for PR commit
if: github.event_name == 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 ${{ github.event.pull_request.head.sha }})" >> $GITHUB_ENV
- name: Calculate commit hash for merge commit
if: github.event_name != 'pull_request'
run: echo "COMMIT_HASH=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV
- name: Cargo cache
uses: ./.github/actions/cargo-cache
- name: Build
run: |
rm -f ./MM_VERSION
echo $COMMIT_HASH > ./MM_VERSION
export PATH=$PATH:/android-ndk/bin
CC_armv7_linux_androideabi=armv7a-linux-androideabi21-clang CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi21-clang cargo rustc --target=armv7-linux-androideabi --lib --release --crate-type=staticlib --package mm2_bin_lib
- name: Compress build output
run: |
NAME="mm2_$COMMIT_HASH-android-armv7.zip"
mv target/armv7-linux-androideabi/release/libmm2lib.a target/armv7-linux-androideabi/release/libmm2.a
zip $NAME target/armv7-linux-androideabi/release/libmm2.a -j
mkdir $BRANCH_NAME
mv $NAME ./$BRANCH_NAME/
- name: Upload output
uses: garygrossgarten/[email protected]
with:
host: ${{ secrets.FILE_SERVER_HOST }}
username: ${{ secrets.FILE_SERVER_USERNAME }}
port: ${{ secrets.FILE_SERVER_PORT }}
privateKey: ${{ secrets.FILE_SERVER_KEY }}
local: ${{ env.BRANCH_NAME }}
remote: "/uploads/${{ env.BRANCH_NAME }}"