From 93a5e9b5ca35a2b6b7ba31055dafd65818dd239e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Kaan=20G=C3=9CM=C3=9C=C5=9E?= <96421894+Tahinli@users.noreply.github.com> Date: Wed, 25 Sep 2024 23:27:53 +0300 Subject: [PATCH] =?UTF-8?q?build:=20=F0=9F=91=B7=20updated=20to=20versatil?= =?UTF-8?q?e=20build=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/rust.yml | 129 ++++++++++++++++++------------------- 1 file changed, 63 insertions(+), 66 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 74b2cee..e2611ed 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -2,98 +2,95 @@ name: Rust -> Build & Test & Release on: push: - branches: [ "main" ] + branches: ["main"] env: CARGO_TERM_COLOR: always + PROJECT_NAME: ${{ github.event.repository.name }} jobs: build_linux: - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - name: Build - run: cargo build --release --verbose - - name: Run tests - run: cargo test --verbose + - uses: actions/checkout@v4 + - name: Build + run: cargo build --release --verbose + - name: Run tests + run: cargo test --verbose - - name: Upload Linux Binary - uses: actions/upload-artifact@v4 - with: - name: rust-tcp-file-transfer-linux-x64_86 - path: target/release/*transfer + - name: Upload Linux Binary + uses: actions/upload-artifact@v4 + with: + name: ${{ env.PROJECT_NAME }}-linux-x64_86 + path: target/release/${{ env.PROJECT_NAME }} build_windows: - runs-on: windows-latest steps: - - uses: actions/checkout@v4 - - name: Build - run: cargo build --release --verbose - - name: Run tests - run: cargo test --verbose + - uses: actions/checkout@v4 + - name: Build + run: cargo build --release --verbose + - name: Run tests + run: cargo test --verbose - - name: Upload Windows Binary - uses: actions/upload-artifact@v4 - with: - name: rust-tcp-file-transfer-windows-x64_86 - path: target/release/*transfer.exe + - name: Upload Windows Binary + uses: actions/upload-artifact@v4 + with: + name: ${{ env.PROJECT_NAME }}-windows-x64_86 + path: target/release/${{ env.PROJECT_NAME }}.exe build_macos: - runs-on: macos-latest steps: - - uses: actions/checkout@v4 - - name: Build - run: cargo build --release --verbose - - name: Run tests - run: cargo test --verbose + - uses: actions/checkout@v4 + - name: Build + run: cargo build --release --verbose + - name: Run tests + run: cargo test --verbose - - name: Upload MacOS Binary - uses: actions/upload-artifact@v4 - with: - name: rust-tcp-file-transfer-macos-x64_86 - path: target/release/*transfer + - name: Upload MacOS Binary + uses: actions/upload-artifact@v4 + with: + name: ${{ env.PROJECT_NAME }}-macos-arm64 + path: target/release/${{ env.PROJECT_NAME }} release: needs: [build_linux, build_windows, build_macos] runs-on: ubuntu-latest - permissions: - contents: write + permissions: + contents: write steps: + - uses: actions/checkout@v4 + - name: Forge a Folder + run: mkdir Downloads + working-directory: /home/runner/work/${{ env.PROJECT_NAME }}/${{ env.PROJECT_NAME }}/ - - uses: actions/checkout@v4 - - name: Forge a Folder - run: mkdir Downloads - working-directory: /home/runner/work/rust-tcp-file-transfer/rust-tcp-file-transfer/ + - uses: actions/download-artifact@v4 + name: Download + with: + path: Downloads/ - - uses: actions/download-artifact@v4 - name: Download - with: - path: Downloads/ - - - name: Rename Binaries - run: | - tree Downloads/ - mv Downloads/rust-tcp-file-transfer-linux-x64_86/rust-tcp-file-transfer Downloads/rust-tcp-file-transfer-linux-x64_86/rust-tcp-file-transfer-linux-x64_86 - mv Downloads/rust-tcp-file-transfer-windows-x64_86/rust-tcp-file-transfer.exe Downloads/rust-tcp-file-transfer-windows-x64_86/rust-tcp-file-transfer-windows-x64_86.exe - mv Downloads/rust-tcp-file-transfer-macos-x64_86/rust-tcp-file-transfer Downloads/rust-tcp-file-transfer-macos-x64_86/rust-tcp-file-transfer-macos-x64_86 - - name: Git Commit SHA - id: vars - run: | - calculatedSha=$(git rev-parse --short ${{ github.sha }}) - echo "short_sha=$calculatedSha" >> $GITHUB_OUTPUT - - - uses: softprops/action-gh-release@v2 - name: Release - with: - tag_name: ${{ steps.vars.outputs.short_sha }} - generate_release_notes: true - files: | - Downloads/*linux*/*transfer* - Downloads/*windows*/*transfer* - Downloads/*macos*/*transfer* \ No newline at end of file + - name: Rename Binaries + run: | + tree Downloads/ + mv Downloads/${{ env.PROJECT_NAME }}-linux-x64_86/${{ env.PROJECT_NAME }} Downloads/${{ env.PROJECT_NAME }}-linux-x64_86/${{ env.PROJECT_NAME }}-linux-x64_86 + mv Downloads/${{ env.PROJECT_NAME }}-windows-x64_86/${{ env.PROJECT_NAME }}.exe Downloads/${{ env.PROJECT_NAME }}-windows-x64_86/${{ env.PROJECT_NAME }}-windows-x64_86.exe + mv Downloads/${{ env.PROJECT_NAME }}-macos-arm64/${{ env.PROJECT_NAME }} Downloads/${{ env.PROJECT_NAME }}-macos-arm64/${{ env.PROJECT_NAME }}-macos-arm64 + - name: Git Commit SHA + id: vars + run: | + calculatedSha=$(git rev-parse --short ${{ github.sha }}) + echo "short_sha=$calculatedSha" >> $GITHUB_OUTPUT + + - uses: softprops/action-gh-release@v2 + name: Release + with: + tag_name: ${{ steps.vars.outputs.short_sha }} + generate_release_notes: true + files: | + Downloads/*linux*/${{ env.PROJECT_NAME }}* + Downloads/*windows*/${{ env.PROJECT_NAME }}* + Downloads/*macos*/${{ env.PROJECT_NAME }}*