feat(CI): handle remote files in a safer way (#2217) #4828
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Development builds | |
on: | |
push: | |
branches-ignore: | |
- 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-2023-06-01 --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01 | |
- name: Install build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc') | |
- 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 --release | |
- name: Compress mm2 build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="mm2_$COMMIT_HASH-linux-x86-64.zip" | |
zip $NAME target/release/mm2 -j | |
mkdir $BRANCH_NAME | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Compress kdf build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="kdf_$COMMIT_HASH-linux-x86-64.zip" | |
zip $NAME target/release/kdf -j | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/uploads/${{ env.BRANCH_NAME }}" | |
- name: Login to dockerhub | |
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/dev' | |
run: docker login --username ${{ secrets.DOCKER_HUB_USERNAME }} --password ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} docker.io | |
- name: Build and push container image | |
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/dev' | |
run: | | |
CONTAINER_TAG="dev-$COMMIT_HASH" | |
docker build -t komodoofficial/komodo-defi-framework:"$CONTAINER_TAG" -t komodoofficial/komodo-defi-framework:dev-latest -f .docker/Dockerfile.dev-release . | |
docker push komodoofficial/komodo-defi-framework:"$CONTAINER_TAG" | |
docker push komodoofficial/komodo-defi-framework:dev-latest | |
mac-x86-64: | |
timeout-minutes: 60 | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install toolchain | |
run: | | |
rustup toolchain install nightly-2023-06-01 --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01 | |
rustup target add x86_64-apple-darwin | |
- name: Install build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc', 'python3', 'paramiko') | |
- 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 --release --target x86_64-apple-darwin | |
- name: Compress mm2 build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
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: Compress kdf build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="kdf_$COMMIT_HASH-mac-x86-64.zip" | |
zip $NAME target/x86_64-apple-darwin/release/kdf -j | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/uploads/${{ env.BRANCH_NAME }}" | |
mac-arm64: | |
timeout-minutes: 60 | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install toolchain | |
run: | | |
rustup toolchain install nightly-2023-06-01 --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01 | |
rustup target add aarch64-apple-darwin | |
- name: Install build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc', 'python3', 'paramiko') | |
- 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 --release --target aarch64-apple-darwin | |
- name: Compress mm2 build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="mm2_$COMMIT_HASH-mac-arm64.zip" | |
zip $NAME target/aarch64-apple-darwin/release/mm2 -j | |
mkdir $BRANCH_NAME | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Compress kdf build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="kdf_$COMMIT_HASH-mac-arm64.zip" | |
zip $NAME target/aarch64-apple-darwin/release/kdf -j | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/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-2023-06-01 --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01 | |
- name: Install build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc', 'python3', 'paramiko') | |
- 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 --release | |
- name: Compress mm2 build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
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: Compress kdf build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
$NAME="kdf_$Env:COMMIT_HASH-win-x86-64.zip" | |
7z a $NAME .\target\release\kdf.exe .\target\release\*.dll | |
mv $NAME ./$Env:BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/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-2023-06-01-x86_64-apple-darwin --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01-x86_64-apple-darwin | |
rustup target add x86_64-apple-darwin | |
- name: Install build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc', 'python3', 'paramiko') | |
- 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 mm2 build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="mm2_$COMMIT_HASH-mac-dylib-x86-64.zip" | |
cp target/x86_64-apple-darwin/release/libkdflib.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: Compress kdf build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="kdf_$COMMIT_HASH-mac-dylib-x86-64.zip" | |
mv target/x86_64-apple-darwin/release/libkdflib.a target/x86_64-apple-darwin/release/libkdf.a | |
zip $NAME target/x86_64-apple-darwin/release/libkdf.a -j | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/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 build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc') | |
- name: Install toolchain | |
run: | | |
rustup toolchain install nightly-2023-06-01 --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01 | |
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 | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="kdf_$COMMIT_HASH-wasm.zip" | |
(cd ./target/target-wasm-release && zip -r - .) > $NAME | |
mkdir $BRANCH_NAME | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/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-2023-06-01 --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01 | |
rustup target add aarch64-apple-ios | |
- name: Install build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc', 'python3', 'paramiko') | |
- 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 mm2 build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="mm2_$COMMIT_HASH-ios-aarch64.zip" | |
cp target/aarch64-apple-ios/release/libkdflib.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: Compress kdf build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="kdf_$COMMIT_HASH-ios-aarch64.zip" | |
mv target/aarch64-apple-ios/release/libkdflib.a target/aarch64-apple-ios/release/libkdf.a | |
zip $NAME target/aarch64-apple-ios/release/libkdf.a -j | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/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-2023-06-01 --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01 | |
rustup target add aarch64-linux-android | |
- name: Install build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc') | |
- 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 mm2 build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="mm2_$COMMIT_HASH-android-aarch64.zip" | |
cp target/aarch64-linux-android/release/libkdflib.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: Compress kdf build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="kdf_$COMMIT_HASH-android-aarch64.zip" | |
mv target/aarch64-linux-android/release/libkdflib.a target/aarch64-linux-android/release/libkdf.a | |
zip $NAME target/aarch64-linux-android/release/libkdf.a -j | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/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-2023-06-01 --no-self-update --profile=minimal | |
rustup default nightly-2023-06-01 | |
rustup target add armv7-linux-androideabi | |
- name: Install build deps | |
uses: ./.github/actions/deps-install | |
with: | |
deps: ('protoc') | |
- 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 mm2 build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="mm2_$COMMIT_HASH-android-armv7.zip" | |
cp target/armv7-linux-androideabi/release/libkdflib.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: Compress kdf build output | |
env: | |
AVAILABLE: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.AVAILABLE != '' }} | |
run: | | |
NAME="kdf_$COMMIT_HASH-android-armv7.zip" | |
mv target/armv7-linux-androideabi/release/libkdflib.a target/armv7-linux-androideabi/release/libkdf.a | |
zip $NAME target/armv7-linux-androideabi/release/libkdf.a -j | |
mv $NAME ./$BRANCH_NAME/ | |
- name: Upload build artifact | |
env: | |
FILE_SERVER_HOST: ${{ secrets.FILE_SERVER_HOST }} | |
FILE_SERVER_USERNAME: ${{ secrets.FILE_SERVER_USERNAME }} | |
FILE_SERVER_PORT: ${{ secrets.FILE_SERVER_PORT }} | |
FILE_SERVER_KEY: ${{ secrets.FILE_SERVER_KEY }} | |
if: ${{ env.FILE_SERVER_KEY != '' }} | |
run: python3 ./scripts/ci/upload_artifact.py "${{ env.BRANCH_NAME }}" "/uploads/${{ env.BRANCH_NAME }}" | |
deployment-commitment: | |
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/dev' | |
needs: linux-x86-64 | |
timeout-minutes: 15 | |
runs-on: ubuntu-latest | |
container: komodoofficial/ci-container:latest | |
steps: | |
- uses: actions/checkout@v2 | |
- 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: 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: Activate SSH | |
uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.ATOMICDEX_DEPLOYMENTS_SSH }} | |
- name: Commitment | |
run: | | |
git clone [email protected]:KomodoPlatform/atomicdex-deployments.git | |
if [ -d "atomicdex-deployments/atomicDEX-API" ]; then | |
cd atomicdex-deployments/atomicDEX-API | |
sed -i "1s/^.*$/$COMMIT_HASH/" .commit | |
git config --global user.email "[email protected]" | |
git config --global user.name "linuxci" | |
git add .commit | |
git commit -m "[atomicDEX-API] $COMMIT_HASH is committed for git & container registry" | |
git push | |
fi |