126 lines
4.3 KiB
YAML
126 lines
4.3 KiB
YAML
name: Buildtest
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
IMAGE_FN: devimgs-centos-7-rust-flat
|
|
BUILDER_IMAGE: localhost/devimgs/centos-7-rust-flat:latest
|
|
PODMAN_STORAGE: ${{ gitea.workspace }}/.podman-storage
|
|
PODMAN_RUNROOT: ${{ gitea.workspace }}/.podman-runroot
|
|
steps:
|
|
- name: Check docker
|
|
run: |
|
|
echo $(which docker)
|
|
echo $(which podman)
|
|
echo $(which zstd)
|
|
echo $(which curl)
|
|
echo $(which python)
|
|
echo $(which python3)
|
|
docker --version
|
|
- name: Load build image
|
|
run: |
|
|
PODMAN="docker"
|
|
$PODMAN info
|
|
curl -L -o "$IMAGE_FN.tgz" "https://gitea.psi.ch/api/packages/daqbuf/generic/$IMAGE_FN/0.1.0/$IMAGE_FN.tgz"
|
|
zstd -d <"$IMAGE_FN.tgz" >"$IMAGE_FN.tar"
|
|
$PODMAN import \
|
|
--change 'CMD ["/bin/sh"]' \
|
|
--change 'WORKDIR /data' \
|
|
--change 'ENV PATH=/root/.cargo/bin:/opt/rh/devtoolset-11/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' \
|
|
"$IMAGE_FN.tar" \
|
|
"$BUILDER_IMAGE"
|
|
echo "--- Image list ------------------"
|
|
$PODMAN image list
|
|
echo "--- Container list --------------"
|
|
$PODMAN container list
|
|
- name: Tool versions
|
|
run: |
|
|
PODMAN="docker"
|
|
PRUN="$PODMAN run --rm $BUILDER_IMAGE"
|
|
echo PRUN [["$PRUN"]]
|
|
echo C: $(docker run --rm "$BUILDER_IMAGE" uname -a)
|
|
$PRUN id
|
|
$PRUN pwd
|
|
$PRUN ls /data
|
|
$PRUN cc --version
|
|
$PRUN rustup --version
|
|
$PRUN cargo --version
|
|
$PRUN rustc --version
|
|
cat /proc/cpuinfo | grep model
|
|
echo [[${{ github.repository }}]]
|
|
- name: Check out repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
repository: daqbuf/daqbuf
|
|
path: src
|
|
- name: Build
|
|
run: |
|
|
echo -------------------
|
|
echo docker container ls -a
|
|
docker container ls -a
|
|
echo -------------------
|
|
echo docker image ls -a
|
|
docker image ls -a
|
|
echo -------------------
|
|
echo docker info --format 'Name={{.Name}} OperatingSystem={{.OperatingSystem}} DockerRootDir={{.DockerRootDir}}'
|
|
docker info --format 'Name={{.Name}} OperatingSystem={{.OperatingSystem}} DockerRootDir={{.DockerRootDir}}'
|
|
echo -------------------
|
|
echo docker info | sed -n '/Server:/,/Client:/p'
|
|
docker info | sed -n '/Server:/,/Client:/p'
|
|
echo -------------------
|
|
cat >cf1 <<EOF
|
|
FROM $BUILDER_IMAGE
|
|
COPY src /data
|
|
WORKDIR /data
|
|
CMD cargo build --release
|
|
EOF
|
|
cat cf1
|
|
echo "--- DOCKER BUILD ---"
|
|
img1=$(docker image build --file cf1 --tag 17af4291b392e549 .)
|
|
# echo img1 $img1
|
|
echo "--- DOCKER CREATE ---"
|
|
cid1=$(docker create 17af4291b392e549)
|
|
echo cid1 $cid1
|
|
echo "--- DOCKER START ---"
|
|
docker start --attach $cid1
|
|
mkdir -p artifacts
|
|
echo "--- DOCKER CP ---"
|
|
docker cp $cid1:/data/target artifacts/
|
|
echo "--- DOCKER CONTAINER RM ---"
|
|
docker container rm $cid1
|
|
echo "--- DOCKER IMAGE RM ---"
|
|
docker image rm 17af4291b392e549
|
|
echo -------------------
|
|
ls -l artifacts
|
|
echo -------------------
|
|
ls -l artifacts/target
|
|
echo -------------------
|
|
ls -l artifacts/target/release
|
|
echo -------------------
|
|
# cid=$(docker create --rm $BUILDER_IMAGE bash -c "cd /data && ls -la")
|
|
# echo cid: $cid
|
|
# docker cp $(realpath src)/. $cid:/data
|
|
# docker start -a $cid
|
|
# cid=$(docker create --rm $BUILDER_IMAGE bash -c "cd /data && cargo build --release")
|
|
# echo cid: $cid
|
|
# docker cp $(realpath src)/. $cid:/data
|
|
# docker start -a $cid
|
|
echo -------------------
|
|
echo docker container ls -a
|
|
docker container ls -a
|
|
echo -------------------
|
|
echo docker image ls -a
|
|
docker image ls -a
|
|
echo -------------------
|
|
- name: View
|
|
run: |
|
|
ls -l src/target/release
|