test setup for docker

This commit is contained in:
Wolfgang Thaller 2023-12-16 16:19:01 +01:00
parent 147b839de6
commit 1d8f4f6774
2 changed files with 58 additions and 38 deletions

View File

@ -25,3 +25,9 @@ RUN mkdir /Retro68-build && \
FROM base AS release
COPY --from=build /Retro68-build/toolchain /Retro68-build/toolchain
FROM ubuntu:20.04 AS testimage
RUN apt-get update

View File

@ -13,44 +13,58 @@ jobs:
- task: Docker@2
inputs:
command: build
repository: ghcr.io/autc04/retro68-build
repository: ghcr.io/autc04/testimage
tags: latest
arguments: --target build
arguments: --target testimage
displayName: 'Build'
- task: Docker@2
inputs:
command: build
repository: ghcr.io/autc04/retro68
tags: latest
arguments: --target release
displayName: 'Build release'
# - task: Docker@2
# inputs:
# command: build
# repository: ghcr.io/autc04/retro68-build
# tags: latest
# arguments: --target build
# displayName: 'Build'
# - task: Docker@2
# inputs:
# command: build
# repository: ghcr.io/autc04/retro68
# tags: latest
# arguments: --target release
# displayName: 'Build release'
# - script: |
# docker run --name retro68-build --rm -i -d ghcr.io/autc04/retro68-build:latest
# docker exec -i retro68-build /bin/bash <<"EOF"
# cd /Retro68-build
# curl -L -O https://github.com/autc04/executor/releases/download/v0.1.0/Executor2000-0.1.0-Linux.tar.bz2
# tar xfvj Executor2000-0.1.0-Linux.tar.bz2 Executor2000-0.1.0-Linux/bin/executor-headless
# echo "executor-path=`pwd`/Executor2000-0.1.0-Linux/bin/executor-headless" > ~/.LaunchAPPL.cfg
# echo "emulator=executor" >> ~/.LaunchAPPL.cfg
# ctest --no-compress-output -T test -E Carbon || true
# EOF
# mkdir build && docker cp retro68-build:/Retro68-build/Testing build
# docker stop retro68-build
# displayName: Run Tests using Executor 2000
# - task: PublishTestResults@2
# inputs:
# testResultsFormat: 'CTest'
# testResultsFiles: build/Testing/**/*.xml
# buildPlatform: 'x86_64-linux'
# - task: Docker@2
# inputs:
# command: login
# containerRegistry: autc04-github-docker
# displayName: Login to GHCR
# - task: Docker@2
# inputs:
# containerRegistry: autc04-github-docker
# repository: autc04/testimage
# command: push
# tags: latest
# displayName: 'Push release to GHCR'
- script: |
docker run --name retro68-build --rm -i -d ghcr.io/autc04/retro68-build:latest
docker exec -i retro68-build /bin/bash <<"EOF"
cd /Retro68-build
curl -L -O https://github.com/autc04/executor/releases/download/v0.1.0/Executor2000-0.1.0-Linux.tar.bz2
tar xfvj Executor2000-0.1.0-Linux.tar.bz2 Executor2000-0.1.0-Linux/bin/executor-headless
echo "executor-path=`pwd`/Executor2000-0.1.0-Linux/bin/executor-headless" > ~/.LaunchAPPL.cfg
echo "emulator=executor" >> ~/.LaunchAPPL.cfg
ctest --no-compress-output -T test -E Carbon || true
EOF
mkdir build && docker cp retro68-build:/Retro68-build/Testing build
docker stop retro68-build
displayName: Run Tests using Executor 2000
- task: PublishTestResults@2
inputs:
testResultsFormat: 'CTest'
testResultsFiles: build/Testing/**/*.xml
buildPlatform: 'x86_64-linux'
- task: Docker@2
inputs:
command: login
containerRegistry: autc04-github-docker
displayName: Login to GHCR
- task: Docker@2
inputs:
containerRegistry: autc04-github-docker
repository: autc04/retro68
command: push
tags: latest
displayName: 'Push release to GHCR'
docker login ghcr.io/autc04 -u autc04 -p $GHC_TOKEN
docker push ghcr.io/autc04/testimage
env:
GHCR_TOKEN: $(GHCR_TOKEN)