Skip to content

[hotfix] Android example using still the old timer API. #547

[hotfix] Android example using still the old timer API.

[hotfix] Android example using still the old timer API. #547

Workflow file for this run

name: Validation
# This workflow will run on every push on every branch. It will not be triggered on pull requests.
# - At some point it will be cut down to only be triggered on source code changes and branches with specific naming.
#
on:
push:
branches: '*'
# This workflow supports the following additional CI tags:
# - [skip ci] - skips the whole workflow (available, github implicit)
# - (wip) [asan] - Runs all unit tests with an adress sanitizer enabled. (wip)
# - (wip) [benchmark] - Runs benchmarks additionally to unit tests. (wip)
# - (wip) [snapshot] - Deploys a 'Develop' build to conan on the 'snapshot' channel. (wip)
# - [all_configs] - Runs all checks on all configurations. (wip, some limitations apply)
# - [parallel] - Runs every configuration on a separate job. (wip, some limitations apply)
jobs:
setup_workflow:
name: Setup workflow
runs-on: ubuntu-latest
outputs:
tags: ${{ steps.extract_ci_tags.outputs.tags }}
build_configs: ${{ steps.select_build_configs.outputs.build_configs }}
steps:
- id: load_event_payload
name: Load event payload
run: |
PAYLOAD_CONTENT=$(cat $GITHUB_EVENT_PATH)
PAYLOAD_CONTENT="${PAYLOAD_CONTENT//'%'/'%25'}"
PAYLOAD_CONTENT="${PAYLOAD_CONTENT//$'\n'/' '}"
PAYLOAD_CONTENT="${PAYLOAD_CONTENT//$'\r'/' '}"
echo "::set-output name=payload::$PAYLOAD_CONTENT"
- id: validate_commit_messages
name: Potentially unsafe commit messages
if: ${{ contains(join(fromJSON(steps.load_event_payload.outputs.payload).commits.*.message, ';'), '`') == true }}
run: |
echo "::error::Commit messages contain potentially unsafe characters. Failing build process..."
exit 1
- id: extract_ci_tags
name: Extract CI tags from commits
run: |
COMMIT_MESSAGES="${{ join(fromJSON(steps.load_event_payload.outputs.payload).commits.*.message, ';') }}"
COMMIT_TAGS=$(echo "${COMMIT_MESSAGES@Q}" | grep -oP '\[.*?\]' | sed 's/\[\(.*\)\]/\1/' | tr '\n' ' ')
echo "::set-output name=tags::$COMMIT_TAGS"
- id: select_build_configs
name: Select build configs
run: |
if [[ "${{ steps.extract_ci_tags.outputs.tags }}" == *"all_configs"* ]]; then
echo "::set-output name=build_configs::[\"Debug\",\"Develop\",\"Profile\",\"Release\"]"
else
echo "::set-output name=build_configs::[\"Debug\",\"Develop\"]"
fi
## Build using a single job for all configurations
# - Allows to cut down on build time as it's does not need to recreate the workspace for each configuration.
# - This is the default way of validating builds
call_build_single_windows:
name: 'Build (Windows)'
needs: setup_workflow
if: ${{ contains(needs.setup_workflow.outputs.tags, 'parallel') == false }}
uses: iceshard-engine/engine/.github/workflows/cw_build_single.yaml@master
with:
host: windows-latest
configs: ${{ needs.setup_workflow.outputs.build_configs }}
platform: 'windows'
architecture: x64
cache_revision: v4
call_build_single_linux:
name: 'Build (Linux)'
needs: setup_workflow
if: ${{ contains(needs.setup_workflow.outputs.tags, 'parallel') == false }}
uses: iceshard-engine/engine/.github/workflows/cw_build_single.yaml@master
with:
host: ubuntu-22.04
configs: ${{ needs.setup_workflow.outputs.build_configs }}
platform: 'linux'
architecture: x64
cache_revision: v4
## Build using a separate job for each configuration
# - Should be used when it's necessary to check every configuration build process on clean workspaces.
# - Can be triggered using the [parallel] tag in a commit message body.
call_build_parallel_windows:
name: 'Build (Windows), Parallel'
needs: setup_workflow
if: ${{ contains(needs.setup_workflow.outputs.tags, 'parallel') == true }}
uses: iceshard-engine/engine/.github/workflows/cw_build_parallel.yaml@master
with:
host: windows-latest
configs: ${{ needs.setup_workflow.outputs.build_configs }}
platform: 'windows'
architecture: x64
cache_revision: v4
call_build_parallel_linux:
name: 'Build (Linux), Parallel'
needs: setup_workflow
if: ${{ contains(needs.setup_workflow.outputs.tags, 'parallel') == true }}
uses: iceshard-engine/engine/.github/workflows/cw_build_parallel.yaml@master
with:
host: ubuntu-22.04
configs: ${{ needs.setup_workflow.outputs.build_configs }}
platform: 'linux'
architecture: x64
cache_revision: v4