From ac01f7f2aaa50f3270c6a476239c2bb546c33cd5 Mon Sep 17 00:00:00 2001 From: "H. Utku Maden" Date: Tue, 19 Mar 2024 18:17:44 +0300 Subject: [PATCH] [v1.0] Add automatic build action. Try adding secrets to the workflow script. Fix workflow. Fix typo. fix docker name conflict. Removed cmake files from this repository and added node and meson to the apt packages list. Update .gitea/workflows/build.yaml node -> nodejs --- .gitea/workflows/build.yaml | 22 +++++++++++++++++ Dockerfile | 2 ++ cmake/linux-arm.cmake | 13 ---------- cmake/linux-arm64.cmake | 13 ---------- cmake/linux-x64.cmake | 9 ------- cmake/linux-x86.cmake | 14 ----------- cmake/win-x64.cmake | 14 ----------- cmake/win-x86.cmake | 14 ----------- sh/quik_build_native.sh | 49 ------------------------------------- 9 files changed, 24 insertions(+), 126 deletions(-) create mode 100644 .gitea/workflows/build.yaml delete mode 100644 cmake/linux-arm.cmake delete mode 100644 cmake/linux-arm64.cmake delete mode 100644 cmake/linux-x64.cmake delete mode 100644 cmake/linux-x86.cmake delete mode 100644 cmake/win-x64.cmake delete mode 100644 cmake/win-x86.cmake delete mode 100644 sh/quik_build_native.sh diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..ec8f54b --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,22 @@ +name: Build +run-name: Building docker container. +on: + push: + branches: stable + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Update Package Repository. + run: apt update -y + - name: Gather dependencies. + run: apt install -y docker.io + - name: Log into Docker registry. + run: "echo ${{secrets.QUIK_API_KEY}} | docker login -u themixedupstuff --password-stdin git.mixedup.dev" + - name: Check repository out. + uses: actions/checkout@v3 + - name: Build Docker Image + run: docker build -t git.mixedup.dev/quik/docker-cross-compiler . + - name: Upload Docker Image + run: docker push git.mixedup.dev/quik/docker-cross-compiler diff --git a/Dockerfile b/Dockerfile index 4ce945f..6b25077 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,8 +37,10 @@ RUN echo docker_cross_compiler > /etc/hostname libxml2-dev \ lzma-dev \ mingw-w64 \ + meson \ nuget \ ninja-build \ + nodejs \ patch \ python3 \ xz-utils \ diff --git a/cmake/linux-arm.cmake b/cmake/linux-arm.cmake deleted file mode 100644 index a973557..0000000 --- a/cmake/linux-arm.cmake +++ /dev/null @@ -1,13 +0,0 @@ -# QUIK Toolchain file for Linux-arm systems. -# Copyright (C) 2023 - -set(CMAKE_SYSTEM_NAME Linux) - -set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) -set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) - -set(CMAKE_FIND_ROOT_PATH "/usr/arm-linux-gnueabihf") - -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/cmake/linux-arm64.cmake b/cmake/linux-arm64.cmake deleted file mode 100644 index 5008591..0000000 --- a/cmake/linux-arm64.cmake +++ /dev/null @@ -1,13 +0,0 @@ -# QUIK Toolchain file for Linux-arm64 (aarch64) systems. -# Copyright (C) 2023 - -set(CMAKE_SYSTEM_NAME Linux) - -set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) -set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) - -set(CMAKE_FIND_ROOT_PATH "/usr/aarch64-linux-gnu") - -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/cmake/linux-x64.cmake b/cmake/linux-x64.cmake deleted file mode 100644 index 1366483..0000000 --- a/cmake/linux-x64.cmake +++ /dev/null @@ -1,9 +0,0 @@ -# QUIK Toolchain file for Linux-x64 (amd64) systems. -# Copyright (C) 2023 - -set(CMAKE_SYSTEM_NAME Linux) - -set(CMAKE_C_COMPILER gcc) -set(CMAKE_CXX_COMPILER g++) - -add_compile_options(-m64) diff --git a/cmake/linux-x86.cmake b/cmake/linux-x86.cmake deleted file mode 100644 index 2f2a27b..0000000 --- a/cmake/linux-x86.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# QUIK Toolchain file for Linux-x86 (i386) systems. -# Copyright (C) 2023 - -set(CMAKE_SYSTEM_NAME Linux) - -set(CMAKE_C_COMPILER i686-linux-gnu-gcc) -set(CMAKE_CXX_COMPILER i686-linux-gnu-g++) - -add_compile_options(-m32 -march=i686) - -set(CMAKE_FIND_ROOT_PATH "/usr/i686-linux-gnu") -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/cmake/win-x64.cmake b/cmake/win-x64.cmake deleted file mode 100644 index 7224a0d..0000000 --- a/cmake/win-x64.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# QUIK Toolchain file for Windows-x64 systems. -# Copyright (C) 2023 - -set(CMAKE_SYSTEM_NAME Windows) - -set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) -set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) - -set(CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32") -add_compile_options(-m64) - -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/cmake/win-x86.cmake b/cmake/win-x86.cmake deleted file mode 100644 index 1808cc4..0000000 --- a/cmake/win-x86.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# QUIK Toolchain file for Windows-x86 systems. -# Copyright (C) 2023 - -set(CMAKE_SYSTEM_NAME Windows) - -set(CMAKE_C_COMPILER i686-w64-mingw32-gcc) -set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++) - -set(CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32") -add_compile_options(-m32) - -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/sh/quik_build_native.sh b/sh/quik_build_native.sh deleted file mode 100644 index cc5b191..0000000 --- a/sh/quik_build_native.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -# $1 Source path of the project. -# $2 Target architecture list. -# DST is the destination directory. - -SRC=$1 -ARCHS=$2 - -if [ -z "$SRC" ] -then - echo You need to provide a source path. - return -fi - -if [ -z "$ARCHS" ] -then - ARCHS="linux-arm linux-arm64 linux-x64 win-x64 win-x86" -fi - -if [ -z "$DST" ] -then - DST=$PWD -fi - -for ARCH in $ARCHS; do - # Output directory. - PREFIX=$DST/runtimes/$ARCH/native - # Build directory. - BUILD=$DST/out/$ARCH - # Cmake toolchain file. - TOOLCHAIN=$DST/../cmake/$ARCH.cmake - - # Create directories. - mkdir -p $PREFIX $BUILD - # Configure CMAKE. - cmake -B $BUILD -S $SRC \ - -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_FLAGS=-static-libgcc \ - -DCMAKE_CXX_FLAGS=-static-libgcc \ - -DCMAKE_INSTALL_PREFIX=$PREFIX \ - -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN \ - $QUIK_ADDITIONAL_CMAKE - - # Build and install. - ninja -C $BUILD all - ninja -C $BUILD install -done