Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cura 10831 #17475

Merged
merged 47 commits into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
2dfe6d7
Set requirements and version with conandata
jellespijker Nov 11, 2023
220054c
Use cura-workflows to determine version
jellespijker Nov 11, 2023
33ecec6
add release tagging info to conandata
jellespijker Nov 11, 2023
1fb1fe9
don't set release from conandata.yml
jellespijker Nov 11, 2023
1216674
Modernize conanfile.py
jellespijker Nov 12, 2023
39e5053
fix option naming
jellespijker Nov 12, 2023
96f6aac
Create the Cura binaries
jellespijker Nov 16, 2023
78cafec
Only check internal requirements when building internal
jellespijker Nov 16, 2023
01998d2
Simplify conan-package.yml workflow
jellespijker Nov 16, 2023
1f6edc4
Merge branch 'main' into CURA-10831
jellespijker Nov 27, 2023
9693ec2
Merge main and update versions
jellespijker Nov 27, 2023
e1110dd
Update workflow to be on par with other repo's
jellespijker Nov 27, 2023
37a4c5d
Merge branch 'main' into CURA-10831
jellespijker Nov 29, 2023
7ed7cc2
Use testing conan packages
jellespijker Nov 29, 2023
0d3a926
Update linux.yml
jellespijker Nov 29, 2023
806eba0
Merge remote-tracking branch 'origin/CURA-11080_use_openssl_3' into C…
jellespijker Dec 1, 2023
b847cf6
Use working CURA-10831 packages
jellespijker Dec 1, 2023
4d97e77
Use process-pull-request workflow
jellespijker Dec 1, 2023
b19d5d4
Use dulcificum 0.1.1-beta.0
jellespijker Dec 4, 2023
a0f161c
Merge branch 'main' into CURA-10831
jellespijker Dec 4, 2023
7f1158c
Use cura-workflow OS installers
jellespijker Dec 4, 2023
2d3ef87
Use the latest `stable` dulcificum build
jellespijker Dec 4, 2023
7a4d264
Fix testing against literal instead of value
jellespijker Dec 4, 2023
20ab319
Use default values from cura-workflows
jellespijker Dec 4, 2023
040f85c
Remove redundant export workflow
jellespijker Dec 4, 2023
9ad993f
Reinstate OS specific installer workflows
jellespijker Dec 4, 2023
b678951
Applied work-around for GH true/false instead of True/False
jellespijker Dec 4, 2023
260a73e
Use older name for OS specific installer workflows
jellespijker Dec 4, 2023
ad96082
Port unit-test to cura-workflows
jellespijker Dec 5, 2023
a69e4f1
set needs for testing job
jellespijker Dec 5, 2023
6140d5a
only run on main/release and PR's
jellespijker Dec 5, 2023
a2eb1dc
Activate all activate_github_action envs
jellespijker Dec 5, 2023
3dcf208
Revert "only run on main/release and PR's"
jellespijker Dec 5, 2023
e688a3a
use relative location of pytest
jellespijker Dec 5, 2023
86493b9
Use VirtualPythonEnv generator
jellespijker Dec 5, 2023
f5354c0
Add FIXME reminders
jellespijker Dec 5, 2023
1334b65
Post the unit test result on PR's
jellespijker Dec 5, 2023
b8d41ab
Add FIXME reminder
jellespijker Dec 5, 2023
7508940
Merge branch 'main' into CURA-10831
jellespijker Dec 5, 2023
8aa6d2c
Update conan_data with actual version
jellespijker Dec 5, 2023
704f128
Use CURA-10831 working packages for deps
jellespijker Dec 5, 2023
1156ad7
Merge branch 'main' into CURA-10831
jellespijker Dec 5, 2023
f94198c
Fix behaviour of internal property
jellespijker Dec 7, 2023
9bb065a
make sure fdm_materials is installed for internals
jellespijker Dec 8, 2023
e6812a3
No need to create a conan-package
jellespijker Dec 8, 2023
065f22b
Merge branch 'main' into CURA-10831
jellespijker Dec 8, 2023
f2f2f74
Apply suggestions from code review
jellespijker Dec 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
156 changes: 0 additions & 156 deletions .github/workflows/conan-package-create.yml

This file was deleted.

116 changes: 9 additions & 107 deletions .github/workflows/conan-package.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,6 @@
---
name: conan-package

# Exports the recipe, sources and binaries for Mac, Windows and Linux and upload these to the server such that these can
# be used downstream.
#
# It should run on pushes against main or CURA-* branches, but it will only create the binaries for main and release branches

on:
workflow_dispatch:
inputs:
create_binaries_windows:
required: true
default: false
description: 'create binaries Windows'
create_binaries_linux:
required: true
default: false
description: 'create binaries Linux'
create_binaries_macos:
required: true
default: false
description: 'create binaries Macos'

