Compare commits
20 Commits
bf13fd0baa
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| a2b239fccd | |||
| 4fbab83a20 | |||
| fe8f57e455 | |||
| 2aff0d6dbd | |||
| b8f556a330 | |||
| 2a6729e36d | |||
| 461704f325 | |||
| 3eb6650e0a | |||
| bd264eface | |||
| 34a4573127 | |||
| 6d7dac7d9f | |||
| 942c081cfc | |||
| 46630021ee | |||
| 733547a10a | |||
| 88259874a3 | |||
| f8e8a254af | |||
| b5722bb7ca | |||
| 7d243313b2 | |||
| 2becd8eb36 | |||
| 05eef93946 |
62
.gitea/workflows/build.yaml
Normal file
62
.gitea/workflows/build.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
name: Build Linux Containers
|
||||
run-name: ${{ gitea.actor }} is building the global containers 🚀
|
||||
on: [push]
|
||||
|
||||
env:
|
||||
GITEA_DOMAIN: git.tesses.org
|
||||
GITEA_REGISTRY_USER: tesses50
|
||||
RESULT_MINGW_IMAGE_NAME: tesses50/global-containers-mingw
|
||||
|
||||
jobs:
|
||||
build-and-push-mingw-image:
|
||||
runs-on: fw13-ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Log in to registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.GITEA_DOMAIN }}
|
||||
username: ${{ env.GITEA_REGISTRY_USER }}
|
||||
password: ${{ secrets.PACKAGE_AND_BREW }}
|
||||
- name: Publish mingw image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile.mingw
|
||||
push: true
|
||||
tags: ${{ env.GITEA_DOMAIN }}/${{ env.RESULT_MINGW_IMAGE_NAME }}:latest
|
||||
build-and-push-linux-image:
|
||||
# The 'container' tag replaces the runner OS; the job runs INSIDE this image
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
include:
|
||||
- imageName: linux-x64
|
||||
- imageName: linux-x86
|
||||
- imageName: linux-arm64
|
||||
- imageName: linux-arm
|
||||
- imageName: linux-ppc
|
||||
- imageName: linux-riscv64
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Log in to registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.GITEA_DOMAIN }}
|
||||
username: ${{ env.GITEA_REGISTRY_USER }}
|
||||
password: ${{ secrets.PACKAGE_AND_BREW }}
|
||||
- name: Publish linux image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: ./containers/${{ matrix.imageName }}
|
||||
file: ./containers/${{ matrix.imageName }}/Dockerfile
|
||||
push: true
|
||||
tags: ${{ env.GITEA_DOMAIN }}/tesses50/${{ matrix.imageName }}:latest
|
||||
@@ -1,30 +0,0 @@
|
||||
name: Build Global Containers
|
||||
run-name: ${{ gitea.actor }} is building the global containers 🚀
|
||||
on: [push]
|
||||
|
||||
env:
|
||||
GITEA_DOMAIN: git.tesses.org
|
||||
GITEA_REGISTRY_USER: tesses50
|
||||
RESULT_MINGW_IMAGE_NAME: tesses50/global-containers/mingw
|
||||
|
||||
jobs:
|
||||
build-and-push-image:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Log in to registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.GITEA_DOMAIN }}
|
||||
username: ${{ env.GITEA_REGISTRY_USER }}
|
||||
password: ${{ secrets.PACKAGE_AND_BREW }}
|
||||
- name: Build and push image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile.mingw
|
||||
push: true
|
||||
tags: ${{ env.GITEA_DOMAIN }}/${{ env.RESULT_MINGW_IMAGE_NAME }}:latest
|
||||
@@ -2,4 +2,4 @@ FROM docker.gitea.com/runner-images:ubuntu-24.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get -y update && apt-get -y install build-essential make ninja-build cmake git mingw-w64 wget curl
|
||||
RUN apt-get -y update && apt-get -y install build-essential make ninja-build cmake git mingw-w64 wget curl zip tar gzip nsis
|
||||
18
containers/linux-arm/Dockerfile
Normal file
18
containers/linux-arm/Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
||||
FROM docker.gitea.com/runner-images:ubuntu-24.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get -y update && apt-get -y install wget curl cmake ninja-build make tar gzip
|
||||
|
||||
RUN mkdir nfpm && cd nfpm && wget "https://github.com/goreleaser/nfpm/releases/download/v2.46.3/nfpm_2.46.3_Linux_x86_64.tar.gz" && tar xf nfpm_2.46.3_Linux_x86_64.tar.gz && mv nfpm /usr/local/bin/ && cd .. && rm -rf nfpm
|
||||
|
||||
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
|
||||
RUN mkdir -p /opt/cross && wget https://downloads.tesses.net/cache/my-compilers/arm-unknown-linux-gnueabi.tar.gz && tar -C /opt/cross -xzf arm-unknown-linux-gnueabi.tar.gz && rm arm-unknown-linux-gnueabi.tar.gz
|
||||
|
||||
RUN mkdir -p /opt/cross/staging
|
||||
|
||||
COPY --chmod=755 cmake-cross /usr/local/bin/cmake-cross
|
||||
COPY toolchain.cmake /opt/cross/toolchain.cmake
|
||||
2
containers/linux-arm/cmake-cross
Normal file
2
containers/linux-arm/cmake-cross
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
exec cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=/opt/cross/toolchain.cmake "$@"
|
||||
11
containers/linux-arm/toolchain.cmake
Normal file
11
containers/linux-arm/toolchain.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(CMAKE_C_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/arm-unknown-linux-gnueabi-gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/arm-unknown-linux-gnueabi-g++)
|
||||
set(CMAKE_SYSROOT ${CMAKE_CURRENT_LIST_DIR}/arm-unknown-linux-gnueabi/sysroot)
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_CURRENT_LIST_DIR}/staging)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
17
containers/linux-arm64/Dockerfile
Normal file
17
containers/linux-arm64/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
||||
FROM docker.gitea.com/runner-images:ubuntu-24.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get -y update && apt-get -y install wget curl cmake ninja-build make tar gzip
|
||||
|
||||
RUN mkdir nfpm && cd nfpm && wget "https://github.com/goreleaser/nfpm/releases/download/v2.46.3/nfpm_2.46.3_Linux_x86_64.tar.gz" && tar xf nfpm_2.46.3_Linux_x86_64.tar.gz && mv nfpm /usr/local/bin/ && cd .. && rm -rf nfpm
|
||||
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
|
||||
RUN mkdir -p /opt/cross && wget https://downloads.tesses.net/cache/my-compilers/aarch64-unknown-linux-gnu.tar.gz && tar -C /opt/cross -xzf aarch64-unknown-linux-gnu.tar.gz && rm aarch64-unknown-linux-gnu.tar.gz
|
||||
|
||||
RUN mkdir -p /opt/cross/staging
|
||||
|
||||
COPY --chmod=755 cmake-cross /usr/local/bin/cmake-cross
|
||||
COPY toolchain.cmake /opt/cross/toolchain.cmake
|
||||
2
containers/linux-arm64/cmake-cross
Normal file
2
containers/linux-arm64/cmake-cross
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
exec cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=/opt/cross/toolchain.cmake "$@"
|
||||
11
containers/linux-arm64/toolchain.cmake
Normal file
11
containers/linux-arm64/toolchain.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
||||
|
||||
set(CMAKE_C_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/aarch64-unknown-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/aarch64-unknown-linux-gnu-g++)
|
||||
set(CMAKE_SYSROOT ${CMAKE_CURRENT_LIST_DIR}/aarch64-unknown-linux-gnu/sysroot)
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_CURRENT_LIST_DIR}/staging)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
15
containers/linux-ppc/Dockerfile
Normal file
15
containers/linux-ppc/Dockerfile
Normal file
@@ -0,0 +1,15 @@
|
||||
FROM archlinux:latest
|
||||
|
||||
RUN pacman --noconfirm -Syu && pacman --noconfirm -Sy wget sudo arch-install-scripts git cmake make mbedtls ncurses rsync bison flex git gperf help2man lzip python unzip base-devel nodejs npm
|
||||
|
||||
RUN useradd -m build && \
|
||||
echo "build ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/build
|
||||
WORKDIR /root
|
||||
|
||||
|
||||
RUN mkdir -p /opt/cross && wget https://downloads.tesses.net/cache/my-compilers/powerpc-unknown-linux-gnu.tar.gz && tar -C /opt/cross -xzf powerpc-unknown-linux-gnu.tar.gz && rm powerpc-unknown-linux-gnu.tar.gz
|
||||
|
||||
RUN mkdir -p /opt/cross/staging
|
||||
|
||||
COPY --chmod=755 cmake-cross /usr/local/bin/cmake-cross
|
||||
COPY toolchain.cmake /opt/cross/toolchain.cmake
|
||||
2
containers/linux-ppc/cmake-cross
Normal file
2
containers/linux-ppc/cmake-cross
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
exec cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=/opt/cross/toolchain.cmake "$@"
|
||||
11
containers/linux-ppc/toolchain.cmake
Normal file
11
containers/linux-ppc/toolchain.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR powerpc)
|
||||
|
||||
set(CMAKE_C_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/powerpc-unknown-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/powerpc-unknown-linux-gnu-g++)
|
||||
set(CMAKE_SYSROOT ${CMAKE_CURRENT_LIST_DIR}/powerpc-unknown-linux-gnu/sysroot)
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_CURRENT_LIST_DIR}/staging)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
18
containers/linux-riscv64/Dockerfile
Normal file
18
containers/linux-riscv64/Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
||||
FROM docker.gitea.com/runner-images:ubuntu-24.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get -y update && apt-get -y install wget curl cmake ninja-build make tar gzip
|
||||
|
||||
RUN mkdir nfpm && cd nfpm && wget "https://github.com/goreleaser/nfpm/releases/download/v2.46.3/nfpm_2.46.3_Linux_x86_64.tar.gz" && tar xf nfpm_2.46.3_Linux_x86_64.tar.gz && mv nfpm /usr/local/bin/ && cd .. && rm -rf nfpm
|
||||
|
||||
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
|
||||
RUN mkdir -p /opt/cross && wget https://downloads.tesses.net/cache/my-compilers/riscv64-unknown-linux-gnu.tar.gz && tar -C /opt/cross -xzf riscv64-unknown-linux-gnu.tar.gz && rm riscv64-unknown-linux-gnu.tar.gz
|
||||
|
||||
RUN mkdir -p /opt/cross/staging
|
||||
|
||||
COPY --chmod=755 cmake-cross /usr/local/bin/cmake-cross
|
||||
COPY toolchain.cmake /opt/cross/toolchain.cmake
|
||||
2
containers/linux-riscv64/cmake-cross
Normal file
2
containers/linux-riscv64/cmake-cross
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
exec cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=/opt/cross/toolchain.cmake "$@"
|
||||
11
containers/linux-riscv64/toolchain.cmake
Normal file
11
containers/linux-riscv64/toolchain.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR riscv64)
|
||||
|
||||
set(CMAKE_C_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/riscv64-unknown-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/riscv64-unknown-linux-gnu-g++)
|
||||
set(CMAKE_SYSROOT ${CMAKE_CURRENT_LIST_DIR}/riscv64-unknown-linux-gnu/sysroot)
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_CURRENT_LIST_DIR}/staging)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
17
containers/linux-x64/Dockerfile
Normal file
17
containers/linux-x64/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
||||
FROM docker.gitea.com/runner-images:ubuntu-24.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get -y update && apt-get -y install wget curl cmake ninja-build make tar gzip
|
||||
|
||||
RUN mkdir nfpm && cd nfpm && wget "https://github.com/goreleaser/nfpm/releases/download/v2.46.3/nfpm_2.46.3_Linux_x86_64.tar.gz" && tar xf nfpm_2.46.3_Linux_x86_64.tar.gz && mv nfpm /usr/local/bin/ && cd .. && rm -rf nfpm
|
||||
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
|
||||
RUN mkdir -p /opt/cross && wget https://downloads.tesses.net/cache/my-compilers/x86_64-unknown-linux-gnu.tar.gz && tar -C /opt/cross -xzf x86_64-unknown-linux-gnu.tar.gz && rm x86_64-unknown-linux-gnu.tar.gz
|
||||
|
||||
RUN mkdir -p /opt/cross/staging
|
||||
|
||||
COPY --chmod=755 cmake-cross /usr/local/bin/cmake-cross
|
||||
COPY toolchain.cmake /opt/cross/toolchain.cmake
|
||||
2
containers/linux-x64/cmake-cross
Normal file
2
containers/linux-x64/cmake-cross
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
exec cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=/opt/cross/toolchain.cmake "$@"
|
||||
11
containers/linux-x64/toolchain.cmake
Normal file
11
containers/linux-x64/toolchain.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
set(CMAKE_C_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/x86_64-unknown-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/x86_64-unknown-linux-gnu-g++)
|
||||
set(CMAKE_SYSROOT ${CMAKE_CURRENT_LIST_DIR}/x86_64-unknown-linux-gnu/sysroot)
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_CURRENT_LIST_DIR}/staging)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
17
containers/linux-x86/Dockerfile
Normal file
17
containers/linux-x86/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
||||
FROM docker.gitea.com/runner-images:ubuntu-24.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get -y update && apt-get -y install wget curl cmake ninja-build make tar gzip
|
||||
|
||||
RUN mkdir nfpm && cd nfpm && wget "https://github.com/goreleaser/nfpm/releases/download/v2.46.3/nfpm_2.46.3_Linux_x86_64.tar.gz" && tar xf nfpm_2.46.3_Linux_x86_64.tar.gz && mv nfpm /usr/local/bin/ && cd .. && rm -rf nfpm
|
||||
|
||||
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
|
||||
RUN mkdir -p /opt/cross && wget https://downloads.tesses.net/cache/my-compilers/i686-unknown-linux-gnu.tar.gz && tar -C /opt/cross -xzf i686-unknown-linux-gnu.tar.gz && rm i686-unknown-linux-gnu.tar.gz
|
||||
RUN mkdir -p /opt/cross/staging
|
||||
|
||||
COPY --chmod=755 cmake-cross /usr/local/bin/cmake-cross
|
||||
COPY toolchain.cmake /opt/cross/toolchain.cmake
|
||||
2
containers/linux-x86/cmake-cross
Normal file
2
containers/linux-x86/cmake-cross
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
exec cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=/opt/cross/toolchain.cmake "$@"
|
||||
11
containers/linux-x86/toolchain.cmake
Normal file
11
containers/linux-x86/toolchain.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR i686)
|
||||
|
||||
set(CMAKE_C_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/i686-unknown-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CMAKE_CURRENT_LIST_DIR}/bin/i686-unknown-linux-gnu-g++)
|
||||
set(CMAKE_SYSROOT ${CMAKE_CURRENT_LIST_DIR}/i686-unknown-linux-gnu/sysroot)
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_CURRENT_LIST_DIR}/staging)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
Reference in New Issue
Block a user