name: Build Application and Make Release on: push: tags: - '*' jobs: build_release: name: Build Release uses: ./.github/workflows/build.yml with: build_type: Release secrets: SPARKLE_ED25519_KEY: ${{ secrets.SPARKLE_ED25519_KEY }} create_release: needs: build_release runs-on: ubuntu-latest outputs: upload_url: ${{ steps.create_release.outputs.upload_url }} steps: - name: Checkout uses: actions/checkout@v3 with: submodules: 'true' path: 'PollyMC-source' - name: Download artifacts uses: actions/download-artifact@v3 - name: Grab and store version run: | tag_name=$(echo ${{ github.ref }} | grep -oE "[^/]+$") echo "VERSION=$tag_name" >> $GITHUB_ENV - name: Package artifacts properly run: | mv ${{ github.workspace }}/PollyMC-source PollyMC-${{ env.VERSION }} mv PollyMC-Linux-Qt6-Portable*/PollyMC-portable.tar.gz PollyMC-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz mv PollyMC-Linux-Qt6*/PollyMC.tar.gz PollyMC-Linux-Qt6-${{ env.VERSION }}.tar.gz mv PollyMC-Linux-Portable*/PollyMC-portable.tar.gz PollyMC-Linux-Portable-${{ env.VERSION }}.tar.gz mv PollyMC-Linux*/PollyMC.tar.gz PollyMC-Linux-${{ env.VERSION }}.tar.gz mv PollyMC-*.AppImage/PollyMC-*.AppImage PollyMC-Linux-${{ env.VERSION }}-x86_64.AppImage mv PollyMC-macOS*/PollyMC.tar.gz PollyMC-macOS-${{ env.VERSION }}.tar.gz tar -czf PollyMC-${{ env.VERSION }}.tar.gz PollyMC-${{ env.VERSION }} for d in PollyMC-Windows-*; do cd "${d}" || continue LEGACY="$(echo -n ${d} | grep -o Legacy || true)" INST="$(echo -n ${d} | grep -o Setup || true)" PORT="$(echo -n ${d} | grep -o Portable || true)" NAME="PollyMC-Windows" test -z "${LEGACY}" || NAME="${NAME}-Legacy" test -z "${PORT}" || NAME="${NAME}-Portable" test -z "${INST}" || mv PollyMC-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" * cd .. done - name: Create release id: create_release uses: softprops/action-gh-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} name: PollyMC ${{ env.VERSION }} draft: true prerelease: false files: | PollyMC-Linux-${{ env.VERSION }}.tar.gz PollyMC-Linux-Portable-${{ env.VERSION }}.tar.gz PollyMC-Linux-${{ env.VERSION }}-x86_64.AppImage PollyMC-Windows-Legacy-${{ env.VERSION }}.zip PollyMC-Linux-Qt6-${{ env.VERSION }}.tar.gz PollyMC-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz PollyMC-Windows-Legacy-Portable-${{ env.VERSION }}.zip PollyMC-Windows-Legacy-Setup-${{ env.VERSION }}.exe PollyMC-Windows-${{ env.VERSION }}.zip PollyMC-Windows-Portable-${{ env.VERSION }}.zip PollyMC-Windows-Setup-${{ env.VERSION }}.exe PollyMC-macOS-${{ env.VERSION }}.tar.gz PollyMC-${{ env.VERSION }}.tar.gz