Retro68/azure-pipelines.yml
2023-12-16 20:40:14 +01:00

55 lines
1.7 KiB
YAML

trigger:
- master
jobs:
- job: Linux
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 90
variables:
- group: Tokens
steps:
- checkout: self
submodules: true
- 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'
- script: |
docker login ghcr.io/autc04 -u autc04 -p $GHCR_TOKEN
docker push ghcr.io/autc04/retro68
env:
GHCR_TOKEN: $(GHCR_TOKEN)
displayName: 'Push release to GHCR'
# condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))