From 913e51dc28abc09469b78e76182ef958d778a3b3 Mon Sep 17 00:00:00 2001 From: carmal891 Date: Mon, 23 Sep 2024 14:23:09 +0530 Subject: [PATCH 1/2] Automated version bumping - splits formula into multiple files based on OS platform --- .gitignore | 3 +++ Formula/pvsadm.rb | 36 ++++++++++++++++------------------ Formula/pvsadm_darwin_amd64.rb | 18 +++++++++++++++++ Formula/pvsadm_darwin_arm64.rb | 18 +++++++++++++++++ Formula/pvsadm_linux_amd64.rb | 18 +++++++++++++++++ 5 files changed, 74 insertions(+), 19 deletions(-) create mode 100644 Formula/pvsadm_darwin_amd64.rb create mode 100644 Formula/pvsadm_darwin_arm64.rb create mode 100644 Formula/pvsadm_linux_amd64.rb diff --git a/.gitignore b/.gitignore index e3200e0..7f5513c 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,6 @@ build-iPhoneSimulator/ # Used by RuboCop. Remote config files pulled in from inherit_from directive. # .rubocop-https?--* + +#log file +pvsadm.log diff --git a/Formula/pvsadm.rb b/Formula/pvsadm.rb index 0a321ee..fa1daa9 100644 --- a/Formula/pvsadm.rb +++ b/Formula/pvsadm.rb @@ -1,34 +1,32 @@ class Pvsadm < Formula desc "Tool for managing the IBM Power Systems Virtual Servers" homepage "https://github.com/ppc64le-cloud/pvsadm" - version "0.1.11" license "Apache-2.0" - on_macos do - on_intel do - url "https://github.com/ppc64le-cloud/pvsadm/releases/download/v0.1.11/pvsadm-darwin-amd64.tar.gz" - sha256 "7af9d26b61a032f874be6d5a040b762796651bfde1acf95188b23ad85de1a646" - end - on_arm do - url "https://github.com/ppc64le-cloud/pvsadm/releases/download/v0.1.11/pvsadm-darwin-arm64.tar.gz" - sha256 "053068fbfe6b6ea83fe285a22e0c260651714a976aee3d2c2be6529f2fbfc5f3" + if OS.mac? + if Hardware::CPU.intel? + require_relative "pvsadm_darwin_amd64" + PvsadmDarwinAmd64.new + elsif Hardware::CPU.arm? + require_relative "pvsadm_darwin_arm64" + PvsadmDarwinArm64.new end - end - - on_linux do - on_intel do - url "https://github.com/ppc64le-cloud/pvsadm/releases/download/v0.1.11/pvsadm-linux-amd64.tar.gz" - sha256 "b25e9453bdd75a11af3303783c250c93f05b3472cfe49e795bab200e5db04e03" + elsif OS.linux? + if Hardware::CPU.intel? + require_relative "pvsadm_linux_amd64" + PvsadmLinuxAmd64.new end end def install - bin.install "pvsadm" + raise "Unsupported platform" unless defined? @formula + + @formula.install end test do - output = shell_output("#{bin}/pvsadm get events 2>&1", 1) - assert_match "Error: --instance-name or --instance-name required", output - assert_match "Version: v#{version},", shell_output("#{bin}/pvsadm version | awk '{print $1, $2}'") + raise "Unsupported platform" unless defined? @formula + + @formula.test end end diff --git a/Formula/pvsadm_darwin_amd64.rb b/Formula/pvsadm_darwin_amd64.rb new file mode 100644 index 0000000..ce5813e --- /dev/null +++ b/Formula/pvsadm_darwin_amd64.rb @@ -0,0 +1,18 @@ +class PvsadmDarwinAmd64 < Formula + desc "Tool for managing the IBM Power Systems Virtual Servers" + homepage "https://github.com/ppc64le-cloud/pvsadm" + url "https://github.com/ppc64le-cloud/pvsadm/releases/download/v0.1.11/pvsadm-darwin-amd64.tar.gz" + version "v0.1.11" + sha256 "7af9d26b61a032f874be6d5a040b762796651bfde1acf95188b23ad85de1a646" + license "Apache-2.0" + + def install + bin.install "pvsadm" + end + + test do + output = shell_output("#{bin}/pvsadm get events 2>&1", 1) + assert_match "Error: --instance-name or --instance-name required", output + assert_match "Version: v#{version},", shell_output("#{bin}/pvsadm version | awk '{print $1, $2}'") + end +end diff --git a/Formula/pvsadm_darwin_arm64.rb b/Formula/pvsadm_darwin_arm64.rb new file mode 100644 index 0000000..0b0e539 --- /dev/null +++ b/Formula/pvsadm_darwin_arm64.rb @@ -0,0 +1,18 @@ +class PvsadmDarwinArm64 < Formula + desc "Tool for managing the IBM Power Systems Virtual Servers" + homepage "https://github.com/ppc64le-cloud/pvsadm" + url "https://github.com/ppc64le-cloud/pvsadm/releases/download/v0.1.11/pvsadm-darwin-arm64.tar.gz" + version "0.1.11" + sha256 "053068fbfe6b6ea83fe285a22e0c260651714a976aee3d2c2be6529f2fbfc5f3" + license "Apache-2.0" + + def install + bin.install "pvsadm" + end + + test do + output = shell_output("#{bin}/pvsadm get events 2>&1", 1) + assert_match "Error: --instance-name or --instance-name required", output + assert_match "Version: v#{version},", shell_output("#{bin}/pvsadm version | awk '{print $1, $2}'") + end +end \ No newline at end of file diff --git a/Formula/pvsadm_linux_amd64.rb b/Formula/pvsadm_linux_amd64.rb new file mode 100644 index 0000000..1adfc77 --- /dev/null +++ b/Formula/pvsadm_linux_amd64.rb @@ -0,0 +1,18 @@ +class PvsadmLinuxAmd64 < Formula + desc "Tool for managing the IBM Power Systems Virtual Servers" + homepage "https://github.com/ppc64le-cloud/pvsadm" + url "https://github.com/ppc64le-cloud/pvsadm/releases/download/v0.1.11/pvsadm-linux-amd64.tar.gz" + version "0.1.11" + sha256 "b25e9453bdd75a11af3303783c250c93f05b3472cfe49e795bab200e5db04e03" + license "Apache-2.0" + + def install + bin.install "pvsadm" + end + + test do + output = shell_output("#{bin}/pvsadm get events 2>&1", 1) + assert_match "Error: --instance-name or --instance-name required", output + assert_match "Version: v#{version},", shell_output("#{bin}/pvsadm version | awk '{print $1, $2}'") + end +end \ No newline at end of file From 7cc5bb1075ea3f36dd33ebc755612d24c3021a20 Mon Sep 17 00:00:00 2001 From: carmal891 Date: Tue, 24 Sep 2024 21:31:34 +0530 Subject: [PATCH 2/2] Fixes brew lint and audit issues --- .github/workflows/publish.yml | 4 ++-- .github/workflows/tests.yml | 2 +- Formula/pvsadm_darwin_amd64.rb | 2 +- Formula/pvsadm_darwin_arm64.rb | 2 +- Formula/pvsadm_linux_amd64.rb | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9e2a27e..c865ef1 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -20,7 +20,7 @@ jobs: HOMEBREW_GITHUB_PACKAGES_TOKEN: ${{ github.token }} HOMEBREW_GITHUB_PACKAGES_USER: ${{ github.actor }} PULL_REQUEST: ${{ github.event.pull_request.number }} - run: brew pr-pull --debug --tap=$GITHUB_REPOSITORY $PULL_REQUEST + run: brew pr-pull --debug --tap="$GITHUB_REPOSITORY" "$PULL_REQUEST" - name: Push commits uses: Homebrew/actions/git-try-push@master @@ -32,4 +32,4 @@ jobs: if: github.event.pull_request.head.repo.fork == false env: BRANCH: ${{ github.event.pull_request.head.ref }} - run: git push --delete origin $BRANCH + run: git push --delete origin "$BRANCH" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ed26708..6db8231 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,7 +17,7 @@ jobs: - name: Cache Homebrew Bundler RubyGems id: cache - uses: actions/cache@v1 + uses: actions/cache@v4.0.2 with: path: ${{ steps.set-up-homebrew.outputs.gems-path }} key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} diff --git a/Formula/pvsadm_darwin_amd64.rb b/Formula/pvsadm_darwin_amd64.rb index ce5813e..45d45e4 100644 --- a/Formula/pvsadm_darwin_amd64.rb +++ b/Formula/pvsadm_darwin_amd64.rb @@ -2,7 +2,7 @@ class PvsadmDarwinAmd64 < Formula desc "Tool for managing the IBM Power Systems Virtual Servers" homepage "https://github.com/ppc64le-cloud/pvsadm" url "https://github.com/ppc64le-cloud/pvsadm/releases/download/v0.1.11/pvsadm-darwin-amd64.tar.gz" - version "v0.1.11" + version "0.1.11" sha256 "7af9d26b61a032f874be6d5a040b762796651bfde1acf95188b23ad85de1a646" license "Apache-2.0" diff --git a/Formula/pvsadm_darwin_arm64.rb b/Formula/pvsadm_darwin_arm64.rb index 0b0e539..0a2dbbb 100644 --- a/Formula/pvsadm_darwin_arm64.rb +++ b/Formula/pvsadm_darwin_arm64.rb @@ -15,4 +15,4 @@ def install assert_match "Error: --instance-name or --instance-name required", output assert_match "Version: v#{version},", shell_output("#{bin}/pvsadm version | awk '{print $1, $2}'") end -end \ No newline at end of file +end diff --git a/Formula/pvsadm_linux_amd64.rb b/Formula/pvsadm_linux_amd64.rb index 1adfc77..b955cb4 100644 --- a/Formula/pvsadm_linux_amd64.rb +++ b/Formula/pvsadm_linux_amd64.rb @@ -15,4 +15,4 @@ def install assert_match "Error: --instance-name or --instance-name required", output assert_match "Version: v#{version},", shell_output("#{bin}/pvsadm version | awk '{print $1, $2}'") end -end \ No newline at end of file +end