Skip to content
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
42 changes: 42 additions & 0 deletions .github/workflows/integration-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,48 @@ jobs:
env:
TEST_MODE: true

single-language-bundles:
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this need some check after running the actions to make sure it actually downloaded the right bundles. Currently it could download the full thing each time and still pass.
You should be able to look inside the toolcache directory and see what it has downloaded. You'll find it under /opt/hostedtoolcache (at least on linux) or you can use $AGENT_TOOLSDIRECTORY (which might work on all operating systems).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The idea was not to require this, although I can see how it would be good to test this in a non-failing way.
I did not want to make the bundle-release process more complex, so these tests should pass with only the main bundle (fallback behavior). I see how outputting a message that we used the smaller bundler would be useful for validation.

# These are 21 jobs, run them only if the earlier multi-language job suceeded
# needs: multi-language-repo_test-autodetect-languages
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
language: ["none", "cpp", "csharp", "go", "java", "javascript", "python"]
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} .

# The next 2 steps are mutually exclusive.
# In one case, we setup codeql for a single language.
# In the other, we setup codeql for a platform
- name: Test language-specific bundle
uses: ./../action/init
if: matrix.language != 'none'
with:
languages: ${{ matrix.language }}
- name: Test platform-secific bundle
uses: ./../action/init
if: matrix.language == 'none'

- name: Build code
shell: bash
run: ./build.sh
- uses: ./../action/analyze
env:
TEST_MODE: true

- name: Check ToolCache (language-specific bundle)
if: matrix.language != 'none'
shell: bash
run: test -n "$(find -maxdepth 1 -name "codeql-bundle-0.0.0-*.${OS}-${{matrix.language}}" -print -quit)"

test-proxy:
runs-on: ubuntu-latest
container:
Expand Down
83 changes: 71 additions & 12 deletions lib/codeql.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading