diff --git a/.github/workflows/build-bigsur-bottles.yml b/.github/workflows/build-bigsur-bottles.yml index dfd71fcf1..fcfaf610f 100644 --- a/.github/workflows/build-bigsur-bottles.yml +++ b/.github/workflows/build-bigsur-bottles.yml @@ -12,8 +12,5 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Build tezos-client - run: | - brew install --formula ./Formula/tezos-sapling-params.rb - brew install $(brew deps --include-build --formula "./Formula/tezos-client.rb") - brew install --formula --build-bottle "./Formula/tezos-client.rb" \ No newline at end of file + - name: Build bottles and print dependencies + run: python3 scripts/print-bottles-deps.py \ No newline at end of file diff --git a/Formula/tezos-accuser-PtMumbai.rb b/Formula/tezos-accuser-PtMumbai.rb index 7714a3309..bec929294 100644 --- a/Formula/tezos-accuser-PtMumbai.rb +++ b/Formula/tezos-accuser-PtMumbai.rb @@ -18,7 +18,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi] + dependencies = %w[gmp hidapi libev] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-accuser-PtNairob.rb b/Formula/tezos-accuser-PtNairob.rb index 98648dcf8..6a5045193 100644 --- a/Formula/tezos-accuser-PtNairob.rb +++ b/Formula/tezos-accuser-PtNairob.rb @@ -18,7 +18,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi] + dependencies = %w[gmp hidapi libev] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-admin-client.rb b/Formula/tezos-admin-client.rb index 3b783b300..970e41e4b 100644 --- a/Formula/tezos-admin-client.rb +++ b/Formula/tezos-admin-client.rb @@ -18,7 +18,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi] + dependencies = %w[gmp hidapi libev] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-baker-PtMumbai.rb b/Formula/tezos-baker-PtMumbai.rb index d9e14893c..6d3379424 100644 --- a/Formula/tezos-baker-PtMumbai.rb +++ b/Formula/tezos-baker-PtMumbai.rb @@ -18,7 +18,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi tezos-sapling-params] + dependencies = %w[gmp hidapi libev tezos-sapling-params] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-baker-PtNairob.rb b/Formula/tezos-baker-PtNairob.rb index 346ed4f86..70ddc5e4b 100644 --- a/Formula/tezos-baker-PtNairob.rb +++ b/Formula/tezos-baker-PtNairob.rb @@ -18,7 +18,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi tezos-sapling-params] + dependencies = %w[gmp hidapi libev tezos-sapling-params] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-codec.rb b/Formula/tezos-codec.rb index 6cfb40ddf..d3904ad9b 100644 --- a/Formula/tezos-codec.rb +++ b/Formula/tezos-codec.rb @@ -18,7 +18,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi] + dependencies = %w[gmp hidapi libev] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-node.rb b/Formula/tezos-node.rb index e78db0bc6..16f0a4395 100644 --- a/Formula/tezos-node.rb +++ b/Formula/tezos-node.rb @@ -18,7 +18,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi tezos-sapling-params] + dependencies = %w[gmp hidapi libev tezos-sapling-params] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-signer.rb b/Formula/tezos-signer.rb index 3bcd50b12..c21092579 100644 --- a/Formula/tezos-signer.rb +++ b/Formula/tezos-signer.rb @@ -18,7 +18,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi] + dependencies = %w[gmp hidapi libev] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-smart-rollup-client-PtMumbai.rb b/Formula/tezos-smart-rollup-client-PtMumbai.rb index c9e08403f..2ac570c4d 100644 --- a/Formula/tezos-smart-rollup-client-PtMumbai.rb +++ b/Formula/tezos-smart-rollup-client-PtMumbai.rb @@ -19,7 +19,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi tezos-sapling-params] + dependencies = %w[gmp hidapi libev tezos-sapling-params] dependencies.each do |dependency| depends_on dependency end diff --git a/Formula/tezos-smart-rollup-client-PtNairob.rb b/Formula/tezos-smart-rollup-client-PtNairob.rb index e669d53c6..22ea0585a 100644 --- a/Formula/tezos-smart-rollup-client-PtNairob.rb +++ b/Formula/tezos-smart-rollup-client-PtNairob.rb @@ -19,7 +19,7 @@ class << self depends_on dependency => :build end - dependencies = %w[gmp hidapi libev libffi tezos-sapling-params] + dependencies = %w[gmp hidapi libev tezos-sapling-params] dependencies.each do |dependency| depends_on dependency end diff --git a/scripts/print-bottles-deps.py b/scripts/print-bottles-deps.py new file mode 100755 index 000000000..801f7d4e2 --- /dev/null +++ b/scripts/print-bottles-deps.py @@ -0,0 +1,65 @@ +import subprocess +import sys + +binaries = [ + "tezos-client", + "tezos-admin-client", + "tezos-node", + "tezos-signer", + "tezos-codec", + # "tezos-baker-PtMumbai", + # "tezos-accuser-PtMumbai", + # "tezos-smart-rollup-client-PtMumbai", + # "tezos-smart-rollup-node-PtMumbai", + # "tezos-baker-PtNairob", + # "tezos-accuser-PtNairob", + # "tezos-smart-rollup-client-PtNairob", + # "tezos-smart-rollup-node-PtNairob", + "tezos-dac-client", + "tezos-dac-node" +] + + +def install(): + installation_result = subprocess.run("brew install --formula ./Formula/tezos-sapling-params.rb", shell=True) + for binary in binaries: + try: + install_command_1 = f"brew install $(brew deps --include-build --formula \"./Formula/{binary}.rb\")" + installation_result = subprocess.run(install_command_1, shell=True) + assert installation_result.returncode == 0 + + install_command_2 = f"brew install --formula --build-bottle \"./Formula/{binary}.rb\"" + installation_result = subprocess.run(install_command_2, shell=True) + assert installation_result.returncode == 0 + + check_binary_command = f"{binary.replace('tezos', 'octez')} --version" + check_binary_result = subprocess.run(check_binary_command, shell=True) + assert check_binary_result.returncode == 0 + except Exception as e: + print(f"Exception happened when trying to execute tests for {binary}.\n") + raise e + +def get_deps(): + for binary in binaries: + echo_command = f"echo \"|-----------------------------------{binary}-----------------------------------|\"" + subprocess.run(echo_command, shell=True) + + otool_command = f"otool -L $(which {binary})" + otool_res = subprocess.run(otool_command, shell=True) + assert otool_res.returncode == 0 + + brew_command = f"brew deps {binary}" + brew_result = subprocess.run(brew_command, shell=True) + assert brew_result.returncode == 0 + + echo_command = f"echo \"|------------------------------------------------------------------------------|\"" + subprocess.run(echo_command, shell=True) + + +if __name__ == "__main__": + install() + get_deps() + + # brew install --formula ./Formula/tezos-sapling-params.rb + # brew install $(brew deps --include-build --formula "./Formula/tezos-client.rb") + # brew install --formula --build-bottle "./Formula/tezos-client.rb" \ No newline at end of file