Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Camunda 24303 fix action path #318

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions is-cache-enabled/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Is cache enabled

description: |
Checks if cache is enabled given three conditions
- is a pull request related event
- the pull request does not contains a 'ci:no-cache' label
- the branch is neither 'main' nor 'stable/*'
This information can be used to skip cache restoration
in the setup-maven-cache and setup-yarn-cache to test
workflows from scratch

inputs: {}

outputs:
is-cache-disabled:
description: |
Output whether the workflows has cache enabled based on three conditions:
- workflow is triggered by a pull_request event
- pull_request does not contains 'ci:no-cache' label
- branch is neither 'main' or 'stable/*'
value: ${{ steps.detect-cache-status.outputs.is-cache-enabled == 'true' }}

runs:
using: composite
steps:

- id: detect-cache-status
shell: bash
run: |
IS_PR_EVENT=${{ github.event_name == 'pull_request' }}
HAS_NO_CACHE_LABEL=${{ contains(github.event.pull_request.labels.*.name, 'ci:no-cache') }}
IS_FEATURE_BRANCH=${{ !(startsWith(github.ref_name, 'stable/') || github.ref_name == 'main') }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Introduce and respect the cache_create_branch_regex input that setup-yarn-cache action has - to allow universal use also outside of camunda/camunda repo.

echo "IS_PR_EVENT: $IS_PR_EVENT"
echo "HAS_NO_CACHE_LABEL: $HAS_NO_CACHE_LABEL"
echo "IS_FEATURE_BRANCH: $IS_FEATURE_BRANCH"

IS_CACHE_ENABLED="true"
if [[ $HAS_NO_CACHE_LABEL == "true" && $IS_PR_EVENT == "true" && $IS_FEATURE_BRANCH == "true" ]]; then
IS_CACHE_ENABLED="false"
fi
echo "IS_CACHE_ENABLED: $IS_CACHE_ENABLED"
echo is-cache-enabled="$IS_CACHE_ENABLED" | tee -a $GITHUB_OUTPUT
11 changes: 11 additions & 0 deletions setup-yarn-cache/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,17 @@ runs:
echo "result=false" >> $GITHUB_OUTPUT
fi

- name: Symlink current action repo
env:
action_path: ${{ github.action_path }}
run: ln -fs ${{ env.action_path }}/.. .github/.linked-infra-global-github-actions
shell: bash
Comment on lines +41 to +45
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workaround is necessary as per https://github.com/orgs/community/discussions/41927


# Check if PR contains a label to disable the cache
- name: Check if cache is enabled
uses: ./.github/.linked-infra-global-github-actions/is-cache-enabled
id: is-cache-enabled

- name: Get Yarn global cache directory
shell: bash
working-directory: ${{ inputs.directory }}
Expand Down
Loading