-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
name: Test package on s390x | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- s390x | ||
workflow_dispatch: | ||
|
||
env: | ||
PKG: 'rhdf5' | ||
|
||
jobs: | ||
install-depdendencies: | ||
name: Install package dependencies | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
with: | ||
platforms: s390x | ||
|
||
- name: Make R library | ||
run: mkdir -p ${RUNNER_TEMP}/R-lib | ||
|
||
- name: Cache Dependencies | ||
id: cache-deps | ||
uses: actions/cache@v4 | ||
with: | ||
path: ${{ runner.temp }}/R-lib | ||
key: R_lib-s390x-${{ hashFiles('**/DESCRIPTION') }} | ||
restore-keys: | | ||
R_lib-s390x-${{ hashFiles('**/DESCRIPTION') }} | ||
R_lib-s390x- | ||
- name: Run the build process with Docker | ||
uses: addnab/docker-run-action@v3 | ||
with: | ||
image: s390x/r-base:latest | ||
options: | | ||
--platform linux/arm64 | ||
-v ${{ runner.temp }}/R-lib:/R-lib | ||
-v ${{ github.workspace }}/../:/build | ||
--env R_LIBS_USER=/R-lib | ||
--env PKG=${{ env.PKG }} | ||
run: | | ||
uname -a | ||
echo "options(Ncpus=4L, timeout = 300)" >> ~/.Rprofile | ||
Rscript -e "library(remotes)" -e "dev_package_deps('/build/${PKG}', dependencies = TRUE) |> update(upgrade = 'always')" | ||
check-s390x: | ||
name: Test package on s390x | ||
runs-on: ubuntu-22.04 | ||
needs: install-depdendencies | ||
steps: | ||
|
||
- name: checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Make R library | ||
run: mkdir -p ${RUNNER_TEMP}/R-lib | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
with: | ||
platforms: s390x | ||
This comment has been minimized.
Sorry, something went wrong. |
||
|
||
- name: Cache Dependencies | ||
id: cache-deps | ||
uses: actions/cache@v4 | ||
with: | ||
path: ${{ runner.temp }}/R-lib | ||
key: R_lib-s390x-${{ hashFiles('**/DESCRIPTION') }} | ||
restore-keys: | | ||
R_lib-s390x-${{ hashFiles('**/DESCRIPTION') }} | ||
R_lib-s390x- | ||
- name: R CMD INSTALL | ||
uses: addnab/docker-run-action@v3 | ||
with: | ||
image: s390x/r-base:latest | ||
options: | | ||
--platform linux/s390x | ||
-v ${{ runner.temp }}/R-lib:/R-lib | ||
-v ${{ github.workspace }}/../:/build | ||
--env R_LIBS_USER=/R-lib | ||
--env PKG=${{ env.PKG }} | ||
--workdir /build | ||
run: | | ||
ls -l | ||
R CMD INSTALL ${PKG} &> ${PKG}.install-out.txt | ||
ls -l | ||
shell: bash | ||
|
||
- name: R CMD build | ||
uses: addnab/docker-run-action@v3 | ||
with: | ||
image: s390x/r-base:latest | ||
options: | | ||
--platform linux/s390x | ||
-v ${{ runner.temp }}/R-lib:/R-lib | ||
-v ${{ github.workspace }}/../:/build | ||
--env R_LIBS_USER=/R-lib | ||
--env PKG=${{ env.PKG }} | ||
--workdir /build | ||
run: | | ||
ls -l "${R_LIBS_USER}" | ||
R CMD build --keep-empty-dirs --no-resave-data ${PKG} | ||
ls -l | ||
- name: R CMD check | ||
uses: addnab/docker-run-action@v3 | ||
with: | ||
image: s390x/r-base:latest4 | ||
This comment has been minimized.
Sorry, something went wrong.
mr-c
|
||
options: | | ||
--platform linux/s390x | ||
-v ${{ runner.temp }}/R-lib:/R-lib | ||
-v ${{ github.workspace }}/../:/build | ||
--env R_LIBS_USER=/R-lib | ||
--env PKG=${{ env.PKG }} | ||
--workdir /build | ||
run: | | ||
ls -l | ||
R CMD check --install=check:${PKG}.install-out.txt --library="${R_LIBS_USER}" --no-vignettes --timings ${PKG}*.tar.gz | ||
cat ${PKG}.install-out.txt | ||
ls -l | ||
- name: Build Package Binary | ||
uses: addnab/docker-run-action@v3 | ||
with: | ||
image: s390x/r-base:latest | ||
options: | | ||
--platform linux/s390x | ||
-v ${{ runner.temp }}/R-lib:/R-lib | ||
-v ${{ github.workspace }}/../:/build | ||
--env R_LIBS_USER=/R-lib | ||
--env PKG=${{ env.PKG }} | ||
--workdir /build | ||
run: | | ||
mkdir -p ${PKG}.buildbin-libdir | ||
R CMD INSTALL --build --library=${PKG}.buildbin-libdir ${PKG}*.tar.gz | ||
ls -l | ||
- uses: actions/upload-artifact@v4 | ||
if: always() | ||
with: | ||
name: my-artifact | ||
path: | | ||
~/**/*.tar.gz | ||
~/**/*.install-out.txt | ||
~/**/*.Rcheck | ||
if-no-files-found: warn | ||
|
||
|
||
|
||
|
I see that https://github.com/docker/setup-qemu-action is using qemu version 7.0.0 by default; latest version is 9.1.0
Maybe try the following to get qemu 8.1.5 (source):