22 Commits

Author SHA1 Message Date
themixedupstuff 5af0afc451 Use the new Debian 13 database for .net
Build / build (push) Failing after 54s
2026-04-14 23:45:13 +03:00
themixedupstuff e3f052f181 Add .net10 to the build.
Build / build (push) Failing after 56s
2026-04-14 22:33:57 +02:00
themixedupstuff d0f5760c7a Add --no-cache to the correct place in the build command.
Build / build (push) Successful in 27m11s
2024-07-23 22:48:53 +03:00
themixedupstuff db4b7e7c46 Add --no-cache to build command.
Build / build (push) Failing after 32s
2024-07-23 22:47:16 +03:00
themixedupstuff 165fd4f7f3 Add the .net 8.0 sdk to the build image.
Build / build (push) Failing after 1m47s
2024-07-23 22:41:38 +03:00
themixedupstuff 518969e2c9 Merge branch 'stable' of https://git.mixedup.dev/ReFuel/docker-cross-compiler into stable
Build / build (push) Successful in 36s
2024-06-20 12:57:36 +03:00
themixedupstuff 3b4d6cee18 Rename additional cmake variable. 2024-06-20 12:45:58 +03:00
themixedupstuff 5901e3e317 Update build_native to honor build options. 2024-06-14 22:11:22 +03:00
themixedupstuff 44c8ab3212 Update the cmake scripts by copying the correct commit. 2024-06-14 22:00:05 +03:00
themixedupstuff 36660bcf38 Add osx options again. 2024-06-14 21:52:51 +03:00
themixedupstuff caafc898f3 Convert all files to lf. 2024-06-14 18:24:14 +03:00
themixedupstuff 797197b562 Revert "Remove init.sh."
Build / build (push) Successful in 40s
This reverts commit 5959c1229f.
2024-06-13 21:20:50 +03:00
themixedupstuff 74e192bb05 Change workflow to use tags. 2024-06-13 21:17:13 +03:00
themixedupstuff d3f2aee3c3 Fix .bashrc after removing init.sh 2024-06-13 21:16:38 +03:00
themixedupstuff 35f1d46e81 Fix typo 2024-06-13 21:01:26 +03:00
themixedupstuff 5959c1229f Remove init.sh. 2024-06-13 21:00:57 +03:00
themixedupstuff 7aeb3ab967 Rebrand as ReFuel. 2024-06-13 19:58:34 +02:00
themixedupstuff 57bd32ea77 Reintroduce build essentials into this repository. 2024-06-13 19:58:34 +02:00
themixedupstuff 4107bf9df4 Rebrand as ReFuel.
Build / build (push) Failing after 30s
2024-06-13 20:57:08 +03:00
themixedupstuff fe004342de Reintroduce build essentials into this repository. 2024-06-13 20:49:00 +03:00
themixedupstuff 9eb5f90a2e Merge branch 'stable' of https://git.mixedup.dev/QUIK/docker-cross-compiler into stable
Build / build (push) Successful in 25m12s
2024-03-30 14:34:19 +03:00
themixedupstuff ac01f7f2aa [v1.0] Add automatic build action.
Build / build (push) Successful in 34s
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
2024-03-23 11:33:28 +03:00
15 changed files with 267 additions and 14 deletions
+9 -4
View File
@@ -2,7 +2,8 @@ name: Build
run-name: Building docker container. run-name: Building docker container.
on: on:
push: push:
branches: stable tags:
- '*'
jobs: jobs:
build: build:
@@ -13,10 +14,14 @@ jobs:
- name: Gather dependencies. - name: Gather dependencies.
run: apt install -y docker.io run: apt install -y docker.io
- name: Log into Docker registry. - name: Log into Docker registry.
run: "echo ${{secrets.QUIK_API_KEY}} | docker login -u themixedupstuff --password-stdin git.mixedup.dev" run: "echo ${{secrets.REFUEL_API_KEY}} | docker login -u ${{vars.DOCKER_USER_NAME}} --password-stdin git.mixedup.dev"
- name: Check repository out. - name: Check repository out.
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Build Docker Image - name: Build Docker Image
run: docker build -t git.mixedup.dev/quik/docker-cross-compiler . run: "docker build --no-cache -t git.mixedup.dev/refuel/docker-cross-compiler:${{gitea.ref_name}} ."
- name: Upload Docker Image - name: Upload Docker Image
run: docker push git.mixedup.dev/quik/docker-cross-compiler run: "docker push git.mixedup.dev/refuel/docker-cross-compiler:${{gitea.ref_name}}"
- name: Alias image as latest and push.
run: |
docker tag git.mixedup.dev/refuel/docker-cross-compiler:${{gitea.ref_name}} git.mixedup.dev/refuel/docker-cross-compiler:latest && \
docker push git.mixedup.dev/refuel/docker-cross-compiler:latest
+9 -7
View File
@@ -14,7 +14,7 @@ RUN echo docker_cross_compiler > /etc/hostname
RUN apt-get install -y sudo wget RUN apt-get install -y sudo wget
# Add the .NET package repository to the repository listing. # Add the .NET package repository to the repository listing.
RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb RUN wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
RUN dpkg -i packages-microsoft-prod.deb RUN dpkg -i packages-microsoft-prod.deb
RUN rm packages-microsoft-prod.deb RUN rm packages-microsoft-prod.deb
@@ -28,6 +28,8 @@ RUN echo docker_cross_compiler > /etc/hostname
cpio \ cpio \
curl \ curl \
dotnet-sdk-6.0 \ dotnet-sdk-6.0 \
dotnet-sdk-8.0 \
dotnet-sdk-10.0 \
gcc-arm-linux-gnueabihf \ gcc-arm-linux-gnueabihf \
gcc-aarch64-linux-gnu \ gcc-aarch64-linux-gnu \
gcc-i686-linux-gnu \ gcc-i686-linux-gnu \
@@ -64,18 +66,18 @@ RUN echo docker_cross_compiler > /etc/hostname
# Setup interactive shell. # Setup interactive shell.
# Setup sudo. Remove password prompt for group "wheel". # Setup sudo. Remove password prompt for group "wheel".
RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/quik_sudo_conf RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/refuel_sudo_conf
# Create a default user and switch. # Create a default user and switch.
RUN adduser --comment "" --disabled-password quik RUN adduser --comment "" --disabled-password refuel
RUN addgroup wheel RUN addgroup wheel
RUN usermod -aG wheel quik RUN usermod -aG wheel refuel
USER quik USER refuel
WORKDIR /home/quik WORKDIR /home/refuel
# Copy bashrc # Copy bashrc
RUN cp /etc/bash.bashrc ~/.bashrc RUN cp /etc/bash.bashrc ~/.bashrc
COPY sh/bashrc.sh /home/quik/.bashrc COPY sh/bashrc.sh /home/refuel/.bashrc
# Execute an interactive shell. # Execute an interactive shell.
CMD bash CMD bash
+13
View File
@@ -0,0 +1,13 @@
# ReFuel 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)
+13
View File
@@ -0,0 +1,13 @@
# ReFuel 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)
+9
View File
@@ -0,0 +1,9 @@
# ReFuel 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)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel 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)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel Toolchain file for OSX-ARM64 systems.
# Copyright (C) 2024
set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_C_COMPILER aarch64-apple-darwin23-clang)
set(CMAKE_CXX_COMPILER aarch64-apple-darwin23-clang++)
set(CMAKE_FIND_ROOT_PATH "/usr/local/SDK/MacOSX14.0.sdk/usr"
"/usr/local/SDK/MacOSX14.0.sdk/System")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel Toolchain file for OSX-ARM64 systems.
# Copyright (C) 2024
set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_C_COMPILER x86_64-apple-darwin23-clang)
set(CMAKE_CXX_COMPILER x86_64-apple-darwin23-clang++)
set(CMAKE_FIND_ROOT_PATH "/usr/local/SDK/MacOSX14.0.sdk/usr"
"/usr/local/SDK/MacOSX14.0.sdk/System")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel 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)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel 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)
+54
View File
@@ -0,0 +1,54 @@
#ifndef _REFUEL_COMMON_H_
#define _REFUEL_COMMON_H_
#include "stdlib.h"
#include "stdio.h"
#if __GNUC__ || _MSC_VER
#define __REFUEL_FUNCTION__ __FUNCTION__
#else
#define __REFUEL_FUNCTION__ NULL
#endif
#if WIN32 || _MSC_VER > 0 || __MINGW__
#define RFEXTERN __declspec(dllexport)
#else
#define RFEXTERN
#endif
/**
* @brief Callback for failed assert function for QUIK redist libraries.
* @param[in] expr The expression that failed.
* @param[in] file The failing file (if available)
* @param[in] line The failing line number (if available)
* @param[in] func The failing function (if available)
*/
typedef void (*rf_failed_assert_cb_t)(const char *expr, const char *file, int line, const char* func);
#define DECLARE_ASSERT_CB(NAME) \
RFEXTERN rf_failed_assert_cb_t NAME##_failed_assert
#define DECLARE_ASSERT_STORE(NAME) \
RFEXTERN void NAME##_failed_assert_store(rf_failed_assert_cb_t cb)
#define DEFINE_ASSERT_CB(NAME) \
rf_failed_assert_cb_t NAME##_failed_assert
#define DEFINE_ASSERT_STORE(NAME) \
void NAME##_failed_assert_store(rf_failed_assert_cb_t cb) { \
NAME##_failed_assert = cb != NULL ? cb : rf_default_assert; \
}
#define REFUEL_DECLARE_LIB(NAME) \
DECLARE_ASSERT_CB(NAME); \
DECLARE_ASSERT_STORE(NAME);
#define REFUEL_DEFINE_LIB(NAME) \
DEFINE_ASSERT_CB(NAME); \
DEFINE_ASSERT_STORE(NAME);
inline static void rf_default_assert(const char *expr, const char *file, int line, const char *function)
{
fprintf(stderr, "Assert failed at %s:%d in %s()\n %s", file, line, function, expr);
abort();
}
#endif
+1
View File
@@ -0,0 +1 @@
*.sh text eof=lf
+2 -3
View File
@@ -1,5 +1,4 @@
source $HOME/src/sh/init.sh echo ReFuel Project - Copyright \(C\) 2023
echo QUIK Project Copyright \(C\) 2023
echo echo
echo This is an interactive shell for QUIK build image. echo This is an interactive shell for ReFuel build image.
echo SuperUser \(su/sudo\) commands are enabled without a password. Beware. echo SuperUser \(su/sudo\) commands are enabled without a password. Beware.
+57
View File
@@ -0,0 +1,57 @@
#!/bin/bash
# $1 Source path of the project.
# $2 Target architecture list.
# DST is the destination directory.
# NOINSTALL = 1 to skip installing.
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 osx-arm64 osx-x64"
fi
if [ -z "$DST" ]
then
DST=$PWD
fi
if [ -z "$CMAKE_DIR"]
then
CMAKE_DIR="$SRC/docker-cross-compiler/cmake"
fi
for ARCH in $ARCHS; do
# Output directory.
PREFIX=$DST/runtimes/$ARCH/native
# Build directory.
BUILD=$DST/out/$ARCH
# Cmake toolchain file.
TOOLCHAIN=$CMAKE_DIR/$ARCH.cmake
# Create directories.
mkdir -p $PREFIX $BUILD
# Configure CMAKE.
cmake -B $BUILD -S $SRC \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN \
$REFUEL_ADDITIONAL_CMAKE
# Build and install.
ninja -C $BUILD all
if [ ! $NOINSTALL ]
then
ninja -C $BUILD install
fi
done
+30
View File
@@ -0,0 +1,30 @@
#!/bin/bash
if [-z "$1"]
then
$1 = $(dirname "$0")
fi
if [ -z "$NUGET_API_KEY" ]
then
echo "Please define NUGET_API_KEY"
exit 1
fi
if [ -z "$NUGET_USER_NAME" ]
then
echo "Please define NUGET_USER_NAME"
exit 1
fi
if [ -z "$NUGET_INDEX" ]
then
echo "Please define NUGET_INDEX"
exit 1
fi
cd $1
dotnet nuget add source \
-n ReFuel -u "$NUGET_USER_NAME" -p "$NUGET_API_KEY" \
--store-password-in-clear-text \
"$NUGET_INDEX"
dotnet nuget push -s ReFuel bin/*/*.nupkg