diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d05169d9..c25feead 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -154,7 +154,7 @@ jobs: cat dist/versions.env - name: Upload - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: versions.env path: dist/ @@ -179,77 +179,41 @@ jobs: steps: - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - path: artifacts + path: dist + pattern: '*_release' + merge-multiple: true - - name: Move release archives to dist/ - shell: bash - run: | - set -eux - mkdir dist/ - mv artifacts/*_release/* dist/ - - - name: Delete Latest Release and Tag - if: github.ref == 'refs/heads/master' - uses: dev-drprasad/delete-tag-and-release@v1.0 - with: - delete_release: true - tag_name: "latest" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Checkout Repo if: github.ref == 'refs/heads/master' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: source fetch-depth: 1 sparse-checkout: 'README.md' - - name: Create Latest Tag + - name: Create latest pre-release if: github.ref == 'refs/heads/master' working-directory: source run: | + gh release delete latest --cleanup-tag || true git tag -d latest || true + git push --delete origin refs/tags/latest || true git tag latest - git push origin latest - - id: release_latest - name: Release Latest - if: github.ref == 'refs/heads/master' - uses: ncipollo/release-action@v1 - with: - artifactErrorsFailBuild: true - artifacts: dist/* - generateReleaseNotes: true - makeLatest: true - name: "Latest (unstable)" - prerelease: true - tag: "latest" + git push --force origin refs/tags/latest + gh release create latest ../dist/* \ + --generate-notes \ + --title "Latest (unstable)" \ + --verify-tag \ + --prerelease + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - id: release_tag - name: Release Tag - uses: ncipollo/release-action@v1 + - name: Upload to tagged release if: startsWith(github.ref, 'refs/tags/v') - with: - allowUpdates: true - artifactErrorsFailBuild: true - artifacts: dist/* - draft: false - generateReleaseNotes: true - makeLatest: true - omitBodyDuringUpdate: true - omitDraftDuringUpdate: true - omitNameDuringUpdate: true - omitPrereleaseDuringUpdate: true - - - name: Show release outputs - shell: bash + working-directory: source run: | - echo 'id: ' - echo -n '${{ steps.release_tag.outputs.id }}' - echo -n '${{ steps.release_latest.outputs.id }}' - echo '' - echo '' - echo 'url:' - echo -n '${{ steps.release_tag.outputs.html_url }}' - echo -n '${{ steps.release_latest.outputs.html_url }}' - echo '' + exit 0 + gh release upload "$GITHUB_REF_NAME" ../dist/* --clobber + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/build_language.yml b/.github/workflows/build_language.yml index f82f2754..1b7d6ee4 100644 --- a/.github/workflows/build_language.yml +++ b/.github/workflows/build_language.yml @@ -30,10 +30,10 @@ jobs: steps: - name: Checkout source - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Download versions.env - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: versions.env path: artifacts @@ -69,7 +69,7 @@ jobs: JA2Application=$JA2Application " >> $GITHUB_ENV - - uses: microsoft/setup-msbuild@v1.1 + - uses: microsoft/setup-msbuild@v2 with: msbuild-architecture: x86 - uses: ilammy/msvc-dev-cmd@v1 @@ -87,7 +87,7 @@ jobs: find build/ - name: Upload - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.language }}_${{ matrix.application }} path: build/*.exe @@ -100,7 +100,7 @@ jobs: steps: - name: Download versions.env - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: versions.env path: artifacts @@ -109,7 +109,7 @@ jobs: run: cat artifacts/versions.env >> $GITHUB_ENV - name: Checkout gamedir - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: ${{ env.GAMEDIR_REPOSITORY }} ref: ${{ env.GAMEDIR_COMMIT_SHA }} @@ -117,7 +117,7 @@ jobs: - name: Checkout gamedir-languages if: inputs.language != 'English' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: ${{ env.GAMEDIR_LANGUAGES_REPOSITORY }} ref: ${{ env.GAMEDIR_LANGUAGES_COMMIT_SHA }} @@ -131,25 +131,25 @@ jobs: cp -a gamedir-languages/${{ inputs.language }}_Version/* gamedir/ - name: Download ja2 - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.language }}_ja2 path: artifacts/ja2 - name: Download ja2mapeditor - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.language }}_ja2mapeditor path: artifacts/ja2mapeditor - name: Download ja2ub - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.language }}_ja2ub path: artifacts/ja2ub - name: Download ja2ubmapeditor - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.language }}_ja2ubmapeditor path: artifacts/ja2ubmapeditor @@ -199,7 +199,8 @@ jobs: 7z a -bb -xr'!.*' "../dist/${DIST_NAME}.7z" . - name: Upload - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.language }}_release path: dist/ + compression-level: 0