Enable CLI to update metadata #129
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
# .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 |