name: ccache inputs: name: required: true php_directory: required: false default: '.' cc: required: false default: 'gcc' cxx: required: false default: 'g++' runs: using: composite steps: - name: Get cache key shell: bash id: cache_key run: | major=$(cat ${{ inputs.php_directory }}/main/php_version.h | sed -En 's/^#define PHP_MAJOR_VERSION ([0-9]+)/\1/p') minor=$(cat ${{ inputs.php_directory }}/main/php_version.h | sed -En 's/^#define PHP_MINOR_VERSION ([0-9]+)/\1/p') release=$(cat ${{ inputs.php_directory }}/main/php_version.h | sed -En 's/^#define PHP_RELEASE_VERSION ([0-9]+)/\1/p') week=$(date +"%Y-%W") prefix="${{ inputs.name }}-$major.$minor.$release" echo "key=$prefix-$week" >> $GITHUB_OUTPUT echo "prefix=$prefix-" >> $GITHUB_OUTPUT - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: key: "${{ steps.cache_key.outputs.key }}" append-timestamp: false restore-keys: "${{ steps.cache_key.outputs.prefix }}" save: ${{ github.event_name != 'pull_request' }} - name: Export CC/CXX shell: bash run: | echo "CC=ccache ${{ inputs.cc }}" >> $GITHUB_ENV echo "CXX=ccache ${{ inputs.cxx }}" >> $GITHUB_ENV