name: "Integration Testing" on: [push, pull_request] jobs: multi-language-repo_test-autodetect-languages: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Move codeql-action shell: bash run: | mkdir ../action mv * .github ../action/ mv ../action/tests/multi-language-repo/{*,.github} . - uses: ./../action/init - name: Build code shell: bash run: ./build.sh - uses: ./../action/analyze env: TEST_MODE: true - run: | cd "$CODEQL_ACTION_DATABASE_DIR" # List all directories as there will be precisely one directory per database # but there may be other files in this directory such as query suites. if [ "$(ls -d */ | wc -l)" != 6 ] || \ [[ ! -d cpp ]] || \ [[ ! -d csharp ]] || \ [[ ! -d go ]] || \ [[ ! -d java ]] || \ [[ ! -d javascript ]] || \ [[ ! -d python ]]; then echo "Did not find expected number of databases. Database dir contains: $(ls)" exit 1 fi multi-language-repo_test-custom-queries-and-remote-config: strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Move codeql-action shell: bash run: | mkdir ../action mv * .github ../action/ mv ../action/tests/multi-language-repo/{*,.github} . - uses: ./../action/init with: languages: cpp,csharp,java,javascript,python config-file: github/codeql-action/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }} - name: Build code shell: bash run: ./build.sh - uses: ./../action/analyze env: TEST_MODE: true # Currently is not possible to analyze Go in conjunction with other languages in macos multi-language-repo_test-go-custom-queries: strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/setup-go@v2 if: ${{ matrix.os == 'macos-latest' }} with: go-version: '^1.13.1' - uses: actions/checkout@v2 - name: Move codeql-action shell: bash run: | mkdir ../action mv * .github ../action/ mv ../action/tests/multi-language-repo/{*,.github} . - uses: ./../action/init with: languages: go config-file: ./.github/codeql/custom-queries.yml - name: Build code shell: bash run: ./build.sh - uses: ./../action/analyze env: TEST_MODE: true multi-language-repo_rubocop: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Move codeql-action shell: bash run: | mkdir ../action mv * .github ../action/ mv ../action/tests/multi-language-repo/{*,.github} . - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: 2.6 - name: Install Code Scanning integration run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install - name: Install dependencies run: bundle install - name: Rubocop run run: | bash -c " bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif [[ $? -ne 2 ]] " - uses: ./../action/upload-sarif with: sarif_file: rubocop.sarif env: TEST_MODE: true test-proxy: runs-on: ubuntu-latest container: image: ubuntu:18.04 options: --dns 127.0.0.1 services: squid-proxy: image: datadog/squid:latest ports: - 3128:3128 env: https_proxy: http://squid-proxy:3128 steps: - uses: actions/checkout@v2 - name: Move codeql-action shell: bash run: | mkdir ../action mv * .github ../action/ mv ../action/tests/multi-language-repo/{*,.github} . - uses: ./../action/init with: languages: javascript - uses: ./../action/analyze env: TEST_MODE: true test-bypass-proxy: runs-on: ubuntu-latest env: https_proxy: http://no-such-proxy:3128 no_proxy: api.github.com,github.com,github-production-release-asset-2e65be.s3.amazonaws.com steps: - uses: actions/checkout@v2 - name: Move codeql-action shell: bash run: | mkdir ../action mv * .github ../action/ mv ../action/tests/multi-language-repo/{*,.github} . - uses: ./../action/init with: languages: javascript - uses: ./../action/analyze env: TEST_MODE: true