title: gh action if condition always passes
body: <p>Working on a Github workflow that has many gh actions and needs to control based on a condition. To achieve this, I added an if condition with a variable (<code>v</code>), which contains 'true' or 'false' .</p>
  <pre><code>- name: gh action with if
    uses: ./.github/actions/custom-action
    if: ${{ matrix.v == 'true' }}
    with:
      function-name: ${{ steps.setup_files.outputs.functionName }}
  </code></pre>
  <p>The matrix I am using</p>
  <pre><code>&quot;{\&quot;function\&quot;: \&quot;func1\&quot;, \&quot;v\&quot;: \&quot;true\&quot; },&quot;
  &quot;{\&quot;function\&quot;: \&quot;func2\&quot;, \&quot;v\&quot;: \&quot;false\&quot; },&quot;
  </code></pre>
  <p>But the gh action always executes irrespective of the value of <code>v</code>. When I ran the workflow with debug mode, I found the expression that evaluates caused the issue.</p>
  <pre><code>(success() &amp;&amp; format('{0} == ''false''', matrix.v))
  </code></pre>
  <p>Ideally, it should be</p>
  <pre><code>(success() &amp;&amp; (matrix.v == 'false'))
  </code></pre>
  <p>Any idea how to solve this issue?</p>