Skip to content

Enable CLI to update metadata #129

Enable CLI to update metadata

Enable CLI to update metadata #129

# .github/workflows/workflow_macos.yaml
name: Rust CI - macOS
on:
push:
branches: [ "listener-refined", "symbotic-bindings" ]
pull_request:
branches: [ "listener-refined", "symbotic-bindings" ]
jobs:
check:
name: Check (macOS)
runs-on: macos-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install macOS target
run: rustup target add x86_64-apple-darwin
- name: Cache Cargo registry
uses: actions/cache@v3
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-registry-
- name: Cache Cargo git index
uses: actions/cache@v3
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-git-
- name: Cache Cargo build
uses: actions/cache@v3
with:
path: target
key: ${{ runner.os }}-cargo-build-macos-${{ hashFiles('**/Cargo.lock') }}-v2
restore-keys: |
${{ runner.os }}-cargo-build-macos-
${{ runner.os }}-cargo-build-
- name: Remove .cargo/config.toml if exists
run: rm -f .cargo/config.toml
- name: Update dependencies
run: cargo update
test:
name: Test Suite (macOS)
runs-on: macos-latest
needs: check
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install macOS target
run: rustup target add x86_64-apple-darwin
- name: Cache Cargo registry
uses: actions/cache@v3
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-registry-
- name: Cache Cargo git index
uses: actions/cache@v3
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-git-
- name: Cache Cargo build
uses: actions/cache@v3
with:
path: target
key: ${{ runner.os }}-cargo-build-macos-${{ hashFiles('**/Cargo.lock') }}-v2
restore-keys: |
${{ runner.os }}-cargo-build-macos-
${{ runner.os }}-cargo-build-
- name: Remove .cargo/config.toml if exists
run: rm -f .cargo/config.toml
- name: Update dependencies
run: cargo update
- name: Verify Installed Targets
run: rustup target list --installed
- name: Run cargo test
env:
RUST_BACKTRACE: 1
run: cargo test --target x86_64-apple-darwin
- name: Build Release
run: cargo build --release --target x86_64-apple-darwin
- name: upx
run: |
wget https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-amd64_linux.tar.xz -O upx.txz
mkdir -p upx && tar -xvf upx.txz --strip-components=1 -C upx
sudo mv upx/upx /usr/local/bin/
- name: upload kalypso-cli
run: |
sudo upx kalypso-unified/target/x86_64-apple-darwin/release/kalypso-cli
AWS_ACCESS_KEY_ID=${{secrets.AWS_ACCESS_KEY_ID}} AWS_SECRET_ACCESS_KEY=${{secrets.AWS_SECRET_ACCESS_KEY}} aws s3 cp --endpoint-url ${{secrets.AWS_S3_ENDPOINT}} kalypso-cli/target/x86_64-apple-darwin/release/kalypso-cli s3://artifacts/kalypso/binaries/kalypso-cli-macos