Test xPack CMake on supported platforms #26
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
# ----------------------------------------------------------------------------- | |
# DO NOT EDIT! | |
# Generated from xpacks/@xpack-dev-tools/xbb-helper/templates/workflows/*. | |
# | |
# This file is part of the xPack distribution. | |
# (https://xpack.github.io) | |
# Copyright (c) 2021 Liviu Ionescu. | |
# | |
# Permission to use, copy, modify, and/or distribute this software | |
# for any purpose is hereby granted, under the terms of the MIT license. | |
# ----------------------------------------------------------------------------- | |
# https://help.github.com/en/actions | |
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch | |
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_dispatch | |
# https://docs.github.com/en/rest/reference/actions#create-a-workflow-dispatch-event | |
# https://github.com/actions/checkout | |
# https://github.com/actions/upload-artifact | |
# https://github.com/actions/download-artifact | |
# ----------------------------------------------------------------------------- | |
name: 'Test xPack CMake on supported platforms' | |
on: | |
workflow_dispatch: | |
inputs: | |
base_url: | |
description: 'The folder part of the URL where binaries are stored' | |
required: false | |
default: 'release' | |
version: | |
description: 'The semver of the release' | |
required: false | |
default: 'current' | |
helper-git-ref: | |
description: 'The helper branch, tag or SHA to checkout' | |
required: false | |
default: 'xpack-development' | |
jobs: | |
linux-x64-test: | |
name: 'linux-x64 cmake ${{github.event.inputs.version}} test' | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: 'Show environment' | |
run: | | |
uname -a | |
lsb_release -sd | |
echo "whoami: $(whoami)" | |
echo "pwd: $(pwd)" | |
ls -lLA | |
env | sort | grep -E '^[^ \t]+=' | |
- name: 'Checkout project' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 3 | |
- name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}' | |
uses: actions/checkout@v4 | |
with: | |
repository: xpack-dev-tools/xbb-helper-xpack | |
path: build-assets/xpacks/@xpack-dev-tools/xbb-helper | |
ref: ${{github.event.inputs.helper-git-ref}} | |
fetch-depth: 3 | |
- name: 'Run ${{github.event.inputs.version}} native test' | |
run: bash build-assets/scripts/test.sh --image github-actions-ubuntu-latest --version ${{github.event.inputs.version}} --base-url ${{github.event.inputs.base_url}} | |
- name: Upload platform tests report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-report-linux-x64 | |
path: ${{github.workspace}}/build-assets/build/linux-x64/artefacts/tests-report-*.md | |
overwrite: true | |
linux-arm64-test: | |
name: 'linux-arm64 cmake ${{github.event.inputs.version}} test' | |
runs-on: [self-hosted, linux, arm64, xbbla] | |
steps: | |
- name: 'Show environment' | |
run: | | |
uname -a | |
lsb_release -sd | |
echo "whoami: $(whoami)" | |
echo "pwd: $(pwd)" | |
ls -lLA | |
env | sort | grep -E '^[^ \t]+=' | |
- name: 'Clean working area' # Mandatory for self-hosted runners. | |
run: | | |
chmod -Rf a+w * || true | |
rm -rf * .git* | |
# https://github.com/actions/checkout | |
- name: 'Checkout project' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 3 | |
- name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}' | |
uses: actions/checkout@v4 | |
with: | |
repository: xpack-dev-tools/xbb-helper-xpack | |
path: build-assets/xpacks/@xpack-dev-tools/xbb-helper | |
ref: ${{github.event.inputs.helper-git-ref}} | |
fetch-depth: 3 | |
- name: 'Run ${{github.event.inputs.version}} docker test' | |
uses: docker://node:lts-slim # Currently based on debian:12-slim | |
with: | |
entrypoint: /bin/bash | |
args: /github/workspace/build-assets/scripts/test.sh --image ubuntu:22.04 --version ${{github.event.inputs.version}} --base-url ${{github.event.inputs.base_url}} | |
- name: Upload platform tests report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-report-linux-arm64 | |
path: ${{github.workspace}}/build-assets/build/linux-arm64/artefacts/tests-report-*.md | |
overwrite: true | |
linux-arm-test: | |
name: 'linux-arm cmake ${{github.event.inputs.version}} test' | |
runs-on: [self-hosted, linux, arm, xbbla32] | |
steps: | |
- name: 'Show environment' | |
run: | | |
uname -a | |
lsb_release -sd | |
echo "whoami: $(whoami)" | |
echo "pwd: $(pwd)" | |
ls -lLA | |
env | sort | grep -E '^[^ \t]+=' | |
- name: 'Clean working area' # Mandatory for self-hosted runners. | |
run: | | |
chmod -Rf a+w * || true | |
rm -rf * .git* | |
# https://github.com/actions/checkout | |
- name: 'Checkout project' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 3 | |
- name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}' | |
uses: actions/checkout@v4 | |
with: | |
repository: xpack-dev-tools/xbb-helper-xpack | |
path: build-assets/xpacks/@xpack-dev-tools/xbb-helper | |
ref: ${{github.event.inputs.helper-git-ref}} | |
fetch-depth: 3 | |
- name: 'Run ${{github.event.inputs.version}} docker test' | |
uses: docker://arm32v7/node:lts-slim # Currently based on debian:12-slim | |
with: | |
entrypoint: /bin/bash # /usr/bin/linux32 | |
args: /github/workspace/build-assets/scripts/test.sh --image debian --version ${{github.event.inputs.version}} --base-url ${{github.event.inputs.base_url}} | |
- name: Upload platform tests report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-report-linux-arm | |
path: ${{github.workspace}}/build-assets/build/linux-arm/artefacts/tests-report-*.md | |
overwrite: true | |
darwin-x64-test: | |
name: 'darwin-x64 cmake ${{github.event.inputs.version}} test' | |
# https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md | |
runs-on: macos-12 | |
steps: | |
- name: 'Show environment' | |
run: | | |
uname -a | |
sw_vers | |
ls -lA /Library/Developer/CommandLineTools/SDKs || true | |
ls -lA /Applications | |
sudo xcode-select --switch /Applications/Xcode_14.2.app | |
xcode-select --print-path | |
xcodebuild -version || true | |
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables || true | |
clang++ -v | |
echo "whoami: $(whoami)" | |
echo "pwd: $(pwd)" | |
ls -lLA | |
env | sort | grep -E '^[^ \t]+=' | |
- name: 'Clean working area' # Mandatory for self-hosted runners. | |
run: | | |
chmod -Rf a+w * || true | |
rm -rf * .git* | |
# https://github.com/actions/checkout | |
- name: 'Checkout project' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 3 | |
- name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}' | |
uses: actions/checkout@v4 | |
with: | |
repository: xpack-dev-tools/xbb-helper-xpack | |
path: build-assets/xpacks/@xpack-dev-tools/xbb-helper | |
ref: ${{github.event.inputs.helper-git-ref}} | |
fetch-depth: 3 | |
- name: 'Run ${{github.event.inputs.version}} native test' | |
run: bash build-assets/scripts/test.sh --version ${{github.event.inputs.version}} --base-url ${{github.event.inputs.base_url}} | |
- name: Upload platform tests report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-report-darwin-x64 | |
path: ${{github.workspace}}/build-assets/build/darwin-x64/artefacts/tests-report-*.md | |
overwrite: true | |
darwin-arm64-test: | |
name: 'darwin-arm64 cmake ${{github.event.inputs.version}} test' | |
# https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md | |
runs-on: macos-14 | |
steps: | |
- name: 'Show environment' | |
run: | | |
uname -a | |
sw_vers | |
ls -lA /Library/Developer/CommandLineTools/SDKs || true | |
ls -lA /Applications | |
sudo xcode-select --switch /Applications/Xcode_15.4.app | |
xcode-select --print-path | |
xcodebuild -version || true | |
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables || true | |
clang++ -v | |
echo "whoami: $(whoami)" | |
echo "pwd: $(pwd)" | |
ls -lLA | |
env | sort | grep -E '^[^ \t]+=' | |
- name: 'Clean working area' # Mandatory for self-hosted runners. | |
run: | | |
chmod -Rf a+w * || true | |
rm -rf * .git* | |
# https://github.com/actions/checkout | |
- name: 'Checkout project' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 3 | |
- name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}' | |
uses: actions/checkout@v4 | |
with: | |
repository: xpack-dev-tools/xbb-helper-xpack | |
path: build-assets/xpacks/@xpack-dev-tools/xbb-helper | |
ref: ${{github.event.inputs.helper-git-ref}} | |
fetch-depth: 3 | |
- name: 'Run ${{github.event.inputs.version}} native test' | |
run: bash build-assets/scripts/test.sh --version ${{github.event.inputs.version}} --base-url ${{github.event.inputs.base_url}} | |
- name: Upload platform tests report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-report-darwin-arm64 | |
path: ${{github.workspace}}/build-assets/build/darwin-arm64/artefacts/tests-report-*.md | |
overwrite: true | |
win32-x64-test: | |
name: 'win32-x64 cmake ${{github.event.inputs.version}} test' | |
runs-on: windows-2022 | |
defaults: | |
run: | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell | |
shell: bash # for -- | |
steps: | |
- name: 'Show environment' | |
run: | | |
uname -a | |
systeminfo # lsb_release -sd | |
echo "whoami: $(whoami)" | |
echo "pwd: $(pwd)" | |
ls -lLA | |
env | sort | grep -E '^[^ \t]+=' | |
# https://github.com/actions/checkout | |
- name: 'Checkout project' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 3 | |
- name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}' | |
uses: actions/checkout@v4 | |
with: | |
repository: xpack-dev-tools/xbb-helper-xpack | |
path: build-assets/xpacks/@xpack-dev-tools/xbb-helper | |
ref: ${{github.event.inputs.helper-git-ref}} | |
fetch-depth: 3 | |
- name: 'Run ${{github.event.inputs.version}} native test' | |
run: bash build-assets/scripts/test.sh --version ${{github.event.inputs.version}} --base-url ${{github.event.inputs.base_url}} | |
- name: Upload platform tests report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-report-win32-x64 | |
path: ${{github.workspace}}/build-assets/build/win32-x64/artefacts/tests-report-*.md | |
overwrite: true | |
# One more run with the oldest Windows available. | |
win32-x64-test2: | |
name: 'win32-x64 cmake ${{github.event.inputs.version}} test 2019' | |
runs-on: windows-2019 | |
defaults: | |
run: | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell | |
shell: bash # for -- | |
steps: | |
- name: 'Show environment' | |
run: | | |
uname -a | |
systeminfo # lsb_release -sd | |
echo "whoami: $(whoami)" | |
echo "pwd: $(pwd)" | |
ls -lLA | |
env | sort | grep -E '^[^ \t]+=' | |
# https://github.com/actions/checkout | |
- name: 'Checkout project' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 3 | |
- name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}' | |
uses: actions/checkout@v4 | |
with: | |
repository: xpack-dev-tools/xbb-helper-xpack | |
path: build-assets/xpacks/@xpack-dev-tools/xbb-helper | |
ref: ${{github.event.inputs.helper-git-ref}} | |
fetch-depth: 3 | |
- name: 'Run ${{github.event.inputs.version}} native test' | |
run: bash build-assets/scripts/test.sh --version ${{github.event.inputs.version}} --base-url ${{github.event.inputs.base_url}} | |
generate-tests-report: | |
name: 'Generate tests report for CMake@${{github.event.inputs.version}}' | |
runs-on: ubuntu-22.04 | |
needs: [linux-x64-test, linux-arm64-test, linux-arm-test, darwin-x64-test, darwin-arm64-test, win32-x64-test] | |
steps: | |
- name: Download platform test reports | |
uses: actions/download-artifact@v4 | |
with: | |
path: ${{github.workspace}}/build-assets/artefacts | |
merge-multiple: true | |
- name: Concatenate platform test reports | |
run: | | |
ls -lR ${{github.workspace}}/build-assets/artefacts | |
touch ${{github.workspace}}/build-assets/artefacts/tests-report.md | |
echo "---" >>${{github.workspace}}/build-assets/artefacts/tests-report.md | |
echo "title: CMake ${{github.event.inputs.version}} test results" >>${{github.workspace}}/build-assets/artefacts/tests-report.md | |
echo >>${{github.workspace}}/build-assets/artefacts/tests-report.md | |
echo "date: $(date "+%Y-%m-%d %H:%M:%S %z")" >>${{github.workspace}}/build-assets/artefacts/tests-report.md | |
echo >>${{github.workspace}}/build-assets/artefacts/tests-report.md | |
echo "---" >>${{github.workspace}}/build-assets/artefacts/tests-report.md | |
echo >>${{github.workspace}}/build-assets/artefacts/tests-report.md | |
(cd ${{github.workspace}}; cat -s build-assets/artefacts/tests-report-linux-x64.md build-assets/artefacts/tests-report-linux-arm64.md build-assets/artefacts/tests-report-linux-arm.md build-assets/artefacts/tests-report-darwin-x64.md build-assets/artefacts/tests-report-darwin-arm64.md build-assets/artefacts/tests-report-win32-x64.md | tee -a build-assets/artefacts/tests-report.md) | |
mv -v ${{github.workspace}}/build-assets/artefacts/tests-report.md ${{github.workspace}}/build-assets/artefacts/${{github.event.inputs.version}}.md | |
- name: Upload tests report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-report | |
path: ${{github.workspace}}/build-assets/artefacts/${{github.event.inputs.version}}.md | |
overwrite: true | |
# ----------------------------------------------------------------------------- |