55 lines
2.0 KiB
YAML
55 lines
2.0 KiB
YAML
|
|
||
|
# (C) 2022 Jack Lloyd
|
||
|
# (C) 2022 René Meusel, Rohde & Schwarz Cybersecurity
|
||
|
#
|
||
|
# Botan is released under the Simplified BSD License (see license.txt)
|
||
|
|
||
|
name: Setup Botan Build Agent
|
||
|
description: Set up a build agent for building and testing the Botan library
|
||
|
|
||
|
inputs:
|
||
|
target:
|
||
|
description: The ci_build.py target going to be built on this agent
|
||
|
required: true
|
||
|
cache-key:
|
||
|
description: The actions/cache key to be used for this runs, caching will be disabled when no key is provided
|
||
|
required: false
|
||
|
arch:
|
||
|
description: Target CPU architecture
|
||
|
required: false
|
||
|
default: x64
|
||
|
|
||
|
runs:
|
||
|
using: composite
|
||
|
steps:
|
||
|
- name: Setup Build Agent (Windows)
|
||
|
run: ${{ github.action_path }}/../../../src/scripts/ci/setup_gh_actions.ps1 "${{ inputs.target }}" "${{ inputs.arch }}"
|
||
|
shell: pwsh
|
||
|
if: runner.os == 'Windows'
|
||
|
- name: Setup Build Agent (Unix-like)
|
||
|
run: ${{ github.action_path }}/../../../src/scripts/ci/setup_gh_actions.sh "${{ inputs.target }}" "${{ inputs.arch }}"
|
||
|
shell: bash
|
||
|
if: runner.os != 'Windows'
|
||
|
|
||
|
- name: Check Availability of Compiler Cache
|
||
|
run: print("::warning ::No compiler cache available, build times might suffer")
|
||
|
shell: python
|
||
|
if: env.COMPILER_CACHE_LOCATION == '' && inputs.cache-key != ''
|
||
|
- uses: actions/cache@v3
|
||
|
if: env.COMPILER_CACHE_LOCATION != '' && inputs.cache-key != ''
|
||
|
with:
|
||
|
path: ${{ env.COMPILER_CACHE_LOCATION }}
|
||
|
key: ${{ inputs.cache-key }}-${{ github.run_id }}
|
||
|
restore-keys: ${{ inputs.cache-key }}
|
||
|
|
||
|
- name: Setup Visual Studio Environment
|
||
|
uses: egor-tensin/vs-shell@v2
|
||
|
with:
|
||
|
arch: ${{ env.VSENV_ARCH }} # set by setup_gh_actions.ps1
|
||
|
if: runner.os == 'Windows'
|
||
|
|
||
|
- name: Install Build Dependencies # after setting up Visual Studio Environment
|
||
|
run: ${{ github.action_path }}/../../../src/scripts/ci/setup_gh_actions_after_vcvars.ps1 ${{ inputs.target }}
|
||
|
shell: pwsh
|
||
|
if: runner.os == 'Windows'
|