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 }