1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-07-19 01:13:50 +02:00
This commit is contained in:
Anthony Scemama 2021-05-12 13:33:14 +02:00
parent 1516f06e03
commit ea8804ae19
2 changed files with 24 additions and 100 deletions

View File

@ -1,90 +0,0 @@
on: [push, pull_request]
jobs:
build_job:
runs-on: ubuntu-latest
name: Build on ${{ matrix.distro }} ${{ matrix.arch }}
# Run steps on a matrix of arch/distro combinations
strategy:
matrix:
include:
- arch: armv7
distro: jessie
- arch: aarch64
distro: ubuntu18.04
- arch: ppc64le
distro: alpine_latest
- arch: s390x
distro: fedora_latest
steps:
- uses: actions/checkout@v2
- uses: uraimo/run-on-arch-action@v2.0.5
name: Build artifact
id: build
with:
arch: ${{ matrix.arch }}
distro: ${{ matrix.distro }}
# Not required, but speeds up builds
githubToken: ${{ github.token }}
# Create an artifacts directory
setup: |
mkdir -p "${PWD}/artifacts"
# Mount the artifacts directory as /artifacts in the container
dockerRunArgs: |
--volume "${PWD}/artifacts:/artifacts"
# Pass some environment variables to the container
env: | # YAML, but pipe character is necessary
artifact_name: log-${{ matrix.distro }}_${{ matrix.arch }}
# The shell to run commands with in the container
shell: /bin/sh
# Install some dependencies in the container. This speeds up builds if
# you are also using githubToken. Any dependencies installed here will
# be part of the container image that gets cached, so subsequent
# builds don't have to re-install them. The image layer is cached
# publicly in your project's package repository, so it is vital that
# no secrets are present in the container state or logs.
install: |
case "${{ matrix.distro }}" in
ubuntu*|jessie|stretch|buster)
apt-get update -q -y
apt-get install -q -y emacs
apt-get install -q -y autoconf
;;
fedora*)
dnf -y update
dnf -y install emacs
dnf -y install autoconf
;;
alpine*)
apk update
apk add emacs
apk add autoconf
;;
esac
# Produce a binary artifact and place it in the mounted volume
run: |
./autogen.sh
QMCKL_DEVEL=1 ./configure --enable-silent-rules --enable-maintainer-mode --enable-debug
cp config.log "/artifacts/${artifact_name}"
echo "Produced artifact at /artifacts/${artifact_name}"
make -j 8
make check
make distcheck
- name: Show the artifact
# Items placed in /artifacts in the container will be in
# ${PWD}/artifacts on the host.
run: |
ls -al "${PWD}/artifacts"

View File

@ -16,13 +16,27 @@ jobs:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: install dependencies - name: install dependencies
run: sudo apt-get install emacs autoconf run: sudo apt-get install emacs autoconf
- name: ./autogen.sh - name: |
run: ./autogen.sh ./autogen.sh
- name: ./configure QMCKL_DEVEL=1 ./configure --enable-silent-rules --enable-maintainer-mode --enable-debug
run: QMCKL_DEVEL=1 ./configure --enable-silent-rules --enable-maintainer-mode --enable-debug make -j 8
- name: make make -j check
run: make -j 8 make distcheck
- name: make check
run: make -j check x86_macos:
- name: make distcheck
run: make distcheck runs-on: macos-latest
name: x86 MacOS latest
steps:
- uses: actions/checkout@v2
- name: install dependencies
run: |
brew install emacs
brew install autoconf automake libtool
- name: |
./autogen.sh
QMCKL_DEVEL=1 ./configure --enable-silent-rules --enable-maintainer-mode --enable-debug
make -j 8
make -j check
make distcheck