Try cross-compiling to arm in jenkins
Some checks failed
Tests / Release [gcc] total: 704, passed: 704
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/51//gcc">weaselab » conflict-set » main #51</a>
Tests / Release [gcc,aarch64] total: 704, failed: 3, passed: 701
weaselab/conflict-set/pipeline/head There was a failure building this commit

This commit is contained in:
2024-03-04 22:58:04 -08:00
parent b68e04ba80
commit 16aa52c071
3 changed files with 25 additions and 1 deletions

View File

@@ -84,7 +84,7 @@ RUN curl -Ls https://github.com/google/bloaty/releases/download/v1.1/bloaty-1.1.
RUN apt-get update RUN apt-get update
RUN apt-get upgrade -y RUN apt-get upgrade -y
RUN TZ=America/Los_Angeles DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-full RUN TZ=America/Los_Angeles DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-full
RUN TZ=America/Los_Angeles DEBIAN_FRONTEND=noninteractive apt-get install -y rpm RUN TZ=America/Los_Angeles DEBIAN_FRONTEND=noninteractive apt-get install -y rpm qemu-user g++-aarch64-linux-gnu
# Try to have all the pre-commit hooks we'll need already initialized # Try to have all the pre-commit hooks we'll need already initialized
COPY .pre-commit-config.yaml /tmp/ COPY .pre-commit-config.yaml /tmp/

17
Jenkinsfile vendored
View File

@@ -60,6 +60,23 @@ pipeline {
minio bucket: 'jenkins', credentialsId: 'jenkins-minio', excludes: '', host: 'minio.weaselab.dev', includes: 'build/*.deb,build/*.rpm,paper/*.pdf', targetFolder: '${JOB_NAME}/${BUILD_NUMBER}/${STAGE_NAME}/' minio bucket: 'jenkins', credentialsId: 'jenkins-minio', excludes: '', host: 'minio.weaselab.dev', includes: 'build/*.deb,build/*.rpm,paper/*.pdf', targetFolder: '${JOB_NAME}/${BUILD_NUMBER}/${STAGE_NAME}/'
} }
} }
stage('Release [gcc,aarch64]') {
agent {
dockerfile {
args '-v /home/jenkins/ccache:/ccache'
reuseNode true
}
}
steps {
CleanBuildAndTest("-DCMAKE_TOOLCHAIN_FILE=../aarch64-toolchain.cmake")
sh '''
cd build
cpack -G DEB
cpack -G RPM
'''
minio bucket: 'jenkins', credentialsId: 'jenkins-minio', excludes: '', host: 'minio.weaselab.dev', includes: 'build/*.deb,build/*.rpm', targetFolder: '${JOB_NAME}/${BUILD_NUMBER}/${STAGE_NAME}'
}
}
stage('Coverage') { stage('Coverage') {
agent { agent {
dockerfile { dockerfile {

7
aarch64-toolchain.cmake Normal file
View File

@@ -0,0 +1,7 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++")
set(CMAKE_FIND_ROOT_PATH /usr/aarch64-linux-gnu)
set(CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64;-L;/usr/aarch64-linux-gnu/")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE arm64)