From bb07c0840bc16d6bbdf63ed3adceb7db9b01a57c Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Tue, 26 Nov 2024 08:50:41 +0100 Subject: [PATCH] Remove the nightlies build from installers --- .github/workflows/installers.yml | 218 +++---------------------------- 1 file changed, 16 insertions(+), 202 deletions(-) diff --git a/.github/workflows/installers.yml b/.github/workflows/installers.yml index b2b91b7e732..2e512660817 100644 --- a/.github/workflows/installers.yml +++ b/.github/workflows/installers.yml @@ -44,28 +44,16 @@ on: required: true type: boolean -env: - CONAN_ARGS: ${{ inputs.conan_args || '' }} - ENTERPRISE: ${{ inputs.enterprise || false }} - STAGING: ${{ inputs.staging || false }} jobs: - default_values: - uses: ultimaker/cura-workflows/.github/workflows/cura-installer-default-value.yml@main - with: - cura_conan_version: ${{ inputs.cura_conan_version }} - latest_release: '5.6' - latest_release_schedule_hour: 4 - latest_release_tag: 'nightly' - windows-installer: uses: ultimaker/cura-workflows/.github/workflows/cura-installer-windows.yml@main needs: [ default_values ] with: - cura_conan_version: ${{ needs.default_values.outputs.cura_conan_version }} - conan_args: ${{ github.event.inputs.conan_args }} - enterprise: ${{ github.event.inputs.enterprise == 'true' }} - staging: ${{ github.event.inputs.staging == 'true' }} + cura_conan_version: ${{ inputs.cura_conan_version }} + conan_args: ${{ inputs.conan_args }} + enterprise: ${{ inputs.enterprise == 'true' }} + staging: ${{ inputs.staging == 'true' }} architecture: X64 operating_system: self-hosted-Windows-X64 secrets: inherit @@ -75,10 +63,10 @@ jobs: uses: ultimaker/cura-workflows/.github/workflows/cura-installer-linux.yml@CURA-11622_conan_v2 needs: [ default_values ] with: - cura_conan_version: ${{ needs.default_values.outputs.cura_conan_version }} - conan_args: ${{ github.event.inputs.conan_args }} - enterprise: ${{ github.event.inputs.enterprise == 'true' }} - staging: ${{ github.event.inputs.staging == 'true' }} + cura_conan_version: ${{ inputs.cura_conan_version }} + conan_args: ${{ inputs.conan_args }} + enterprise: ${{ inputs.enterprise == 'true' }} + staging: ${{ inputs.staging == 'true' }} operating_system: self-hosted-Ubuntu22-X64 secrets: inherit @@ -86,10 +74,10 @@ jobs: uses: ultimaker/cura-workflows/.github/workflows/cura-installer-macos.yml@main needs: [ default_values ] with: - cura_conan_version: ${{ needs.default_values.outputs.cura_conan_version }} - conan_args: ${{ github.event.inputs.conan_args }} - enterprise: ${{ github.event.inputs.enterprise == 'true' }} - staging: ${{ github.event.inputs.staging == 'true' }} + cura_conan_version: ${{ inputs.cura_conan_version }} + conan_args: ${{ inputs.conan_args }} + enterprise: ${{ inputs.enterprise == 'true' }} + staging: ${{ inputs.staging == 'true' }} architecture: X64 operating_system: self-hosted-X64 secrets: inherit @@ -98,184 +86,10 @@ jobs: uses: ultimaker/cura-workflows/.github/workflows/cura-installer-macos.yml@main needs: [ default_values ] with: - cura_conan_version: ${{ needs.default_values.outputs.cura_conan_version }} - conan_args: ${{ github.event.inputs.conan_args }} - enterprise: ${{ github.event.inputs.enterprise == 'true' }} - staging: ${{ github.event.inputs.staging == 'true' }} + cura_conan_version: ${{ inputs.cura_conan_version }} + conan_args: ${{ inputs.conan_args }} + enterprise: ${{ inputs.enterprise == 'true' }} + staging: ${{ inputs.staging == 'true' }} architecture: ARM64 operating_system: self-hosted-ARM64 secrets: inherit - - # Run and update nightly release when the nightly input is set to true or if the schedule is triggered - update-nightly-release: - if: ${{ inputs.nightly || github.event_name == 'schedule' }} - runs-on: ubuntu-latest - needs: [ default_values, windows-installer, linux-installer, macos-installer, macos-arm-installer ] - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Download the run info - uses: actions/download-artifact@v4 - with: - name: linux-run-info - - - name: Set the run info as environment variables - run: | - . run_info.sh - - - name: Output the name file name and extension - id: filename - shell: python - run: | - import os - import datetime - enterprise = "-Enterprise" if "${{ github.event.inputs.enterprise }}" == "true" else "" - linux = f"UltiMaker-Cura-{os.getenv('CURA_VERSION_FULL')}{enterprise}-linux-X64" - mac_x64_dmg = f"UltiMaker-Cura-{os.getenv('CURA_VERSION_FULL')}{enterprise}-macos-X64" - mac_x64_pkg = f"UltiMaker-Cura-{os.getenv('CURA_VERSION_FULL')}{enterprise}-macos-X64" - mac_arm_dmg = f"UltiMaker-Cura-{os.getenv('CURA_VERSION_FULL')}{enterprise}-macos-ARM64" - mac_arm_pkg = f"UltiMaker-Cura-{os.getenv('CURA_VERSION_FULL')}{enterprise}-macos-ARM64" - win_msi = installer_filename = f"UltiMaker-Cura-{os.getenv('CURA_VERSION_FULL')}{enterprise}-win64-X64" - win_exe = installer_filename = f"UltiMaker-Cura-{os.getenv('CURA_VERSION_FULL')}{enterprise}-win64-X64" - nightly_name = "UltiMaker-Cura-" + os.getenv('CURA_VERSION_FULL').split("+")[0] - nightly_creation_time = str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")) - output_env = os.environ["GITHUB_OUTPUT"] - content = "" - if os.path.exists(output_env): - with open(output_env, "r") as f: - content = f.read() - with open(output_env, "w") as f: - f.write(content) - f.writelines(f"LINUX={linux}\n") - f.writelines(f"MAC_X64_DMG={mac_x64_dmg}\n") - f.writelines(f"MAC_X64_PKG={mac_x64_pkg}\n") - f.writelines(f"MAC_ARM_DMG={mac_arm_dmg}\n") - f.writelines(f"MAC_ARM_PKG={mac_arm_pkg}\n") - f.writelines(f"WIN_MSI={win_msi}\n") - f.writelines(f"WIN_EXE={win_exe}\n") - f.writelines(f"NIGHTLY_NAME={nightly_name}\n") - f.writelines(f"NIGHTLY_TIME={nightly_creation_time}\n") - - - name: Download linux installer jobs artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ steps.filename.outputs.LINUX }}-AppImage - path: installers - - - name: Download linux installer jobs asc artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ steps.filename.outputs.LINUX }}-asc - path: installers - - - name: Rename Linux installer to nightlies - run: | - mv installers/${{ steps.filename.outputs.LINUX }}.AppImage installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-linux-X64.AppImage - mv installers/${{ steps.filename.outputs.LINUX }}.AppImage.asc installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-linux-X64.AppImage.asc - - - name: Update nightly release for Linux - run: | - gh release upload ${{ needs.default_values.outputs.release_tag }} installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-linux-X64.AppImage --clobber - gh release upload ${{ needs.default_values.outputs.release_tag }} installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-linux-X64.AppImage.asc --clobber - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Download win msi installer jobs artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ steps.filename.outputs.WIN_MSI }}-msi - path: installers - - - name: Download win exe installer jobs artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ steps.filename.outputs.WIN_EXE }}-exe - path: installers - - - name: Rename Windows installers to nightlies - run: | - mv installers/${{ steps.filename.outputs.WIN_MSI }}.msi installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-win64-X64.msi - mv installers/${{ steps.filename.outputs.WIN_EXE }}.exe installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-win64-X64.exe - - - name: Update nightly release for Windows - run: | - gh release upload ${{ needs.default_values.outputs.release_tag }} installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-win64-X64.msi --clobber - gh release upload ${{ needs.default_values.outputs.release_tag }} installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-win64-X64.exe --clobber - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Download MacOS (X64) dmg installer jobs artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ steps.filename.outputs.MAC_X64_DMG }}-dmg - path: installers - - - name: Download MacOS (X64) pkg installer jobs artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ steps.filename.outputs.MAC_X64_PKG }}-pkg - path: installers - - - name: Rename MacOS (X64) installers to nightlies - run: | - mv installers/${{ steps.filename.outputs.MAC_X64_DMG }}.dmg installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-macos-X64.dmg - mv installers/${{ steps.filename.outputs.MAC_X64_PKG }}.pkg installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-macos-X64.pkg - - - name: Update nightly release for MacOS (X64) - run: | - gh release upload ${{ needs.default_values.outputs.release_tag }} installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-macos-X64.dmg --clobber - gh release upload ${{ needs.default_values.outputs.release_tag }} installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-macos-X64.pkg --clobber - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Download MacOS (ARM-64) dmg installer jobs artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ steps.filename.outputs.MAC_ARM_DMG }}-dmg - path: installers - - - name: Download MacOS (ARM-64) pkg installer jobs artifacts - uses: actions/download-artifact@v4 - with: - name: ${{ steps.filename.outputs.MAC_ARM_PKG }}-pkg - path: installers - - - name: Rename MacOS (ARM-64) installers to nightlies - run: | - mv installers/${{ steps.filename.outputs.MAC_ARM_DMG }}.dmg installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-macos-ARM64.dmg - mv installers/${{ steps.filename.outputs.MAC_ARM_PKG }}.pkg installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-macos-ARM64.pkg - - - name: Update nightly release for MacOS (ARM-64) - run: | - gh release upload ${{ needs.default_values.outputs.release_tag }} installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-macos-ARM64.dmg --clobber - gh release upload ${{ needs.default_values.outputs.release_tag }} installers/${{ steps.filename.outputs.NIGHTLY_NAME }}-macos-ARM64.pkg --clobber - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: create the release notes - shell: python - run: | - import os - import datetime - from jinja2 import Template - - with open(".github/workflows/release_notes.md.jinja", "r") as f: - release_notes = Template(f.read()) - - current_nightly_beta = "${{ needs.default_values.outputs.release_tag }}".split("nightly-")[-1] - with open("release-notes.md", "w") as f: - f.write(release_notes.render( - timestamp="${{ steps.filename.outputs.NIGHTLY_TIME }}", - branch="" if "${{ needs.default-values.outputs.release_tag == 'nightly' }}" == 'true' else current_nightly_beta, - branch_specific="" if os.getenv("GITHUB_REF") == "refs/heads/main" else f"?branch={current_nightly_beta}", - )) - - - name: Update nightly release description (with date) - if: always() - run: | - gh release edit ${{ needs.default_values.outputs.release_tag }} --title "${{ steps.filename.outputs.NIGHTLY_NAME }}" --notes-file release-notes.md - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}