Fix Setting build outputs on cache hits #83
Workflow file for this run
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
name: Tests | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
version: [ "4.0", "4.1", "5.0"] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup SDK | |
id: initial-setup | |
uses: ./ | |
with: | |
cache: false | |
version: ${{ matrix.version }} | |
fixup-path: 'false' | |
- name: Test | |
shell: bash | |
run: | | |
"${OHOS_SDK_NATIVE}/llvm/bin/clang" --version | |
${{steps.initial-setup.outputs.ohos_sdk_native}}/llvm/bin/clang --version | |
- name: Simulate action on cache-hit | |
run: ./install_ohos_sdk.sh | |
shell: bash | |
env: | |
INPUT_VERSION: "${{ matrix.version }}" | |
INPUT_COMPONENTS: "all" | |
INPUT_FIXUP_PATH: "false" | |
INPUT_MIRROR: "true" | |
INPUT_CACHE: "true" | |
INPUT_WAS_CACHED: "true" | |
GH_TOKEN: "${{ github.token }}" | |
- name: Test | |
shell: bash | |
run: | | |
"${OHOS_SDK_NATIVE}/llvm/bin/clang" --version | |
${{steps.initial-setup.outputs.ohos_sdk_native}}/llvm/bin/clang --version | |
- name: Remove previous SDK installation | |
shell: bash | |
env: | |
SDK_PATH: "${{ steps.initial-setup.outputs.sdk-path }}" | |
run: rm -rf "${SDK_PATH}" | |
- name: Setup SDK with Components | |
id: sdk-with-components | |
uses: ./ | |
with: | |
components: "native;toolchains" | |
cache: false | |
version: ${{ matrix.version }} | |
- name: Test | |
shell: bash | |
env: | |
SDK_PATH: "${{ steps.sdk-with-components.outputs.sdk-path }}" | |
run: | | |
${OHOS_SDK_NATIVE}/llvm/bin/clang --version | |
if [[ -d "${test}/previewer" ]]; then | |
echo "Unselected component should not be present" | |
exit 1 | |
fi | |
- name: Remove previous SDK installation | |
shell: bash | |
env: | |
SDK_PATH: "${{ steps.sdk-with-components.outputs.sdk-path }}" | |
run: rm -rf "${SDK_PATH}" | |
- name: Setup SDK and fixup the path | |
id: sdk-with-fixup | |
uses: ./ | |
with: | |
fixup-path: true | |
cache: false | |
version: ${{ matrix.version }} | |
- name: Test | |
shell: bash | |
env: | |
SDK_PATH: "${{ steps.sdk-with-fixup.outputs.sdk-path }}" | |
API_VERSION: "${{ steps.sdk-with-fixup.outputs.api-version }}" | |
run: | | |
cd "${SDK_PATH}/*/${API_VERSION}/native/llvm/bin" && clang --version && cd - | |
"${OHOS_SDK_NATIVE}/llvm/bin/clang" --version | |
- name: Simulate action on cache-hit | |
id: on_cache_hit_with_fixup | |
run: ./install_ohos_sdk.sh | |
shell: bash | |
env: | |
INPUT_VERSION: "${{ matrix.version }}" | |
INPUT_COMPONENTS: "all" | |
INPUT_FIXUP_PATH: "true" | |
INPUT_MIRROR: "true" | |
INPUT_CACHE: "true" | |
INPUT_WAS_CACHED: "true" | |
GH_TOKEN: "${{ github.token }}" | |
- name: Test | |
env: | |
SDK_PATH: "${{ steps.on_cache_hit_with_fixup.outputs.sdk-path }}" | |
API_VERSION: "${{ steps.on_cache_hit_with_fixup.outputs.api-version }}" | |
run: | | |
cd "${SDK_PATH}/*/${API_VERSION}/native/llvm/bin" && clang --version && cd - | |
"${OHOS_SDK_NATIVE}/llvm/bin/clang" --version | |
${{steps.on_cache_hit_with_fixup.outputs.ohos_sdk_native}}/llvm/bin/clang --version | |
build_result: | |
name: Result | |
runs-on: ubuntu-latest | |
needs: ["build"] | |
if: ${{ always() }} | |
steps: | |
- name: Mark the job as successful | |
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }} | |
run: exit 0 | |
- name: Mark the job as unsuccessful | |
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} | |
run: exit 1 |