From 3e827d9e6cd9a93b73ea21ac7ba072048738a6ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Owodzin=CC=81?= Date: Fri, 16 Dec 2022 01:54:20 +0000 Subject: [PATCH] added macOS support --- .circleci/test-deploy.yml | 20 ++++++++++++++++++++ src/executors/macos.yml | 20 ++++++++++++++++++++ src/scripts/install.sh | 16 +++++++++++++++- 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 src/executors/macos.yml diff --git a/.circleci/test-deploy.yml b/.circleci/test-deploy.yml index b5e4308..fe042b0 100644 --- a/.circleci/test-deploy.yml +++ b/.circleci/test-deploy.yml @@ -66,6 +66,17 @@ jobs: version: << parameters.version >> - run: *check-cli-version + install-macos: + parameters: + version: + type: string + macos: + xcode: 14.1.0 + steps: + - gcp-cli/install: + version: <> + - run: *check-cli-version + install-components: executor: gcp-cli/default steps: @@ -114,6 +125,14 @@ workflows: context: orb-publisher filters: *filters + - install-macos: + matrix: + alias: test-macos-versions + parameters: + version: [latest, 399.0.0, 410.0.0] + context: orb-publisher + filters: *filters + - auth-oidc: context: - gcp-cli-oidc @@ -131,6 +150,7 @@ workflows: - test-executor-versions - test-google-versions - test-alpine-versions + - test-macos-versions - install-components - auth-oidc - orb-tools/pack diff --git a/src/executors/macos.yml b/src/executors/macos.yml new file mode 100644 index 0000000..98304ae --- /dev/null +++ b/src/executors/macos.yml @@ -0,0 +1,20 @@ +description: | + CircleCI's macOS execution environment: + https://circleci.com/docs/configuration-reference/#macos + +parameters: + xcode_version: + type: string + default: 14.1.0 + description: | + Which macOS execution environment to use. For details, see + https://circleci.com/docs/configuration-reference/#macos + resource-class: + description: Resource class used for the executor. + type: enum + default: medium + enum: [medium, macos.x86.medium.gen2, large, macos.x86.metal.gen1] + +macos: + xcode: <> +resource_class: << parameters.resource-class >> diff --git a/src/scripts/install.sh b/src/scripts/install.sh index 3994adb..f281513 100644 --- a/src/scripts/install.sh +++ b/src/scripts/install.sh @@ -33,7 +33,21 @@ install() { if [ "$major_version" -gt 370 ]; then url_path_fixture="cli" else url_path_fixture="sdk"; fi - curl --location --silent --fail --retry 3 --output "$install_dir/google-cloud-sdk.tar.gz" "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-$url_path_fixture-$arg_version-linux-x86_64.tar.gz" + os_family="linux" + case $(uname -s | tr '[:upper:]' '[:lower:]') in + linux) + os_family="linux" + ;; + darwin) + os_family="darwin" + ;; + *) + echo "Unsupported operating system." + exit 1 + ;; + esac + + curl --location --silent --fail --retry 3 --output "$install_dir/google-cloud-sdk.tar.gz" "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-$url_path_fixture-$arg_version-$os_family-x86_64.tar.gz" tar -xzf "$install_dir/google-cloud-sdk.tar.gz" -C "$install_dir" printf '%s\n' ". $install_dir/google-cloud-sdk/path.bash.inc" >> "$BASH_ENV"