12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- name: Nightly build
- run-name: Nightly build
- on:
- workflow_call:
- inputs:
- cura_conan_version:
- required: true
- type: string
- release_tag:
- required: true
- type: string
- caller_workflow:
- required: true
- type: string
- jobs:
- create-installers:
- name: Create installers
- uses: ultimaker/cura-workflows/.github/workflows/cura-installers.yml@main
- with:
- cura_conan_version: ${{ inputs.cura_conan_version }}
- secrets: inherit
- update-nightly-release:
- name: Upload installers
- runs-on: ubuntu-latest
- needs: [ create-installers ]
- steps:
- - name: Setup the build environment
- uses: ultimaker/cura-workflows/.github/actions/setup-build-environment@main
- - name: Download installers jobs artifacts
- uses: actions/download-artifact@v4
- with:
- pattern: UltiMaker-Cura-*
- path: installers
- merge-multiple: true
- - name: Rename the installers
- id: rename-installers
- working-directory: installers
- run: python ../Cura-workflows/runner_scripts/rename_installers.py --tag "nightly" >> $GITHUB_OUTPUT
- - name: create the release notes
- shell: python
- run: |
- import os
- import datetime
- from jinja2 import Template
-
- with open(".github/workflows/nightly_release_notes.md.jinja", "r") as f:
- release_notes = Template(f.read())
-
- short_version = "${{ steps.rename-installers.outputs.short_version }}"
- caller_workflow = "${{ inputs.caller_workflow }}"
- is_main = os.getenv("GITHUB_REF") == "refs/heads/main"
- with open("release-notes.md", "w") as f:
- f.write(release_notes.render(
- timestamp=str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")),
- caller_workflow=caller_workflow,
- branch="" if is_main else short_version,
- branch_specific="" if is_main else f"?branch={short_version}",
- ))
- - name: Update nightly release description and binaries
- run: |
- gh release edit ${{ inputs.release_tag }} --title "${{ steps.rename-installers.outputs.cura_version }}" --notes-file release-notes.md
- for file in "installers/*"; do
- gh release upload ${{ inputs.release_tag }} $file --clobber
- done
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|