MapTableToParameters: document metadata stowing. #876
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
# This is a definition file for GitHub CI. | |
name: GitHub CI | |
on: | |
push: | |
branches: [ master ] | |
workflow_dispatch: | |
jobs: | |
static_checks_debian_stable_x86_64: | |
runs-on: ubuntu-latest | |
container: | |
image: debian:stable | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prep | |
run: | | |
cp -R . /dcma | |
- name: install_dependencies | |
run: | | |
export DEBIAN_FRONTEND="noninteractive" | |
apt-get update --yes | |
apt-get install --yes --no-install-recommends coreutils binutils findutils grep sed | |
- name: check_for_common_nonthreadsafe_nonreentrant_functions | |
run: | | |
./scripts/perform_static_checks.sh | |
build_cross_mxe_x86_64: | |
runs-on: ubuntu-latest | |
container: | |
image: "hdclark/dcma_build_base_mxe:latest" | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prep | |
run: | | |
cp -R ./docker/builders/mxe /scratch | |
cp -R . /dcma | |
./scripts/enable_swapfile.sh | |
- name: build | |
run: | | |
( ( while true ; do sleep 225 ; printf '\n\n' ; df -h ; printf '\n\n' ; free || true ; printf '\n\n' ; done ) &) | |
./docker/builders/mxe/implementation_mxe.sh | |
rsync -avP /out/ ./Windows/ | |
strip ./Windows/usr/bin/*exe | |
strip ./Windows/usr/lib/*a | |
( cd ./Windows/usr/bin/ && mv opengl32.dll opengl32_disabled.dll ) || true | |
git config --global --add safe.directory '*' || true | |
- name: test | |
run: | | |
export DEBIAN_FRONTEND='noninteractive' | |
sed -i -e 's@stable@bullseye@g' /etc/apt/sources.list | |
apt-get update --yes | |
apt-get install --yes --no-install-recommends git ca-certificates rsync mesa-utils | |
dpkg --add-architecture i386 | |
apt-get update --yes | |
apt-get install --yes wine32 wine64 | |
mkdir -pv wine-conf-dir | |
chown "$(id -u)":"$(id -g)" wine-conf-dir | |
export WINEPREFIX="$(pwd)/wine-conf-dir/.wine-prefix" | |
find ./Windows/usr/bin/ -type f -exec chmod 777 '{}' \; | |
rsync -a ./Windows/ /opt/ | |
echo '#!/bin/bash' > /usr/bin/dicomautomaton_dispatcher | |
echo 'exec wine /opt/usr/bin/dicomautomaton_dispatcher.exe "$@"' >> /usr/bin/dicomautomaton_dispatcher | |
chmod 777 /usr/bin/dicomautomaton_dispatcher | |
dicomautomaton_dispatcher -h | |
./integration_tests/Run.sh -v | |
- name: create_zip | |
run: | | |
export short_sha="$(git rev-parse --short HEAD || printf 'unknown')" | |
export DEBIAN_FRONTEND="noninteractive" | |
apt-get update --yes | |
apt-get install --yes --no-install-recommends coreutils binutils findutils rsync openssh-client patchelf zip | |
rm -rf ci_artifacts | |
mkdir -pv ci_artifacts | |
( cd ./Windows/ && zip -r ../ci_artifacts/DICOMautomaton-latest-x86_64.zip . ) | |
cp ci_artifacts/DICOMautomaton-latest-x86_64.zip "ci_artifacts/DICOMautomaton-${short_sha}-x86_64.zip" | |
find ci_artifacts/ -iname '*.zip' -print -execdir bash -c 'sha256sum "$@" > "$@".sha256sum' bash '{}' \; | |
- name: deploy_to_github | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "DICOMautomaton-exes" | |
if-no-files-found: error | |
path: | | |
ci_artifacts/DICOMautomaton-latest-x86_64.zip | |
ci_artifacts/DICOMautomaton-latest-x86_64.zip.sha256sum | |
- name: deploy_to_halclark_ca | |
run: | | |
echo "${{secrets.HALCLARKCA_DEPLOY_KEY}}" > deploy_key | |
chmod 600 deploy_key | |
for i in `seq 1 20` ; do sleep 5 ; rsync -avP -e 'ssh -v -i deploy_key -o ServerAliveInterval=30 -o ServerAliveCountMax=5 -o StrictHostKeyChecking=no' ci_artifacts/ [email protected]:/var/www/html/ci/ && break ; done | |
build_debian_buster_x86_64: | |
runs-on: ubuntu-latest | |
container: | |
image: debian:buster | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prep | |
run: | | |
cp -R ./docker/builders/ci /scratch | |
cp -R . /dcma | |
./scripts/enable_swapfile.sh | |
- name: build | |
run: | | |
( ( while true ; do sleep 225 ; printf '\n\n' ; df -h ; printf '\n\n' ; free || true ; printf '\n\n' ; done ) &) | |
./docker/builders/ci/implementation_ci_debian_buster.sh | |
git config --global --add safe.directory '*' || true | |
- name: test | |
run: | | |
./integration_tests/Run.sh -v | |
- name: create_appimage | |
run: | | |
./scripts/extract_system_appimage.sh | |
export DEBIAN_FRONTEND="noninteractive" | |
apt-get update --yes | |
apt-get install --yes --no-install-recommends coreutils binutils findutils rsync openssh-client patchelf | |
rm -rf ci_artifacts | |
mkdir -pv ci_artifacts | |
cp DICOMautomaton*AppImage DICOMautomaton-latest-x86_64.AppImage | |
mv DICOMautomaton*AppImage ci_artifacts/ | |
find ci_artifacts/ -iname '*AppImage' -print -execdir bash -c 'sha256sum "$@" > "$@".sha256sum' bash '{}' \; | |
- name: deploy_to_github | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "DICOMautomaton-AppImage" | |
if-no-files-found: error | |
path: | | |
ci_artifacts/DICOMautomaton-latest-x86_64.AppImage | |
ci_artifacts/DICOMautomaton-latest-x86_64.AppImage.sha256sum | |
- name: deploy_to_halclark_ca | |
run: | | |
echo "${{secrets.HALCLARKCA_DEPLOY_KEY}}" > deploy_key | |
chmod 600 deploy_key | |
for i in `seq 1 20` ; do sleep 5 ; rsync -avP -e 'ssh -v -i deploy_key -o ServerAliveInterval=30 -o ServerAliveCountMax=5 -o StrictHostKeyChecking=no' ci_artifacts/ [email protected]:/var/www/html/ci/ && break ; done | |
build_debian_buster_aarch64: | |
runs-on: ubuntu-latest | |
container: | |
image: debian:buster | |
timeout-minutes: 360 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prep | |
run: | | |
cp -R ./docker/builders/ci /scratch | |
cp -R . /dcma | |
./scripts/enable_swapfile.sh | |
- name: build | |
run: | | |
( ( while true ; do sleep 225 ; printf '\n\n' ; df -h ; printf '\n\n' ; free || true ; printf '\n\n' ; done ) &) | |
./docker/build_bases/debian_buster/create_foreign_chroot.sh -d /debian_buster_aarch64 -s /run_in_chroot.sh -a arm64 | |
cp -R /scratch /debian_buster_aarch64/scratch | |
cp -R /dcma /debian_buster_aarch64/dcma | |
/run_in_chroot.sh 'cd /dcma && ./docker/builders/ci/implementation_ci_debian_buster.sh' | |
- name: test | |
run: | | |
/run_in_chroot.sh 'cd /dcma && ./integration_tests/Run.sh -v' | |
- name: create_appimage | |
run: | | |
/run_in_chroot.sh 'cd /dcma && ./scripts/extract_system_appimage.sh' | |
export DEBIAN_FRONTEND="noninteractive" | |
apt-get update --yes | |
apt-get install --yes --no-install-recommends coreutils binutils findutils rsync openssh-client patchelf | |
rm -rf ci_artifacts | |
mkdir -pv ci_artifacts | |
cp /debian_buster_aarch64/dcma/DICOMautomaton*AppImage ci_artifacts/DICOMautomaton-latest-aarch64.AppImage | |
mv /debian_buster_aarch64/dcma/DICOMautomaton*AppImage ci_artifacts/ | |
find ci_artifacts/ -iname '*AppImage' -print -execdir bash -c 'sha256sum "$@" > "$@".sha256sum' bash '{}' \; | |
- name: deploy_to_github | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "DICOMautomaton-AppImage" | |
if-no-files-found: error | |
path: | | |
ci_artifacts/DICOMautomaton-latest-aarch64.AppImage | |
ci_artifacts/DICOMautomaton-latest-aarch64.AppImage.sha256sum | |
- name: deploy_to_halclark_ca | |
run: | | |
echo "${{secrets.HALCLARKCA_DEPLOY_KEY}}" > deploy_key | |
chmod 600 deploy_key | |
for i in `seq 1 20` ; do sleep 5 ; rsync -avP -e 'ssh -v -i deploy_key -o ServerAliveInterval=30 -o ServerAliveCountMax=5 -o StrictHostKeyChecking=no' ci_artifacts/ [email protected]:/var/www/html/ci/ && break ; done | |
build_debian_buster_armhf: | |
runs-on: ubuntu-latest | |
container: | |
image: debian:buster | |
timeout-minutes: 360 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prep | |
run: | | |
cp -R ./docker/builders/ci /scratch | |
cp -R . /dcma | |
./scripts/enable_swapfile.sh | |
- name: build | |
run: | | |
( ( while true ; do sleep 225 ; printf '\n\n' ; df -h ; printf '\n\n' ; free || true ; printf '\n\n' ; done ) &) | |
./docker/build_bases/debian_buster/create_foreign_chroot.sh -d /debian_buster_armhf -s /run_in_chroot.sh -a armhf | |
cp -R /scratch /debian_buster_armhf/scratch | |
cp -R /dcma /debian_buster_armhf/dcma | |
/run_in_chroot.sh 'cd /dcma && ./docker/builders/ci/implementation_ci_debian_buster.sh' | |
- name: test | |
run: | | |
/run_in_chroot.sh 'cd /dcma && ./integration_tests/Run.sh -v' | |
- name: create_appimage | |
run: | | |
/run_in_chroot.sh 'cd /dcma && ./scripts/extract_system_appimage.sh' | |
export DEBIAN_FRONTEND="noninteractive" | |
apt-get update --yes | |
apt-get install --yes --no-install-recommends coreutils binutils findutils rsync openssh-client patchelf | |
rm -rf ci_artifacts | |
mkdir -pv ci_artifacts | |
cp /debian_buster_armhf/dcma/DICOMautomaton*AppImage ci_artifacts/DICOMautomaton-latest-armhf.AppImage | |
mv /debian_buster_armhf/dcma/DICOMautomaton*AppImage ci_artifacts/ | |
find ci_artifacts/ -iname '*AppImage' -print -execdir bash -c 'sha256sum "$@" > "$@".sha256sum' bash '{}' \; | |
- name: deploy_to_github | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "DICOMautomaton-AppImage" | |
if-no-files-found: error | |
path: | | |
ci_artifacts/DICOMautomaton-latest-armhf.AppImage | |
ci_artifacts/DICOMautomaton-latest-armhf.AppImage.sha256sum | |
- name: deploy_to_halclark_ca | |
run: | | |
echo "${{secrets.HALCLARKCA_DEPLOY_KEY}}" > deploy_key | |
chmod 600 deploy_key | |
for i in `seq 1 20` ; do sleep 5 ; rsync -avP -e 'ssh -v -i deploy_key -o ServerAliveInterval=30 -o ServerAliveCountMax=5 -o StrictHostKeyChecking=no' ci_artifacts/ [email protected]:/var/www/html/ci/ && break ; done | |
build_static_alpine_armv7: | |
runs-on: ubuntu-latest | |
timeout-minutes: 360 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prep | |
run: | | |
cp -R . ~/dcma | |
export DEBIAN_FRONTEND="noninteractive" | |
sudo apt-get update --yes | |
sudo apt-get install --yes --no-install-recommends coreutils binutils findutils rsync openssh-client patchelf qemu binfmt-support qemu-user-static | |
sudo ./docker/build_bases/alpine/setup_host.sh | |
sudo ./scripts/enable_swapfile.sh | |
- name: authenticate_with_dockerhub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: build | |
run: | | |
( ( while true ; do sleep 225 ; printf '\n\n' ; df -h ; printf '\n\n' ; free || true ; printf '\n\n' ; done ) &) | |
mkdir -pv ~/binaries/{bin,include,lib,share} | |
cd ~/dcma/ | |
sudo docker run \ | |
--privileged \ | |
--network=host \ | |
--platform=linux/arm/v7 \ | |
-v ~/dcma:/dcma:rw \ | |
-v ~/binaries:/usr/local:rw \ | |
-v ~/dcma/docker/build_bases/alpine:/build_base:rw \ | |
-v ~/dcma/docker/builders/alpine:/scratch:rw \ | |
'hdclark/dicomautomaton_alpine_armv7' \ | |
'/dcma/docker/builders/alpine/implementation_alpine.sh' | |
sudo chown --recursive $USER:$USER ~/binaries | |
- name: test | |
run: | | |
find ~/binaries/ -type f -execdir chmod 777 '{}' \; | |
sudo cp ~/binaries/bin/dicomautomaton_dispatcher /usr/bin/ | |
cd ~/dcma && ./integration_tests/Run.sh -v | |
- name: gather_files | |
run: | | |
mkdir -pv ~/ci_artifacts/ | |
cp ~/binaries/bin/dicomautomaton_dispatcher ~/ci_artifacts/DICOMautomaton-${GITHUB_SHA::8}-armv7.static | |
cp ~/binaries/bin/dicomautomaton_dispatcher ~/ci_artifacts/DICOMautomaton-latest-armv7.static | |
find ~/ci_artifacts/ -type f -iname '*static' -print -execdir bash -c 'sha256sum "$@" > "$@".sha256sum' bash '{}' \; | |
- name: deploy_to_github | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "DICOMautomaton-static" | |
if-no-files-found: error | |
path: | | |
~/ci_artifacts/DICOMautomaton-latest-armv7.static | |
~/ci_artifacts/DICOMautomaton-latest-armv7.static.sha256sum | |
- name: deploy_to_halclark_ca | |
run: | | |
echo "${{secrets.HALCLARKCA_DEPLOY_KEY}}" > deploy_key | |
chmod 600 deploy_key | |
for i in `seq 1 20` ; do sleep 5 ; rsync -avP -e 'ssh -v -i deploy_key -o ServerAliveInterval=30 -o ServerAliveCountMax=5 -o StrictHostKeyChecking=no' ~/ci_artifacts/ [email protected]:/var/www/html/ci/ && break ; done | |
build_static_alpine_x86_64: | |
runs-on: ubuntu-latest | |
timeout-minutes: 360 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prep | |
run: | | |
cp -R . ~/dcma | |
export DEBIAN_FRONTEND="noninteractive" | |
sudo apt-get update --yes | |
sudo apt-get install --yes --no-install-recommends coreutils binutils findutils rsync openssh-client patchelf qemu binfmt-support qemu-user-static | |
sudo ./docker/build_bases/alpine/setup_host.sh | |
sudo ./scripts/enable_swapfile.sh | |
- name: authenticate_with_dockerhub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: build | |
run: | | |
( ( while true ; do sleep 225 ; printf '\n\n' ; df -h ; printf '\n\n' ; free || true ; printf '\n\n' ; done ) &) | |
mkdir -pv ~/binaries/{bin,include,lib,share} | |
cd ~/dcma/ | |
sudo docker run \ | |
--privileged \ | |
--network=host \ | |
--platform=linux/amd64 \ | |
-v ~/dcma:/dcma:rw \ | |
-v ~/binaries:/usr/local:rw \ | |
-v ~/dcma/docker/build_bases/alpine:/build_base:rw \ | |
-v ~/dcma/docker/builders/alpine:/scratch:rw \ | |
'hdclark/dicomautomaton_alpine_x86_64' \ | |
'/dcma/docker/builders/alpine/implementation_alpine.sh' | |
sudo chown --recursive $USER:$USER ~/binaries | |
- name: test | |
run: | | |
find ~/binaries/ -type f -execdir chmod 777 '{}' \; | |
sudo cp ~/binaries/bin/dicomautomaton_dispatcher /usr/bin/ | |
cd ~/dcma && ./integration_tests/Run.sh -v | |
- name: gather_files | |
run: | | |
mkdir -pv ~/ci_artifacts/ | |
cp ~/binaries/bin/dicomautomaton_dispatcher ~/ci_artifacts/DICOMautomaton-${GITHUB_SHA::8}-x86_64.static | |
cp ~/binaries/bin/dicomautomaton_dispatcher ~/ci_artifacts/DICOMautomaton-latest-x86_64.static | |
find ~/ci_artifacts/ -type f -iname '*static' -print -execdir bash -c 'sha256sum "$@" > "$@".sha256sum' bash '{}' \; | |
- name: deploy_to_github | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "DICOMautomaton-static" | |
if-no-files-found: error | |
path: | | |
~/ci_artifacts/DICOMautomaton-latest-x86_64.static | |
~/ci_artifacts/DICOMautomaton-latest-x86_64.static.sha256sum | |
- name: deploy_to_halclark_ca | |
run: | | |
echo "${{secrets.HALCLARKCA_DEPLOY_KEY}}" > deploy_key | |
chmod 600 deploy_key | |
for i in `seq 1 20` ; do sleep 5 ; rsync -avP -e 'ssh -v -i deploy_key -o ServerAliveInterval=30 -o ServerAliveCountMax=5 -o StrictHostKeyChecking=no' ~/ci_artifacts/ [email protected]:/var/www/html/ci/ && break ; done | |
build_static_alpine_aarch64: | |
runs-on: ubuntu-latest | |
timeout-minutes: 360 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prep | |
run: | | |
cp -R . ~/dcma | |
export DEBIAN_FRONTEND="noninteractive" | |
sudo apt-get update --yes | |
sudo apt-get install --yes --no-install-recommends coreutils binutils findutils rsync openssh-client patchelf qemu binfmt-support qemu-user-static | |
sudo ./docker/build_bases/alpine/setup_host.sh | |
sudo ./scripts/enable_swapfile.sh | |
- name: authenticate_with_dockerhub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: build | |
run: | | |
( ( while true ; do sleep 225 ; printf '\n\n' ; df -h ; printf '\n\n' ; free || true ; printf '\n\n' ; done ) &) | |
mkdir -pv ~/binaries/{bin,include,lib,share} | |
cd ~/dcma/ | |
sudo docker run \ | |
--privileged \ | |
--network=host \ | |
--platform=linux/arm64 \ | |
-v ~/dcma:/dcma:rw \ | |
-v ~/binaries:/usr/local:rw \ | |
-v ~/dcma/docker/build_bases/alpine:/build_base:rw \ | |
-v ~/dcma/docker/builders/alpine:/scratch:rw \ | |
'hdclark/dicomautomaton_alpine_aarch64' \ | |
'/dcma/docker/builders/alpine/implementation_alpine.sh' | |
sudo chown --recursive $USER:$USER ~/binaries | |
- name: test | |
run: | | |
find ~/binaries/ -type f -execdir chmod 777 '{}' \; | |
sudo cp ~/binaries/bin/dicomautomaton_dispatcher /usr/bin/ | |
cd ~/dcma && ./integration_tests/Run.sh -v | |
- name: gather_files | |
run: | | |
mkdir -pv ~/ci_artifacts/ | |
cp ~/binaries/bin/dicomautomaton_dispatcher ~/ci_artifacts/DICOMautomaton-${GITHUB_SHA::8}-aarch64.static | |
cp ~/binaries/bin/dicomautomaton_dispatcher ~/ci_artifacts/DICOMautomaton-latest-aarch64.static | |
find ~/ci_artifacts/ -type f -iname '*static' -print -execdir bash -c 'sha256sum "$@" > "$@".sha256sum' bash '{}' \; | |
- name: deploy_to_github | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "DICOMautomaton-static" | |
if-no-files-found: error | |
path: | | |
~/ci_artifacts/DICOMautomaton-latest-aarch64.static | |
~/ci_artifacts/DICOMautomaton-latest-aarch64.static.sha256sum | |
- name: deploy_to_halclark_ca | |
run: | | |
echo "${{secrets.HALCLARKCA_DEPLOY_KEY}}" > deploy_key | |
chmod 600 deploy_key | |
for i in `seq 1 20` ; do sleep 5 ; rsync -avP -e 'ssh -v -i deploy_key -o ServerAliveInterval=30 -o ServerAliveCountMax=5 -o StrictHostKeyChecking=no' ~/ci_artifacts/ [email protected]:/var/www/html/ci/ && break ; done | |