diff --git a/.github/workflows/mulle-sde-artifacts.yml b/.github/workflows/mulle-sde-artifacts.yml new file mode 100644 index 0000000..377e216 --- /dev/null +++ b/.github/workflows/mulle-sde-artifacts.yml @@ -0,0 +1,76 @@ +name: Artifacts + +on: + release: + types: [ prereleased, released ] + +env: + BUILD_TYPE: release + OTHER_PROJECTS: "MulleFoundation/foundation-developer; +MulleFoundation/mulle-foundation-developer; +mulle-objc/mulle-objc-developer; +mulle-c/mulle-c-developer;" + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ ubuntu-latest, macos-latest ] + + steps: + - name: Add to path + run: echo "$HOME/bin" >> $GITHUB_PATH + + - uses: actions/checkout@v3 + + - uses: mulle-sde/github-ci@v1 + + - uses: mulle-cc/github-ci@v4 + + - name: Choose musl on Linux + run: | + [ "${{ runner.os }}" != "Linux" ] || mulle-sde env set MULLE_CRAFT_SDKS "musl" + - name: Mulle-SDE Craft + run: mulle-sde craft --release + + - name: Get Executable + run: echo "exepath=$(mulle-sde product list)" >> $GITHUB_OUTPUT + id: executable + + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: artifact.${{ runner.os }} + path: ${{ steps.executable.outputs.exepath }} + retention-days: 1 + + release: + needs: [ build ] + name: Upload Artifacts to Release + runs-on: ubuntu-latest + steps: + - name: Download Linux Artifact + uses: actions/download-artifact@v3 + with: + name: artifact.Linux + # actual file will be ${{ steps.executable.outputs.exepath }} though! + + - name: Rename Linux Artifact + run: | + mv ${{ github.workspace }}/${{ github.event.repository.name }} ${{ github.workspace }}/${{ github.event.repository.name }}.linux + + - name: Download macOS Artifact + uses: actions/download-artifact@v3 + with: + name: artifact.macOS + + - name: Rename macOS Artifact + run: mv ${{ github.workspace }}/${{ github.event.repository.name }} ${{ github.workspace }}/${{ github.event.repository.name }}.macos + + - name: Upload Artifacts + uses: alexellis/upload-assets@0.4.0 + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} + with: + asset_paths: '[ "${{ github.event.repository.name }}.*" ]' diff --git a/.github/workflows/mulle-sde-ci.yml b/.github/workflows/mulle-sde-ci.yml index 47a5b7d..32d4718 100644 --- a/.github/workflows/mulle-sde-ci.yml +++ b/.github/workflows/mulle-sde-ci.yml @@ -1,6 +1,11 @@ name: CI -on: [push,workflow_dispatch] +on: + push: + branches: + - release + pull_request: + workflow_dispatch: env: BUILD_TYPE: release diff --git a/.mulle/etc/match/match.d/65-generated--clib b/.mulle/etc/match/match.d/65-generated--clib new file mode 120000 index 0000000..5e63cdf --- /dev/null +++ b/.mulle/etc/match/match.d/65-generated--clib @@ -0,0 +1 @@ +../../../share/match/match.d/65-generated--clib \ No newline at end of file diff --git a/.mulle/share/env/environment-plugin.sh b/.mulle/share/env/environment-plugin.sh index 8c7649d..f72691d 100644 --- a/.mulle/share/env/environment-plugin.sh +++ b/.mulle/share/env/environment-plugin.sh @@ -22,6 +22,6 @@ export MULLE_SOURCETREE_SYMLINK='YES' # # # -export MULLE_SDE_INSTALLED_VERSION="2.2.0" +export MULLE_SDE_INSTALLED_VERSION="2.2.1" diff --git a/.mulle/share/match/ignore.d/20-generated--none b/.mulle/share/match/match.d/65-generated--clib similarity index 100% rename from .mulle/share/match/ignore.d/20-generated--none rename to .mulle/share/match/match.d/65-generated--clib diff --git a/.mulle/share/sde/extension b/.mulle/share/sde/extension index 59b902c..30f63a6 100644 --- a/.mulle/share/sde/extension +++ b/.mulle/share/sde/extension @@ -16,4 +16,3 @@ mulle-c/c-demo;extra mulle-sde/sublime-text;extra foundation/github-actions;extra mulle-sde/idea;extra -foundation/github-actions;extra diff --git a/.mulle/share/sourcetree/config b/.mulle/share/sourcetree/config index 11bb1a2..09e5796 100644 --- a/.mulle/share/sourcetree/config +++ b/.mulle/share/sourcetree/config @@ -1,2 +1,2 @@ -MulleFoundation;${MULLE_FOUNDATION_NODETYPE:-tar};no-singlephase;90328BD8-4AB6-475B-9295-620833B4A70F;${MULLE_FOUNDATION_URL:-https://github.com/MulleFoundation/MulleFoundation/archive/${MULLE_TAG}.tar.gz};${MULLE_FOUNDATION_BRANCH};${MULLE_FOUNDATION_TAG:-latest};; -MulleFoundation-startup;${MULLE_FOUNDATION__STARTUP_NODETYPE:-tar};no-cmake-dependency,no-cmake-loader,no-cmake-searchpath,no-dynamic-link,no-header,no-intermediate-link;3C8A82DD-85F0-452A-A1DB-69FBE4C46851;${MULLE_FOUNDATION__STARTUP_URL:-https://github.com/MulleFoundation/MulleFoundation-startup/archive/${MULLE_TAG}.tar.gz};${MULLE_FOUNDATION__STARTUP_BRANCH};${MULLE_FOUNDATION__STARTUP_TAG:-latest};; +MulleFoundation;${MULLE_FOUNDATION_NODETYPE:-tar};no-singlephase;866169CE-28D4-48D7-9553-66CE67D0884C;${MULLE_FOUNDATION_URL:-https://github.com/MulleFoundation/MulleFoundation/archive/${MULLE_TAG}.tar.gz};${MULLE_FOUNDATION_BRANCH};${MULLE_FOUNDATION_TAG:-latest};; +MulleFoundation-startup;${MULLE_FOUNDATION__STARTUP_NODETYPE:-tar};no-cmake-dependency,no-cmake-loader,no-cmake-searchpath,no-dynamic-link,no-header,no-intermediate-link;AC7E6062-E5D1-4F51-9A7B-AC14BA44715E;${MULLE_FOUNDATION__STARTUP_URL:-https://github.com/MulleFoundation/MulleFoundation-startup/archive/${MULLE_TAG}.tar.gz};${MULLE_FOUNDATION__STARTUP_BRANCH};${MULLE_FOUNDATION__STARTUP_TAG:-latest};; diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 83cc686..14e8fb0 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,7 @@ +### 1860.0.1 + +* produce artifacts on creating a release + # 1860.0.0 * don't use mapped file anymore as it does not work with '<(' indirection diff --git a/cmake/share/CMakeTweaksC.cmake b/cmake/share/CMakeTweaksC.cmake index 345d099..40618d0 100644 --- a/cmake/share/CMakeTweaksC.cmake +++ b/cmake/share/CMakeTweaksC.cmake @@ -55,7 +55,7 @@ if( NOT __CMAKE_TWEAKS_C_CMAKE__) # (230213) turn this on for mulle-objc-optimize set( CMAKE_POSITION_INDEPENDENT_CODE ON) # but don't link as such - set( CMAKE_EXE_LINKER_FLAGS -no-pie ${CMAKE_EXE_LINKER_FLAGS}) + set( CMAKE_EXE_LINKER_FLAGS "-no-pie ${CMAKE_EXE_LINKER_FLAGS}") else() set( CMAKE_POSITION_INDEPENDENT_CODE ON) endif() diff --git a/cmake/share/IDESupport.cmake b/cmake/share/IDESupport.cmake index 09075eb..e9f9ebb 100644 --- a/cmake/share/IDESupport.cmake +++ b/cmake/share/IDESupport.cmake @@ -55,15 +55,15 @@ if( IDE_SUPPORT) set_target_properties( mulle_sde_reflect PROPERTIES EXCLUDE_FROM_ALL ON) add_custom_target( mulle_sde_clean_all - COMMENT "Clean dependency folder" - COMMAND "${MULLE_SDE}" clean all + COMMENT "Clean all and craft dependency folder" + COMMAND "${MULLE_SDE}" craft -C VERBATIM ) set_target_properties( mulle_sde_clean_all PROPERTIES EXCLUDE_FROM_ALL ON) add_custom_target( mulle_sde_clean_tidy - COMMENT "Clean stash and dependency folder" - COMMAND "${MULLE_SDE}" clean tidy + COMMENT "Clean stash and craft dependency folder" + COMMAND "${MULLE_SDE}" craft -g VERBATIM ) set_target_properties( mulle_sde_clean_tidy PROPERTIES EXCLUDE_FROM_ALL ON) diff --git a/src/version.h b/src/version.h index 6b5206d..6fb555e 100644 --- a/src/version.h +++ b/src/version.h @@ -4,7 +4,7 @@ /* * version: major, minor, patch */ -#define MULLE_SCION_VERSION ((1860 << 20) | (0 << 8) | 0) +#define MULLE_SCION_VERSION ((1860 << 20) | (0 << 8) | 1) static inline unsigned int mulle_scion_get_version_major( void) diff --git a/test/.mulle/share/env/environment-plugin.sh b/test/.mulle/share/env/environment-plugin.sh index 8c7649d..f72691d 100644 --- a/test/.mulle/share/env/environment-plugin.sh +++ b/test/.mulle/share/env/environment-plugin.sh @@ -22,6 +22,6 @@ export MULLE_SOURCETREE_SYMLINK='YES' # # # -export MULLE_SDE_INSTALLED_VERSION="2.2.0" +export MULLE_SDE_INSTALLED_VERSION="2.2.1" diff --git a/test/.mulle/share/sourcetree/config b/test/.mulle/share/sourcetree/config index a34559a..c3ff455 100644 --- a/test/.mulle/share/sourcetree/config +++ b/test/.mulle/share/sourcetree/config @@ -1,3 +1,3 @@ -mulle-testallocator;${MULLE__TESTALLOCATOR_NODETYPE:-tar};no-import,no-singlephase;771E8378-6441-4C38-A7E4-CB238EBE5F35;${MULLE__TESTALLOCATOR_URL:-https://github.com/mulle-core/mulle-testallocator/archive/${MULLE_TAG}.tar.gz};${MULLE__TESTALLOCATOR_BRANCH};${MULLE__TESTALLOCATOR_TAG:-latest};; -mulle-scion;${MULLE__SCION_NODETYPE:-tar};;8D534286-3EB7-405B-8508-AE1411A424C7;${MULLE__SCION_URL:-https://github.com/MulleWeb/mulle-scion/archive/${MULLE_TAG}.tar.gz};${MULLE__SCION_BRANCH};${MULLE__SCION_TAG:-latest};; -Foundation-startup;${FOUNDATION_STARTUP_NODETYPE:-tar};no-dynamic-link,no-header,no-intermediate-link;58E37B87-5419-485D-ADC2-2580758E7B06;${FOUNDATION_STARTUP_URL:-https://github.com/MulleFoundation/Foundation-startup/archive/${MULLE_TAG}.tar.gz};${FOUNDATION_STARTUP_BRANCH};${FOUNDATION_STARTUP_TAG:-latest};; +mulle-testallocator;${MULLE__TESTALLOCATOR_NODETYPE:-tar};no-import,no-singlephase;60C57ECC-2529-4B47-95B4-D7C2731EDD74;${MULLE__TESTALLOCATOR_URL:-https://github.com/mulle-core/mulle-testallocator/archive/${MULLE_TAG}.tar.gz};${MULLE__TESTALLOCATOR_BRANCH};${MULLE__TESTALLOCATOR_TAG:-latest};; +mulle-scion;${MULLE__SCION_NODETYPE:-tar};;4A085193-822A-478E-870B-EC67D0AE9386;${MULLE__SCION_URL:-https://github.com/MulleWeb/mulle-scion/archive/${MULLE_TAG}.tar.gz};${MULLE__SCION_BRANCH};${MULLE__SCION_TAG:-latest};; +Foundation-startup;${FOUNDATION_STARTUP_NODETYPE:-tar};no-dynamic-link,no-header,no-intermediate-link;582B9161-43FE-4301-8CCD-8206666DBE6A;${FOUNDATION_STARTUP_URL:-https://github.com/MulleFoundation/Foundation-startup/archive/${MULLE_TAG}.tar.gz};${FOUNDATION_STARTUP_BRANCH};${FOUNDATION_STARTUP_TAG:-latest};;