diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 0000000000..e307354c0a --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,89 @@ +name: Linux Installer +run-name: ${{ inputs.cura_conan_version }} for Linux-${{ inputs.architecture }} by @${{ github.actor }} + +on: + workflow_dispatch: + inputs: + cura_conan_version: + description: 'Cura Conan Version' + default: 'cura/latest@ultimaker/testing' + required: true + type: string + conan_args: + description: 'Conan args: eq.: --require-override' + default: '' + required: false + type: string + enterprise: + description: 'Build Cura as an Enterprise edition' + default: false + required: true + type: boolean + staging: + description: 'Use staging API' + default: false + required: true + type: boolean + architecture: + description: 'Architecture' + required: true + default: 'X64' + type: choice + options: + - X64 + operating_system: + description: 'OS' + required: true + default: 'ubuntu-22.04' + type: choice + options: + - ubuntu-22.04 + - ubuntu-20.04 + workflow_call: + inputs: + cura_conan_version: + description: 'Cura Conan Version' + default: 'cura/latest@ultimaker/testing' + required: true + type: string + conan_args: + description: 'Conan args: eq.: --require-override' + default: '' + required: false + type: string + enterprise: + description: 'Build Cura as an Enterprise edition' + default: false + required: true + type: boolean + staging: + description: 'Use staging API' + default: false + required: true + type: boolean + architecture: + description: 'Architecture' + required: true + default: 'X64' + type: string + operating_system: + description: 'OS' + required: true + default: 'ubuntu-22.04' + type: string + +env: + CONAN_LOGIN_USERNAME_CURA: ${{ secrets.CONAN_USER }} + CONAN_PASSWORD_CURA: ${{ secrets.CONAN_PASS }} + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + CURA_CONAN_VERSION: ${{ inputs.cura_conan_version }} + ENTERPRISE: ${{ inputs.enterprise }} + STAGING: ${{ inputs.staging }} + +jobs: + cura-installer-create: + runs-on: ${{ inputs.operating_system }} + + steps: + - name: Checkout + uses: actions/checkout@v3 \ No newline at end of file diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index a19a67c607..4ea9db5010 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -32,6 +32,15 @@ on: options: - X64 - ARM64 + operating_system: + description: 'OS' + required: true + default: 'macos-11' + type: choice + options: + - self-hosted + - macos-11 + - macos-12 workflow_call: inputs: cura_conan_version: @@ -59,6 +68,11 @@ on: required: true default: 'X64' type: string + operating_system: + description: 'OS' + required: true + default: 'macos-11' + type: string env: CONAN_LOGIN_USERNAME_CURA: ${{ secrets.CONAN_USER }} @@ -75,17 +89,8 @@ env: STAGING: ${{ inputs.staging }} jobs: - get-runner-label: - runs-on: ubuntu-latest - outputs: - label: ${{ steps.determine-label.outputs.label }} # You must define the specific step inside the job - steps: - - id: determine-label - run: echo "label=$(if [ "${{ inputs.architecture }}" = "ARM64" ]; then echo 'self-hosted'; else echo 'macos-11'; fi)" >> $GITHUB_OUTPUT - cura-installer-create: - needs: [ get-runner-label ] - runs-on: ${{ needs.get-runner-label.outputs.label }} + runs-on: ${{ inputs.operating_system }} steps: - name: Checkout diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000000..d76a44d917 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,89 @@ +name: Windows Installer +run-name: ${{ inputs.cura_conan_version }} for Windows-${{ inputs.architecture }} by @${{ github.actor }} + +on: + workflow_dispatch: + inputs: + cura_conan_version: + description: 'Cura Conan Version' + default: 'cura/latest@ultimaker/testing' + required: true + type: string + conan_args: + description: 'Conan args: eq.: --require-override' + default: '' + required: false + type: string + enterprise: + description: 'Build Cura as an Enterprise edition' + default: false + required: true + type: boolean + staging: + description: 'Use staging API' + default: false + required: true + type: boolean + architecture: + description: 'Architecture' + required: true + default: 'X64' + type: choice + options: + - X64 + operating_system: + description: 'OS' + required: true + default: 'windows-2022' + type: choice + options: + - windows-2022 + workflow_call: + inputs: + cura_conan_version: + description: 'Cura Conan Version' + default: 'cura/latest@ultimaker/testing' + required: true + type: string + conan_args: + description: 'Conan args: eq.: --require-override' + default: '' + required: false + type: string + enterprise: + description: 'Build Cura as an Enterprise edition' + default: false + required: true + type: boolean + staging: + description: 'Use staging API' + default: false + required: true + type: boolean + architecture: + description: 'Architecture' + required: true + default: 'X64' + type: string + operating_system: + description: 'OS' + required: true + default: 'windows-2022' + type: string + +env: + CONAN_LOGIN_USERNAME_CURA: ${{ secrets.CONAN_USER }} + CONAN_PASSWORD_CURA: ${{ secrets.CONAN_PASS }} + WIN_CERT_INSTALLER_CER: ${{ secrets.WIN_CERT_INSTALLER_CER }} + WIN_CERT_INSTALLER_CER_PASS: ${{ secrets.WIN_CERT_INSTALLER_CER_PASS }} + CURA_CONAN_VERSION: ${{ inputs.cura_conan_version }} + ENTERPRISE: ${{ inputs.enterprise }} + STAGING: ${{ inputs.staging }} + +jobs: + cura-installer-create: + runs-on: ${{ inputs.operating_system }} + + steps: + - name: Checkout + uses: actions/checkout@v3 \ No newline at end of file