diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..49931be --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,108 @@ +name: Publish Version + +on: + workflow_dispatch: + +jobs: + build: + runs-on: windows-latest + + steps: + # Clone the current repository into /mod + - name: Checkout code + uses: actions/checkout@v2 + with: + path: 'mod' + + # Clone AmethystAPI into /amethyst + - name: Checkout Amethyst + uses: actions/checkout@v2 + with: + repository: 'FrederoxDev/Amethyst' + path: 'amethyst' + + # - name: Install deps with choco + # run: | + # choco install nasm -y + # choco install gh -y + # shell: cmd + + # - name: Setup Visual studio + # uses: microsoft/setup-msbuild@v2 + + # - name: Extract and increment version number + # id: increment_version + # run: | + # $filePath = "CMakeLists.txt" + # $version_line = Select-String -Path $filePath -Pattern 'set\(MOD_VERSION "(.*)"\)' + # if ($version_line -match 'set\(MOD_VERSION "(\d+)\.(\d+)\.(\d+)"\)') { + # $major = [int]$matches[1] + # $minor = [int]$matches[2] + # $patch = [int]$matches[3] + + # # Increment the minor version + # $new_patch = $patch + 1 + # $new_version = "$major.$minor.$new_patch" + + # # Update the CMakeLists.txt file + # (Get-Content $filePath) -replace 'set\(MOD_VERSION ".*"\)', "set(MOD_VERSION `"$new_version`")" | Set-Content $filePath + + # echo "NEW_VERSION=$new_version" >> $env:GITHUB_ENV + # echo "FILE_PATH=$filePath" >> $env:GITHUB_ENV + # } else { + # Write-Error "Version line not found or does not match the expected format." + # exit 1 + # } + # shell: pwsh + + # - name: Push bumped version + # run: | + # git config user.name "github-actions[bot]" + # git config user.email "github-actions[bot]@users.noreply.github.com" + # git add $env:FILE_PATH + # git commit -m "Bump version to $env:NEW_VERSION" + # git push + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # shell: pwsh + + # - name: Build AmethystRuntime + # run: | + # mkdir build + # cd build + # cmake -DCI_CD_BUILD=ON .. + # msbuild Amethyst.sln + + # - name: Package Build + # run: | + # $version = $env:NEW_VERSION + # $sourcePath = "dist/AmethystRuntime@$version" + # $zipPath = "dist/AmethystRuntime@$version.zip" + + # if (-Not (Test-Path -Path $sourcePath)) { + # Write-Error "Source path does not exist: $sourcePath" + # exit 1 + # } + + # Add-Type -AssemblyName System.IO.Compression.FileSystem + # [System.IO.Compression.ZipFile]::CreateFromDirectory($sourcePath, $zipPath) + # shell: pwsh + + # - name: Create GitHub Release + # id: create_release + # run: | + # $tag_name = "v$env:NEW_VERSION" + # $release_name = "Release $env:NEW_VERSION" + # gh release create $tag_name --title "$release_name" --notes "Automated release" --target main --repo FrederoxDev/Amethyst --draft=false --prerelease=false + # shell: pwsh + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # - name: Upload Release Asset + # run: | + # $asset_path = "dist/AmethystRuntime@$env:NEW_VERSION.zip" + # $asset_label = "AmethystRuntime@$env:NEW_VERSION.zip" + # gh release upload "v$env:NEW_VERSION" "$asset_path#$asset_label" --repo FrederoxDev/Amethyst + # shell: pwsh + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file