name: "Prepare test" description: Performs some preparation to run tests inputs: version: description: "The version of the CodeQL CLI to use. Can be 'latest', 'default', 'nightly-latest', 'nightly-YYYY-MM-DD', or 'stable-YYYY-MM-DD'." required: true use-all-platform-bundle: description: "If true, we output a tools URL with codeql-bundle.tar.gz file rather than platform-specific URL" default: 'false' required: false outputs: tools-url: description: "The value that should be passed as the 'tools' input of the 'init' step." value: ${{ steps.get-url.outputs.tools-url }} runs: using: composite steps: - name: Move codeql-action shell: bash run: | mkdir ../action mv * .github ../action/ mv ../action/tests/multi-language-repo/{*,.github} . mv ../action/.github/workflows .github - id: get-url name: Determine URL shell: bash run: | set -e # Fail this Action if `gh release list` fails. if [[ ${{ inputs.use-all-platform-bundle }} == "true" ]]; then artifact_name="codeql-bundle.tar.gz" elif [[ "$RUNNER_OS" == "Linux" ]]; then artifact_name="codeql-bundle-linux64.tar.gz" elif [[ "$RUNNER_OS" == "macOS" ]]; then artifact_name="codeql-bundle-osx64.tar.gz" elif [[ "$RUNNER_OS" == "Windows" ]]; then artifact_name="codeql-bundle-win64.tar.gz" else echo "::error::Unrecognized OS $RUNNER_OS" exit 1 fi if [[ ${{ inputs.version }} == "nightly-latest" ]]; then tag=`gh release list --repo dsp-testing/codeql-cli-nightlies -L 1 | cut -f 3` echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/$tag/$artifact_name" >> $GITHUB_OUTPUT elif [[ ${{ inputs.version }} == *"nightly"* ]]; then version=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'` echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$version-manual/$artifact_name" >> $GITHUB_OUTPUT elif [[ ${{ inputs.version }} == *"stable"* ]]; then version=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'` echo "tools-url=https://github.com/github/codeql-action/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT elif [[ ${{ inputs.version }} == "latest" ]]; then echo "tools-url=latest" >> $GITHUB_OUTPUT elif [[ ${{ inputs.version }} == "default" ]]; then echo "tools-url=" >> $GITHUB_OUTPUT else echo "::error::Unrecognized version specified!" exit 1 fi