diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 00000000..ab5023b9
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,70 @@
+name: .NET Build and Release
+
+on:
+  push:
+    branches:
+      - main
+      - dev
+  pull_request:
+    branches:
+      - main
+      - dev
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    container:
+      image: mcr.microsoft.com/dotnet/nightly/sdk:7.0
+
+    steps:
+      - uses: actions/checkout@v3
+
+      - name: Restore dependencies
+        run: dotnet restore
+
+      - name: Build
+        run: dotnet build src/Jailbreak/Jailbreak.csproj --no-restore
+      - name: Publish
+        run: dotnet publish src/Jailbreak/Jailbreak.csproj --no-build --no-restore
+
+      - name: Archive production artifacts
+        uses: actions/upload-artifact@v4.0.0
+        with:
+          name: net7.0-artifacts
+          path: build
+          if-no-files-found: error
+
+  release:
+    needs: build
+    runs-on: ubuntu-latest
+    steps:
+      - name: Download artifact
+        uses: actions/download-artifact@v2
+        with:
+          name: net7.0-artifacts
+          path: build
+
+      - name: Create Tag
+        id: tag_version
+        run: |
+          DATE=$(date +'%y.%m.%d-%H%M%S')
+          echo "RELEASE_TAG=$DATE" >> $GITHUB_ENV
+
+      - name: Determine if Pre-release
+        id: prerelease
+        run: |
+          if [ "${{ github.ref }}" != "refs/heads/main" ]; then
+            echo "IS_PRERELEASE=true" >> $GITHUB_ENV
+          else
+            echo "IS_PRERELEASE=false" >> $GITHUB_ENV
+          fi
+
+      - name: Create Release
+        uses: softprops/action-gh-release@v1
+        with:
+          tag_name: ${{ env.RELEASE_TAG }}
+          files: bin/Debug/net7.0/*
+          prerelease: ${{ env.IS_PRERELEASE }}
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/global.json b/global.json
index aaac9e04..2ddda36c 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
 {
   "sdk": {
-    "version": "7.0.0",
+    "version": "8.0.0",
     "rollForward": "latestMinor",
     "allowPrerelease": false
   }