From 75e24269df46a85f92faa98e7b67a6506fab843b Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:07:09 -0600 Subject: [PATCH 01/18] another test --- src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changelog.md b/src/changelog.md index 210b0e3..080876c 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux - 1 +Test Autobuild for Linux 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From a017f00099d30c9acd008fa62c856fb93a5e20eb Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:11:29 -0600 Subject: [PATCH 02/18] Update release_linux.yml --- .github/workflows/release_linux.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 551bb7b..487992d 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -8,33 +8,40 @@ on: jobs: build-linux: name: Build and Release Linux Binary - runs-on: ubuntu-latest + runs-on: ubuntu-latest # The job will run on an Ubuntu runner steps: + # Checkout the repository - name: Checkout repository - uses: actions/checkout@v4 # Use actions/checkout@v4 as per your example + uses: actions/checkout@v4 # Correct use of 'uses' within steps + # Set up Rust toolchain - name: Set up Rust toolchain - uses: dtolnay/rust-toolchain@stable # Set up Rust toolchain to use stable version + uses: dtolnay/rust-toolchain@stable # Set up the Rust toolchain + # Install dependencies (this step is just to ensure the release build works) - name: Install dependencies run: | cargo build --release + # Build for Linux (this is where the actual build for the target is done) - name: Build for Linux run: | cargo build --release --target x86_64-unknown-linux-gnu + # Create the binaries directory if it doesn't exist - name: Create release binaries directory run: | - mkdir -p target/release/binaries # Create the binaries directory if it doesn't exist + mkdir -p target/release/binaries + # Copy the built binary into the binaries directory - name: Copy Linux binary run: | - cp target/x86_64-unknown-linux-gnu/release/shell_command_menu target/release/binaries/ # Copy the binary + cp target/x86_64-unknown-linux-gnu/release/shell_command_menu target/release/binaries/ + # Upload the binaries to the GitHub release - name: Upload binaries to GitHub release - uses: softprops/action-gh-release@v2.2.2 + uses: gh-action/gh-release@v2 # Use the updated version of gh-release with: - token: ${{ secrets.GITHUB_TOKEN }} - files: target/release/binaries/* # Upload all files from the binaries folder + token: ${{ secrets.GITHUB_TOKEN }} # GitHub token for authentication + files: target/release/binaries/* # Upload all files in the binaries folder From 4e80bf655b6359cf312f2f16642e6eab4f52aa96 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:13:16 -0600 Subject: [PATCH 03/18] another test --- src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changelog.md b/src/changelog.md index 080876c..7f1cbf3 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux +Test Autobuild for Linux aaaa 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From 87a601949500627d5d554aaf35dc55cc499a189a Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:23:57 -0600 Subject: [PATCH 04/18] another test --- .github/workflows/release_linux.yml | 2 +- src/changelog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 487992d..54a63f8 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -41,7 +41,7 @@ jobs: # Upload the binaries to the GitHub release - name: Upload binaries to GitHub release - uses: gh-action/gh-release@v2 # Use the updated version of gh-release + uses: softprops/action-gh-release@v2.2.2 # Use the updated version of gh-release with: token: ${{ secrets.GITHUB_TOKEN }} # GitHub token for authentication files: target/release/binaries/* # Upload all files in the binaries folder diff --git a/src/changelog.md b/src/changelog.md index 7f1cbf3..080876c 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux aaaa +Test Autobuild for Linux 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From 1f8ee71e7b4f65ff71dc1183f5185c88540ab349 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:26:09 -0600 Subject: [PATCH 05/18] another test --- src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changelog.md b/src/changelog.md index 080876c..2d30845 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux +Test Autobuild for Linux aa 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From a4b18d4aa0d5c0748d1700ed4a0fd44f08d57525 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:29:04 -0600 Subject: [PATCH 06/18] Update release_linux.yml --- .github/workflows/release_linux.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 54a63f8..6b921f1 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -18,6 +18,12 @@ jobs: # Set up Rust toolchain - name: Set up Rust toolchain uses: dtolnay/rust-toolchain@stable # Set up the Rust toolchain + # Install Linux dependencies (for alsa-sys and other potential native dependencies) + - name: Install Linux dependencies + run: | + sudo apt-get update + sudo apt-get install -y libasound2-dev # Install ALSA development libraries + sudo apt-get install -y pkg-config # Ensure pkg-config is installed # Install dependencies (this step is just to ensure the release build works) - name: Install dependencies From 6f9414b7304d52bee4306103c0425eb26a441e2d Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:30:16 -0600 Subject: [PATCH 07/18] Update release_linux.yml --- .github/workflows/release_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 6b921f1..56ccc51 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Rust toolchain uses: dtolnay/rust-toolchain@stable # Set up the Rust toolchain # Install Linux dependencies (for alsa-sys and other potential native dependencies) - - name: Install Linux dependencies + - name: Install Linux ALSA dependencies run: | sudo apt-get update sudo apt-get install -y libasound2-dev # Install ALSA development libraries From 48eb10efb799dfe6122883c26a6c0ed47495c956 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:30:37 -0600 Subject: [PATCH 08/18] another test --- src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changelog.md b/src/changelog.md index 2d30845..080876c 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux aa +Test Autobuild for Linux 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From 333b375a809fd2043a21f48f803ec40bb6abd3bd Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:33:51 -0600 Subject: [PATCH 09/18] another test test --- .github/workflows/release_linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 56ccc51..02b74ba 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -18,6 +18,7 @@ jobs: # Set up Rust toolchain - name: Set up Rust toolchain uses: dtolnay/rust-toolchain@stable # Set up the Rust toolchain + # Install Linux dependencies (for alsa-sys and other potential native dependencies) - name: Install Linux ALSA dependencies run: | From 82519e1d5aaf817b1dfbf2c58cc0208043d5764b Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:41:52 -0600 Subject: [PATCH 10/18] Update release_linux.yml --- .github/workflows/release_linux.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 02b74ba..baabbf9 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -26,11 +26,6 @@ jobs: sudo apt-get install -y libasound2-dev # Install ALSA development libraries sudo apt-get install -y pkg-config # Ensure pkg-config is installed - # Install dependencies (this step is just to ensure the release build works) - - name: Install dependencies - run: | - cargo build --release - # Build for Linux (this is where the actual build for the target is done) - name: Build for Linux run: | @@ -50,5 +45,5 @@ jobs: - name: Upload binaries to GitHub release uses: softprops/action-gh-release@v2.2.2 # Use the updated version of gh-release with: - token: ${{ secrets.GITHUB_TOKEN }} # GitHub token for authentication + token: ${{ secrets.GH_PAT_CLI_MENU }} # GitHub token for authentication files: target/release/binaries/* # Upload all files in the binaries folder From f7a0b5bb1b890e171bc42fa0406fdd6bfbd185e1 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:42:24 -0600 Subject: [PATCH 11/18] Update changelog.md --- src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changelog.md b/src/changelog.md index 080876c..d131e8e 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux +Test Autobuild for Linux : 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From 5668ee855a50ecb8c023b81dbfdc43ba9205985b Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:47:16 -0600 Subject: [PATCH 12/18] Update release_linux.yml --- .github/workflows/release_linux.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index baabbf9..042cb6f 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -36,14 +36,14 @@ jobs: run: | mkdir -p target/release/binaries - # Copy the built binary into the binaries directory - - name: Copy Linux binary + - name: Zip and rename the binary run: | - cp target/x86_64-unknown-linux-gnu/release/shell_command_menu target/release/binaries/ + cd target/release/binaries + tar -czf shell_command_menu_linux.tgz shell_command_menu # Create a .tgz archive of the binary # Upload the binaries to the GitHub release - name: Upload binaries to GitHub release uses: softprops/action-gh-release@v2.2.2 # Use the updated version of gh-release with: token: ${{ secrets.GH_PAT_CLI_MENU }} # GitHub token for authentication - files: target/release/binaries/* # Upload all files in the binaries folder + files: target/release/binaries/shell_command_menu_linux.tgz # Upload the .tgz file From 038d218d141a836679f2fb58be8a7e890462e469 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:48:00 -0600 Subject: [PATCH 13/18] Update changelog.md --- src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changelog.md b/src/changelog.md index d131e8e..080876c 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux : +Test Autobuild for Linux 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From b34984adbfcc63cc3ff4ed8f3f8fe6aed9de352d Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:54:34 -0600 Subject: [PATCH 14/18] Update changelog.md --- src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changelog.md b/src/changelog.md index 080876c..68a9cc1 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux +Test Autobuild for Linux - working? 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From 8e1e8929a15f7d6bbae6ee0c62adcb9ff0713938 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 13:57:32 -0600 Subject: [PATCH 15/18] Update release_linux.yml --- .github/workflows/release_linux.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 042cb6f..623df66 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -35,6 +35,12 @@ jobs: - name: Create release binaries directory run: | mkdir -p target/release/binaries + + # Copy the built binary into the binaries directory + - name: Copy Linux binary + run: | + cp target/x86_64-unknown-linux-gnu/release/shell_command_menu target/release/binaries/ + - name: Zip and rename the binary run: | From d35d6620bcbde9e3710ac5b9038125268b00da3c Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 14:01:24 -0600 Subject: [PATCH 16/18] Create release_mac.yml release build for mac --- .github/workflows/release_mac.yml | 66 +++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/release_mac.yml diff --git a/.github/workflows/release_mac.yml b/.github/workflows/release_mac.yml new file mode 100644 index 0000000..8fcf3ed --- /dev/null +++ b/.github/workflows/release_mac.yml @@ -0,0 +1,66 @@ +name: Release Binaries (macOS) + +on: + push: + tags: + - 'v*' # Trigger on tags starting with "v" (e.g., v1.0.0) + +jobs: + build-macos: + name: Build and Release macOS Binaries + runs-on: macos-latest # The job will run on a macOS runner + + steps: + # Checkout the repository + - name: Checkout repository + uses: actions/checkout@v4 # Correct use of 'uses' within steps + + # Set up Rust toolchain + - name: Set up Rust toolchain + uses: dtolnay/rust-toolchain@stable # Set up the Rust toolchain + + # Build for macOS Intel (x86_64) + - name: Build for macOS Intel + run: | + cargo build --release --target x86_64-apple-darwin + + # Build for macOS ARM (aarch64) + - name: Build for macOS ARM + run: | + cargo build --release --target aarch64-apple-darwin + + # Create the binaries directory if it doesn't exist + - name: Create release binaries directory + run: | + mkdir -p target/release/binaries + + # Copy the macOS Intel binary into the binaries directory + - name: Copy macOS Intel binary + run: | + cp target/x86_64-apple-darwin/release/shell_command_menu target/release/binaries/shell_command_menu_intel + + # Copy the macOS ARM binary into the binaries directory + - name: Copy macOS ARM binary + run: | + cp target/aarch64-apple-darwin/release/shell_command_menu target/release/binaries/shell_command_menu_arm + + # Zip and rename the Intel binary + - name: Zip and rename the macOS Intel binary + run: | + cd target/release/binaries + tar -czf shell_command_menu_macos_intel.tgz shell_command_menu_intel # Create a .tgz archive for Intel + + # Zip and rename the ARM binary + - name: Zip and rename the macOS ARM binary + run: | + cd target/release/binaries + tar -czf shell_command_menu_macos_arm.tgz shell_command_menu_arm # Create a .tgz archive for ARM + + # Upload the binaries to the GitHub release + - name: Upload binaries to GitHub release + uses: softprops/action-gh-release@v2.2.2 # Use the updated version of gh-release + with: + token: ${{ secrets.GH_PAT_CLI_MENU }} # GitHub token for authentication + files: | + target/release/binaries/shell_command_menu_macos_intel.tgz # Upload the Intel .tgz file + target/release/binaries/shell_command_menu_macos_arm.tgz # Upload the ARM .tgz file From 3a73721cf8d9f1135d256cbaea985b694c23f964 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 14:01:48 -0600 Subject: [PATCH 17/18] Update changelog.md --- src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/changelog.md b/src/changelog.md index 68a9cc1..bb7c103 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,7 +1,7 @@ # Changelog 05/26/25 -Test Autobuild for Linux - working? +Test Autobuild for Linux and for Mac. 05/11/25 Updated Cargo.tml and dependencies for Rust/Cargo 2024 Edition From 59a6a96c1e95dfa0dc2c93eea6dbcaa2f3b16087 Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 26 May 2025 14:05:51 -0600 Subject: [PATCH 18/18] Update release_mac.yml --- .github/workflows/release_mac.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/release_mac.yml b/.github/workflows/release_mac.yml index 8fcf3ed..ef1c36c 100644 --- a/.github/workflows/release_mac.yml +++ b/.github/workflows/release_mac.yml @@ -19,6 +19,13 @@ jobs: - name: Set up Rust toolchain uses: dtolnay/rust-toolchain@stable # Set up the Rust toolchain + # Install macOS targets using rustup + - name: Add macOS targets + run: | + rustup target add x86_64-apple-darwin # Add macOS Intel target + rustup target add aarch64-apple-darwin # Add macOS ARM target + + # Build for macOS Intel (x86_64) - name: Build for macOS Intel run: |