kitgit

tirbofish/dropbear · diff

5ef2f24 · tk

jarvis, create a new release for magna-carta

Unverified

diff --git a/.github/workflows/release-magna-carta.yaml b/.github/workflows/release-magna-carta.yaml
new file mode 100644
index 0000000..cbd703e
--- /dev/null
+++ b/.github/workflows/release-magna-carta.yaml
@@ -0,0 +1,137 @@
+name: Release Magna Carta
+
+on:
+  push:
+    branches:
+      - main
+
+permissions:
+  contents: write
+
+jobs:
+  check-and-release:
+    runs-on: ubuntu-latest
+    outputs:
+      should_release: ${{ steps.check-commit.outputs.should_release }}
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Check commit message
+        id: check-commit
+        run: |
+          COMMIT_MSG=$(git log -1 --pretty=%B)
+          if [[ "$COMMIT_MSG" == *"jarvis, create a new release for magna-carta"* ]]; then
+            echo "should_release=true" >> $GITHUB_OUTPUT
+          else
+            echo "should_release=false" >> $GITHUB_OUTPUT
+          fi
+
+  build-and-release:
+    needs: check-and-release
+    if: needs.check-and-release.outputs.should_release == 'true'
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - os: ubuntu-latest
+            target: x86_64-unknown-linux-gnu
+            artifact_name: magna-carta-linux-x64
+            binary_name: magna-carta
+
+          - os: windows-latest
+            target: x86_64-pc-windows-msvc
+            artifact_name: magna-carta-windows-x64.exe
+            binary_name: magna-carta.exe
+
+          - os: windows-latest
+            target: aarch64-pc-windows-msvc
+            artifact_name: magna-carta-windows-arm64.exe
+            binary_name: magna-carta.exe
+
+          - os: macos-latest
+            target: x86_64-apple-darwin
+            artifact_name: magna-carta-macos-x64
+            binary_name: magna-carta
+
+          - os: macos-14
+            target: aarch64-apple-darwin
+            artifact_name: magna-carta-macos-arm64
+            binary_name: magna-carta
+    runs-on: ${{ matrix.os }}
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Install Rust
+        uses: dtolnay/rust-toolchain@stable
+        with:
+          targets: ${{ matrix.target }}
+
+      - name: Build release
+        run: cargo build --release --target ${{ matrix.target }} -p magna-carta
+
+      - name: Rename and prepare artifact
+        shell: bash
+        run: |
+          # Source binary path
+          SRC="target/${{ matrix.target }}/release/${{ matrix.binary_name }}"
+          DST="${{ matrix.artifact_name }}"
+          
+          # Copy to root for easy upload
+          cp "$SRC" "./$DST"
+          
+          # Set executable permissions (Unix)
+          if [[ "${{ matrix.os }}" != "windows-latest" ]]; then
+            chmod +x "./$DST"
+          fi
+
+      - name: Upload artifact
+        uses: actions/upload-artifact@v4
+        with:
+          name: ${{ matrix.artifact_name }}
+          path: ${{ matrix.artifact_name }}
+
+  create-release:
+    needs: [check-and-release, build-and-release]
+    if: needs.check-and-release.outputs.should_release == 'true'
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Download all artifacts
+        uses: actions/download-artifact@v4
+        with:
+          path: artifacts
+
+      - name: Restore executable permissions (just in case)
+        run: |
+          chmod +x artifacts/magna-carta-linux-x64/magna-carta-linux-x64
+          chmod +x artifacts/magna-carta-macos-x64/magna-carta-macos-x64
+          chmod +x artifacts/magna-carta-macos-arm64/magna-carta-macos-arm64
+
+      - name: Check if changelog exists
+        id: changelog-check
+        run: |
+          if [ -f "docs/changelog/magna-carta/CHANGELOG.md" ]; then
+            cp docs/changelog/magna-carta/CHANGELOG.md ./RELEASE_BODY.md
+            echo "changelog_exists=true" >> $GITHUB_OUTPUT
+          else
+            echo "changelog_exists=false" >> $GITHUB_OUTPUT
+          fi
+
+      - name: Create Release
+        uses: softprops/action-gh-release@v2
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        with:
+          tag_name: magna-carta-v${{ github.run_number }}
+          name: Magna Carta Release v${{ github.run_number }}
+          body_path: ${{ steps.changelog-check.outputs.changelog_exists == 'true' && 'RELEASE_BODY.md' || '' }}
+          files: |
+            artifacts/magna-carta-linux-x64/magna-carta-linux-x64
+            artifacts/magna-carta-windows-x64.exe/magna-carta-windows-x64.exe
+            artifacts/magna-carta-windows-arm64.exe/magna-carta-windows-arm64.exe
+            artifacts/magna-carta-macos-x64/magna-carta-macos-x64
+            artifacts/magna-carta-macos-arm64/magna-carta-macos-arm64
\ No newline at end of file
diff --git a/.github/workflows/release-magna-carta.yaml.yml b/.github/workflows/release-magna-carta.yaml.yml
deleted file mode 100644
index 6069aa8..0000000
--- a/.github/workflows/release-magna-carta.yaml.yml
+++ /dev/null
@@ -1,129 +0,0 @@
-# .github/workflows/release-magna-carta.yml
-name: Release Magna Carta
-
-on:
-  push:
-    branches:
-      - main
-
-permissions:
-  contents: write  # Required to create GitHub releases
-
-jobs:
-  check-and-release:
-    runs-on: ubuntu-latest
-    outputs:
-      should_release: ${{ steps.check-commit.outputs.should_release }}
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v4
-
-      - name: Check commit message
-        id: check-commit
-        run: |
-          COMMIT_MSG=$(git log -1 --pretty=%B)
-          if [[ "$COMMIT_MSG" == *"jarvis, create a new release for magna-carta"* ]]; then
-            echo "should_release=true" >> $GITHUB_OUTPUT
-          else
-            echo "should_release=false" >> $GITHUB_OUTPUT
-          fi
-
-  build-and-release:
-    needs: check-and-release
-    if: needs.check-and-release.outputs.should_release == 'true'
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-          # Linux
-          - os: ubuntu-latest
-            target: x86_64-unknown-linux-gnu
-            artifact_name: magna-carta-linux-x64
-          - os: ubuntu-latest
-            target: aarch64-unknown-linux-gnu
-            artifact_name: magna-carta-linux-arm64
-
-          # Windows
-          - os: windows-latest
-            target: x86_64-pc-windows-msvc
-            artifact_name: magna-carta-windows-x64.exe
-          - os: windows-latest
-            target: aarch64-pc-windows-msvc
-            artifact_name: magna-carta-windows-arm64.exe
-
-          # macOS
-          - os: macos-latest
-            target: x86_64-apple-darwin
-            artifact_name: magna-carta-macos-x64
-          - os: macos-latest
-            target: aarch64-apple-darwin
-            artifact_name: magna-carta-macos-arm64
-    runs-on: ${{ matrix.os }}
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v4
-
-      - name: Install Rust
-        uses: dtolnay/rust-toolchain@stable
-        with:
-          targets: ${{ matrix.target }}
-
-      - name: Build release
-        run: cargo build --release --target ${{ matrix.target }} -p magna-carta
-
-      - name: Set executable permissions (Unix-like)
-        if: matrix.os != 'windows-latest'
-        run: |
-          chmod +x "target/${{ matrix.target }}/release/${{ matrix.artifact_name }}"
-
-      - name: Upload artifact
-        uses: actions/upload-artifact@v4
-        with:
-          name: ${{ matrix.artifact_name }}
-          path: target/${{ matrix.target }}/release/${{ matrix.artifact_name }}
-
-  create-release:
-    needs: [check-and-release, build-and-release]
-    if: needs.check-and-release.outputs.should_release == 'true'
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v4
-
-      - name: Download all artifacts
-        uses: actions/download-artifact@v4
-        with:
-          path: artifacts
-
-      - name: Restore executable permissions
-        run: |
-          chmod +x artifacts/magna-carta-linux-x64/magna-carta-linux-x64
-          chmod +x artifacts/magna-carta-linux-arm64/magna-carta-linux-arm64
-          chmod +x artifacts/magna-carta-macos-x64/magna-carta-macos-x64
-          chmod +x artifacts/magna-carta-macos-arm64/magna-carta-macos-arm64
-
-      - name: Check if changelog exists
-        id: changelog-check
-        run: |
-          if [ -f "docs/changelog/magna-carta/CHANGELOG.md" ]; then
-            cp docs/changelog/magna-carta/CHANGELOG.md ./RELEASE_BODY.md
-            echo "changelog_exists=true" >> $GITHUB_OUTPUT
-          else
-            echo "changelog_exists=false" >> $GITHUB_OUTPUT
-          fi
-
-      - name: Create Release
-        uses: softprops/action-gh-release@v2
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        with:
-          tag_name: magna-carta-v${{ github.run_number }}
-          name: Magna Carta Release v${{ github.run_number }}
-          body_path: ${{ steps.changelog-check.outputs.changelog_exists == 'true' && 'RELEASE_BODY.md' || '' }}
-          files: |
-            artifacts/magna-carta-linux-x64/magna-carta-linux-x64
-            artifacts/magna-carta-linux-arm64/magna-carta-linux-arm64
-            artifacts/magna-carta-windows-x64.exe/magna-carta-windows-x64.exe
-            artifacts/magna-carta-windows-arm64.exe/magna-carta-windows-arm64.exe
-            artifacts/magna-carta-macos-x64/magna-carta-macos-x64
-            artifacts/magna-carta-macos-arm64/magna-carta-macos-arm64
\ No newline at end of file