push:
paths:
- 'plugins/**'
Expand All @@ -32,15 +11,15 @@ on:
- 'packaging/**'
- '.github/workflows/conan-*.yml'
- '.github/workflows/notify.yml'
- '.github/workflows/requirements-conan-package.txt'
- '.github/workflows/requirements-runner.txt'
- 'requirements*.txt'
- 'conanfile.py'
- 'conandata.yml'
- 'GitVersion.yml'
- '*.jinja'
branches:
- main
- 'main'
- 'CURA-*'
- 'PP-*'
- '[0-9].[0-9]'
- '[0-9].[0-9][0-9]'
tags:
Expand All @@ -51,95 +30,18 @@ on:
env:
CONAN_LOGIN_USERNAME_CURA: ${{ secrets.CONAN_USER }}
CONAN_PASSWORD_CURA: ${{ secrets.CONAN_PASS }}
CONAN_LOGIN_USERNAME_CURA_CE: ${{ secrets.CONAN_USER }}
CONAN_PASSWORD_CURA_CE: ${{ secrets.CONAN_PASS }}
CONAN_LOG_RUN_TO_OUTPUT: 1
CONAN_LOGGING_LEVEL: ${{ inputs.conan_logging_level }}
CONAN_NON_INTERACTIVE: 1

permissions: { }
# FIXME: point to `main` once merged
jobs:
jellespijker marked this conversation as resolved.
Show resolved Hide resolved
conan-recipe-version:
permissions:
contents: read

uses: ultimaker/cura/.github/workflows/conan-recipe-version.yml@main
uses: ultimaker/cura-workflows/.github/workflows/conan-recipe-version.yml@CURA-10831
with:
jellespijker marked this conversation as resolved.
Show resolved Hide resolved
project_name: cura

conan-package-create-linux:
conan-package-export:
needs: [ conan-recipe-version ]
runs-on: 'ubuntu-latest'

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Cache Conan data
id: cache-conan
uses: actions/cache@v3
with:
path: ~/.conan
key: ${{ runner.os }}-conan

- name: Setup Python and pip
uses: actions/setup-python@v4
with:
python-version: '3.11.x'
cache: 'pip'
cache-dependency-path: .github/workflows/requirements-conan-package.txt

- name: Install Python requirements for runner
run: pip install -r .github/workflows/requirements-conan-package.txt

# NOTE: Due to what are probably github issues, we have to remove the cache and reconfigure before the rest.
# This is maybe because grub caches the disk it uses last time, which is recreated each time.
- name: Install Linux system requirements
if: ${{ runner.os == 'Linux' }}
run: |
sudo rm /var/cache/debconf/config.dat
sudo dpkg --configure -a
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt upgrade
sudo apt install efibootmgr build-essential checkinstall libegl-dev zlib1g-dev libssl-dev ninja-build autoconf libx11-dev libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxau-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xtrans-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev xkb-data libxcb-dri3-dev uuid-dev libxcb-util-dev libxkbcommon-x11-dev pkg-config flex bison libxcb-cursor-dev g++-12 gcc-12 -y

- name: Install GCC-13
run: |
sudo apt install g++-13 gcc-13 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13

- name: Create the default Conan profile
run: conan profile new default --detect --force

- name: Get Conan configuration
run: |
conan config install https://github.com/Ultimaker/conan-config.git
conan config install https://github.com/Ultimaker/conan-config.git -a "-b runner/${{ runner.os }}/${{ runner.arch }}"

- name: Create the Packages
run: conan create . ${{ needs.conan-recipe-version.outputs.recipe_id_full }} --build=missing --update -o ${{ needs.conan-recipe-version.outputs.project_name }}:devtools=True -o ${{ needs.conan-recipe-version.outputs.project_name }}:enable_i18n=True -c tools.build:skip_test=True

- name: Create the latest alias
if: always()
run: conan alias ${{ needs.conan-recipe-version.outputs.recipe_id_latest }} ${{ needs.conan-recipe-version.outputs.recipe_id_full }}

- name: Upload the Package(s)
if: always()
run: |
conan upload ${{ needs.conan-recipe-version.outputs.recipe_id_full }} -r cura --all -c
conan upload ${{ needs.conan-recipe-version.outputs.recipe_id_latest }} -r cura -c

notify-create:
if: ${{ always() && (github.event_name == 'push' && (github.ref_name == 'main' || github.ref_name == 'master' || needs.conan-recipe-version.outputs.is_release_branch == 'true')) }}
needs: [ conan-recipe-version, conan-package-create-linux ]

uses: ultimaker/cura/.github/workflows/notify.yml@main
uses: ultimaker/cura-workflows/.github/workflows/conan-recipe-export.yml@CURA-10831
with:
jellespijker marked this conversation as resolved.
Show resolved Hide resolved
success: ${{ contains(join(needs.*.result, ','), 'success') }}
success_title: "New binaries created in ${{ github.repository }}"
success_body: "Created binaries for ${{ needs.conan-recipe-version.outputs.recipe_id_full }}"
failure_title: "Failed to create binaries in ${{ github.repository }}"
failure_body: "Failed to created binaries for ${{ needs.conan-recipe-version.outputs.recipe_id_full }}"
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
recipe_id_latest: ${{ needs.conan-recipe-version.outputs.recipe_id_latest }}
secrets: inherit
Loading
Loading