This repository has been archived by the owner on Nov 21, 2024. It is now read-only.
experiment buildarmappimage64-bookworm #731
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Containers | |
on: | |
push: | |
branches: | |
main | |
pull_request: | |
workflow_call: | |
inputs: | |
submodule-refs: | |
type: string | |
default: "[]" | |
mcpelauncher-repo: | |
type: string | |
default: https://github.com/minecraft-linux/mcpelauncher-manifest | |
mcpelauncher-ref: | |
type: string | |
default: ${{ github.repository == 'minecraft-linux/mcpelauncher-manifest' && (github.sha || github.ref) || 'ng' }} | |
mcpelauncher-ui-repo: | |
type: string | |
default: https://github.com/minecraft-linux/mcpelauncher-ui-manifest | |
mcpelauncher-ui-ref: | |
type: string | |
default: ${{ github.repository == 'minecraft-linux/mcpelauncher-ui-manifest' && (github.sha || github.ref) || 'ng' }} | |
msa-repo: | |
type: string | |
default: https://github.com/minecraft-linux/msa-manifest | |
msa-ref: | |
type: string | |
default: ${{ github.repository == 'minecraft-linux/msa-manifest' && (github.sha || github.ref) || 'master' }} | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
buildarmappimage64-bookworm: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: ChristopherHX/oidc@f8f35d97bc37ffbe779bb3ab8453920fedf6fb37 | |
id: oidc | |
continue-on-error: true | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ steps.oidc.outputs.job_workflow_repo_name_and_owner || inputs.submodule-refs && 'minecraft-linux/appimage-builder' || github.repository }} | |
ref: ${{ steps.oidc.outputs.job_workflow_repo_ref || inputs.submodule-refs && 'main' || github.sha || github.ref }} | |
- name: Sync Submodule Sources | |
if: ${{ inputs.submodule-refs }} | |
uses: actions/github-script@v6 | |
with: | |
github-token: none | |
script: | | |
var downloadRepo = async function(path, repo, ref) { | |
await io.mkdirP(path); | |
await exec.exec("git", ["init"], { cwd: path }); | |
await exec.exec("git", ["remote", "add", "origin", repo], { cwd: path }); | |
await exec.exec("git", ["fetch", "origin", ref], { cwd: path }); | |
await exec.exec("git", ["reset", "--hard", "FETCH_HEAD"], { cwd: path }); | |
await exec.exec("git", ["submodule", "update", "--init", "--recursive"], { cwd: path }); | |
}; | |
await downloadRepo("source/mcpelauncher", process.env.MCPELAUNCHER_REPO, "qt6"); | |
await downloadRepo("source/mcpelauncher-ui", process.env.MCPELAUNCHER_UI_REPO, "qt6"); | |
await downloadRepo("source/msa", process.env.MSA_REPO, process.env.MSA_REF); | |
var submoduleRefs = JSON.parse(process.env.SUBMODULEREFS); | |
for(var submoduleRef of submoduleRefs) { | |
await exec.exec("git", ["fetch", submoduleRef.origin || "origin", submoduleRef.ref], { cwd: `source/${submoduleRef.project}/${submoduleRef.path}` }); | |
await exec.exec("git", ["checkout", "FETCH_HEAD"], { cwd: `source/${submoduleRef.project}/${submoduleRef.path}` }); | |
} | |
env: | |
SUBMODULEREFS: ${{ inputs.submodule-refs }} | |
MCPELAUNCHER_REPO: ${{ inputs.mcpelauncher-repo }} | |
MCPELAUNCHER_REF: ${{ inputs.mcpelauncher-ref }} | |
MCPELAUNCHER_UI_REPO: ${{ inputs.mcpelauncher-ui-repo }} | |
MCPELAUNCHER_UI_REF: ${{ inputs.mcpelauncher-ui-ref }} | |
MSA_REPO: ${{ inputs.msa-repo }} | |
MSA_REF: ${{ inputs.msa-ref }} | |
- name: Build | |
run: | | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
docker pull buildpack-deps:bookworm | |
curl -L https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2-Linux-x86_64.tar.gz --output cmake.tar.gz | |
tar --no-same-owner -xf cmake.tar.gz | |
curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz --output llvm.tar.xz | |
tar --no-same-owner -xf llvm.tar.xz | |
docker run -e GITHUB_RUN_NUMBER=${GITHUB_RUN_NUMBER} -v $PWD/ldd:/usr/bin/ldd -v $PWD:$PWD -w $PWD --rm buildpack-deps:bookworm bash -c "dpkg --add-architecture arm64 && dpkg --add-architecture armhf && apt update && DEBIAN_FRONTEND=noninteractive apt install -y qmake6:arm64 qt6-wayland:arm64 libfuse-dev:arm64 wget texinfo apt-transport-https vim-common qemu-user clang chrpath libstdc++-*-dev:arm64 libstdc++-*-dev:armhf libatomic1:armhf libatomic1:arm64 wget cmake g++-arm-linux-gnueabihf g++-aarch64-linux-gnu patchelf libpng-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxinerama-dev:armhf libxi-dev:armhf libxrandr-dev:armhf libcurl4-openssl-dev:armhf libudev-dev:armhf libevdev-dev:armhf libegl1-mesa-dev:armhf libasound2:armhf git cmake pkg-config libssl-dev:arm64 libcurl4-openssl-dev:arm64 libpng-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxinerama-dev:arm64 libxi-dev:arm64 libxrandr-dev:arm64 libssl-dev:arm64 libudev-dev:arm64 libevdev-dev:arm64 libegl1-mesa-dev:arm64 libgl1-mesa-dev:arm64 libssl-dev:arm64 libuv1-dev:arm64 libzip-dev:arm64 libprotobuf-dev:arm64 protobuf-compiler jq curl binutils desktop-file-utils squashfs-tools qtdeclarative5-dev-tools:arm64 libssl-dev:arm64 libpulse-dev:arm64 libssl-dev:armhf libpulse-dev:armhf qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-webengine-dev-tools:arm64 qt6-declarative-dev:arm64 qml6-module-qtquick:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-window:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 qml6-module-qtwebengine:arm64 qt6-base-dev:arm64 libqt6opengl6-dev:arm64 qt6-webengine-dev:arm64 qt6-declarative-dev:arm64 libqt6svg6-dev:arm64 qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-controls:arm64 qml6-module-qtquick-dialogs:arm64 qml6-module-qt-labs-settings:arm64 qml6-module-qt-labs-folderlistmodel:arm64 qml6-module-qt-labs-platform:arm64 qml6-module-qtquick-shapes:arm64 qml6-module-qtqml:arm64 qml6-module-qtqml-workerscript:arm64 'qml6-module-*:arm64' && QMAKE=/usr/bin/aarch64-linux-gnu-qmake6 PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/ PATH=/usr/lib/aarch64-linux-gnu/qt6/bin/:$PWD/cmake-3.16.2-Linux-x86_64/bin:$PWD/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04/bin:$PATH LD_LIBRARY_PATH=${PWD}/build/AppDir/usr/lib NO_STRIP=1 CC=clang CXX=clang++ CFLAGS32="-lstdc++fs" CFLAGS="-lstdc++fs" ./build_appimage.sh -m -t arm64 -j4 -k 'zsync|https://github.com/minecraft-linux/appimage-builder/releases/download/ng.appimage/version.arm_aarch64_bookworm.zsync' -i ${GITHUB_RUN_NUMBER}${{ inputs.submodule-refs && ' -s' || '' }}" | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: arm64appimagebookworm | |
path: output/ |