diff options
| author | Alex Dunn <[email protected]> | 2022-04-15 14:03:23 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-04-15 14:03:23 -0700 |
| commit | 36cf26ae05a4db0353cac115d3e596c0fde44f6c (patch) | |
| tree | a68edb75c1221e4246612dd2fe36da9a49c00f8b | |
| parent | Horde execute storage config (#75) (diff) | |
| parent | Making changes to the CI/CD pipeline and adding release automation for PR mer... (diff) | |
| download | zen-1.0.0.2.tar.xz zen-1.0.0.2.zip | |
Merge pull request #76 from EpicGames/ci_updatesv1.0.0.2
Making changes to the CI/CD pipeline and adding release automation
| -rw-r--r-- | .github/workflows/self_host_build.yml (renamed from .github/workflows/on_prem_windows.yml) | 8 | ||||
| -rw-r--r-- | .github/workflows/update_release.yml | 124 |
2 files changed, 128 insertions, 4 deletions
diff --git a/.github/workflows/on_prem_windows.yml b/.github/workflows/self_host_build.yml index 04036c38c..2645f9738 100644 --- a/.github/workflows/on_prem_windows.yml +++ b/.github/workflows/self_host_build.yml @@ -1,10 +1,8 @@ -name: Validate +name: Validate Build on: - push: - branches: - - main pull_request: + types: [opened, reopened] branches: [ main ] jobs: @@ -34,6 +32,7 @@ jobs: windows-build: name: Build Windows + needs: clang-format runs-on: [self-hosted, windows, x64] strategy: matrix: @@ -82,6 +81,7 @@ jobs: linux-build: name: Build Linux + needs: clang-format runs-on: [self-hosted, linux, x64] strategy: matrix: diff --git a/.github/workflows/update_release.yml b/.github/workflows/update_release.yml new file mode 100644 index 000000000..62568d1c0 --- /dev/null +++ b/.github/workflows/update_release.yml @@ -0,0 +1,124 @@ +name: Build release + +on: + # push + pull_request: + types: [closed] + branches: [ main ] + +jobs: + windows-build: + # if: github.event.pull_request.merged == true + name: Build Windows + runs-on: [self-hosted, windows, x64] + strategy: + matrix: + config: + - 'release' + arch: + - 'x64' + env: + VCPKG_VERSION: 2022.03.10 + + steps: + - uses: actions/checkout@v2 + + - name: Setup xmake + uses: xmake-io/github-action-setup-xmake@v1 + with: + xmake-version: 2.6.4 + + - name: Installing vcpkg + run: | + git clone -b ${{env.VCPKG_VERSION}} --single-branch https://github.com/Microsoft/vcpkg.git .vcpkg + cd .vcpkg + .\bootstrap-vcpkg.bat + .\vcpkg.exe integrate install + cd .. + + - name: Cache vcpkg + uses: actions/cache@v2 + with: + path: | + ${{ github.workspace }}\.vcpkg\installed + key: ${{ runner.os }}-${{ matrix.config }}-${{env.VCPKG_VERSION}}-${{ hashFiles('xmake.lua') }}-${{ matrix.arch }}-v5 + + - name: Config + run: | + xmake config -v -y -m ${{ matrix.config }} --arch=${{ matrix.arch }} + env: + VCPKG_ROOT: ${{ github.workspace }}/.vcpkg + + - name: Build + run: | + xmake build -v -y + env: + VCPKG_ROOT: ${{ github.workspace }}/.vcpkg + + # - name: Create Archive + # run: | + # cd .\build\windows\${{ matrix.arch }}\${{ matrix.config }} + # C:\'Program Files'\7-Zip\7z.exe a -r ..\..\..\..\windows-${{ matrix.arch }}-${{ matrix.config }}.zip * + # cd ..\..\..\.. + + - name: Create Archive + run: | + cd .\build\windows\${{ matrix.arch }}\${{ matrix.config }} + C:\'Program Files'\7-Zip\7z.exe a -r ..\..\..\..\zenserver-win64.zip zenserver.exe + cd ..\..\..\.. + + - name: Get current release version info + run: | + $repo = "EpicGames/zen" + $releases = "https://api.github.com/repos/$repo/releases/latest" + Write-Host Determining latest release + $latest = (Invoke-WebRequest -Headers @{"Accept"="application/vnd.github.v3+json";"Authorization"="token ${{ secrets.GITHUB_TOKEN }}"} $releases | ConvertFrom-Json)[0] + $current_version_tag = [version]$latest.tag_name.replace('v','') + echo "Current version" $current_version_tag + $new_version_tag = [version]::New($current_version_tag.Major,$current_version_tag.Minor,$current_version_tag.Build,$current_version_tag.Revision+1).toString() + echo $new_version_tag + echo "new_version_tag=$new_version_tag" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ env.new_version_tag }} + release_name: Release + draft: false + prerelease: false + + # - name: Create Release + # id: create_release + # uses: actions/create-release@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # tag_name: ${{ github.ref_name }} + # release_name: Release ${{ github.head_ref }} + # draft: false + # prerelease: false + + # - name: Upload Release Asset + # id: upload-release-asset + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + # asset_path: .\windows-${{ matrix.arch }}-${{ matrix.config }}.zip + # asset_name: windows-${{ matrix.arch }}-${{ matrix.config }} + # asset_content_type: application/zip + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: .\zenserver-win64.zip + asset_name: zenserver-win64.zip + asset_content_type: application/zip + |