Comments (13)
Thanks @nawinto99 for your issue 💯 What do you mean extend support for projects running with Python, Java?
Do you mean provide a sample file for Python, Java, etc? Right now there is only a sample file for JavaScript, would you like one for other languages?
Just to clarify :)
from ghas-enablement.
Exactly @NickLiffen
- What if a project having multiple programming languages?
- Is there a way to automatically detect languages and replace the language matrix rather than hardcoding it?
matrix:
language: [ 'javascript' ]
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
from ghas-enablement.
We could look at doing this 👍 I think the workflow would be a little different per repository, which may make this hard, however, I think we could do a better job around automation.
I am happy to add this as a backlog item and I will address it once I can 👍
I appreciate the feedback and once I have something to share I will tag you on it 💯
from ghas-enablement.
You are also more then welcome to PR if you like 👍 Just an FYI 💯
from ghas-enablement.
@NickLiffen Thank you, I'll give it a shot 👍
from ghas-enablement.
100% 👍
If you would like to share your thoughts before you start coding we can align on the best approach to do this. Once we are aligned you can get coding 👨💻 if that works with you?
Just to make sure we both agree on how to do this 👍 Thanks for contributing though :) Would be very open to your thoughts.
from ghas-enablement.
Currently, CodeQL does not support all programming languages, and the workflow would be slightly different for compiled and interpreted languages. We will create a module that collects the languages used in the GitHub project and selects only those that CodeQL currently supports.
The above is the one that comes to mind right now. If you have any other thoughts, please let me know and we'll talk about it.
from ghas-enablement.
I was more thinking technically, how would we go about doing this? 🤔
Firstly, I think we break this task down into two steps:
** Use Case 1 - Be able to accommodate for single language repos, other then JS **
Firstly, I think we update the get-repo
script and here, where we return the name and repo, we also return the language. I think that's step one. Let's get the language being returned. It will have to be an array of languages I think.
Step two is about dynamically updating the codeql-anlaysis.yml
file. I think there are different ways of thinking about this. We could:
- Create a specific
codeql-analysis.yml
file for every language. E.G python, go javascript. (we would only pick the [0] element in the languages array, so we would only pick one language. - We update the
codeql-analysis.yml
with the array of languages. (we would need to filter out any languages that are not supported by Code Scanning, but are a part of the repositories languages if that makes sense?)
I don't mind what one we go down, I'm flexible.
My only thought about the second option is how different are the codeql-analysis.yml
per language? If they are different then I think what we do is create specific codeql-analysis.yml
files per language, and then go with option one. If they are similar, then we can 100% multi language this 👍
I welcome your thoughts 👍
from ghas-enablement.
Create a specific codeql-analysis.yml file for every language. E.G python, go javascript. (we would only pick the [0] element in the languages array, so we would only pick one language.
- Create multiple workflows for every language is simple, however, multiple workflows that have a significant impact on billing, please check out following link more info
We update the codeql-analysis.yml with the array of languages. (we would need to filter out any languages that are not supported by Code Scanning, but are a part of the repositories languages if that makes sense?
- I'm fine with this option, my only concern is that auto build for compiled languages occasionally fails, we can handle this by using conditions in a single workflow.
from ghas-enablement.
Firstly, I think we update the get-repo script and here, where we return the name and repo, we also return the language. I think that's step one. Let's get the language being returned. It will have to be an array of languages I think.
- Yes, this is great. Thank you. I considered making a separate one, but there is no longer a need for it. 👍
from ghas-enablement.
@nawinto99 just thought I would check back in and see how this is going? 👍
from ghas-enablement.
I'm getting the above error, and I'd like to discuss a few things, shall we connect once and talk?
from ghas-enablement.
Going to close this issue out, as going to track this in #13
from ghas-enablement.
Related Issues (20)
- Enable security on organization (python) fails HOT 3
- Enable security on organization (csharp) does not work HOT 4
- Code breaker
- 'ghas:error TypeError' on 'yarn run getRepos' HOT 3
- 'yarn run getRepos' fails with a type error HOT 1
- Enable Dependabot version updates HOT 1
- Option to enable Secret Scanning Push Protection HOT 5
- build error HOT 4
- yarn run build fails on initial clone HOT 2
- Support public repositories with `secretscanning`, or `pushprotection` HOT 4
- GitHub App token times out after 1 hour HOT 3
- User Feedback
- deleted HOT 3
- Unable to apply CodeQL to any branch that is not the default branch HOT 3
- Just a minor typo HOT 1
- HTTP error when using in github Actions mode HOT 6
- Missing codeql-analysis.yaml file in root of repo HOT 1
- How to apply the CodeQL to a repo without a Pull Request? HOT 2
- How do I call `getRepos` and query for just repositories with a prefix HOT 2
- Error: git add .github/workflows/codeql-analysis.yml HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ghas-enablement.