diff --git a/CODEOWNERS b/CODEOWNERS index 4ac24ef..564055c 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -6,6 +6,5 @@ # https://blog.github.com/2017-07-06-introducing-code-owners/ # https://help.github.com/articles/about-codeowners/ -# Default owner for repo -* @pragnagopa -* @amamounelsayed \ No newline at end of file +# Default owners for repo +* @azure/azure-functions-java-worker-admins \ No newline at end of file diff --git a/eng/ci/official-build.yml b/eng/ci/official-build.yml index b9759ea..56d70d7 100644 --- a/eng/ci/official-build.yml +++ b/eng/ci/official-build.yml @@ -12,6 +12,12 @@ trigger: include: - dev +parameters: + - name: runEndToEndTests + type: boolean + default: true + displayName: "Run end-to-end tests" + # CI only, does not trigger on PRs. pr: none @@ -29,6 +35,12 @@ resources: variables: - template: ci/variables/build.yml@eng - template: ci/variables/cfs.yml@eng + - name: codeql.language + value: java,powershell + - name: codeql.buildIdentifier + value: java_library_official + - name: codeql.excludePathPatterns + value: '/extract,/azure-maven-archetypes,/azure-maven-plugins,/azure-functions-java-worker' extends: template: v1/1ES.Official.PipelineTemplate.yml@1es @@ -42,4 +54,6 @@ extends: - stage: BuildAndTest jobs: - - template: /eng/ci/templates/official/jobs/build-and-test.yml@self \ No newline at end of file + - template: /eng/ci/templates/official/jobs/build-and-test.yml@self + parameters: + runEndToEndTests: ${{ and(ne(variables['Build.Reason'], 'Schedule'), parameters.runEndToEndTests) }} \ No newline at end of file diff --git a/eng/ci/public-build.yml b/eng/ci/public-build.yml index 1b049c6..67bce6b 100644 --- a/eng/ci/public-build.yml +++ b/eng/ci/public-build.yml @@ -24,6 +24,14 @@ resources: name: 1ESPipelineTemplates/1ESPipelineTemplates ref: refs/tags/release +variables: + - name: codeql.language + value: java,powershell + - name: codeql.buildIdentifier + value: java_library_public + - name: codeql.excludePathPatterns + value: '/extract,/azure-maven-archetypes,/azure-maven-plugins,/azure-functions-java-worker' + extends: template: v1/1ES.Unofficial.PipelineTemplate.yml@1es parameters: @@ -32,11 +40,9 @@ extends: image: 1es-windows-2022 os: windows - sdl: - codeql: - compiled: - enabled: true - runSourceLanguagesInSourceAnalysis: true + settings: + # PR's from forks do not have sufficient permissions to set tags. + skipBuildTagsForGitHubPullRequests: ${{ variables['System.PullRequest.IsFork'] }} stages: - stage: Build diff --git a/eng/ci/templates/official/jobs/build-and-test.yml b/eng/ci/templates/official/jobs/build-and-test.yml index 8036f71..e304eec 100644 --- a/eng/ci/templates/official/jobs/build-and-test.yml +++ b/eng/ci/templates/official/jobs/build-and-test.yml @@ -1,3 +1,9 @@ +parameters: + - name: runEndToEndTests + type: boolean + default: true + displayName: "Run end-to-end tests" + jobs: - job: "Build_And_Test_Java_Library_Windows" @@ -16,7 +22,7 @@ jobs: displayName: 'Install NuGet Tool' - pwsh: | - Write-Host "Java_HOME: $JAVA_HOME" + Write-Host "Java_HOME: $env:JAVA_HOME" Get-Command mvn displayName: 'Check Maven is installed' @@ -33,37 +39,28 @@ jobs: $Env:Path = $Env:Path+";$currDir\Azure.Functions.Cli" ls $currDir\Azure.Functions.Cli func --version - cd ./azure-functions-java-worker/endtoendtests + cd ./azure-functions-java-worker/emulatedtests mvn clean package `-Dmaven`.javadoc`.skip=true `-Dmaven`.test`.skip `-Dorg`.slf4j`.simpleLogger`.log`.org`.apache`.maven`.cli`.transfer`.Slf4jMavenTransferListener=warn `-B - Copy-Item "confluent_cloud_cacert.pem" ".\target\azure-functions\azure-functions-java-endtoendtests" + Copy-Item "confluent_cloud_cacert.pem" ".\target\azure-functions\azure-functions-java-emulatedtests" displayName: 'Package Java for E2E' + condition: eq(${{ parameters.runEndToEndTests }}, true) + + - bash: | + npm install -g azurite + mkdir azurite + azurite --silent --location azurite --debug azurite\debug.log & + displayName: 'Install and Run Azurite' + condition: eq(${{ parameters.runEndToEndTests }}, true) - task: DotNetCoreCLI@2 retryCountOnTaskFailure: 3 inputs: command: 'test' projects: | - azure-functions-java-worker\endtoendtests\Azure.Functions.Java.Tests.E2E\Azure.Functions.Java.Tests.E2E\Azure.Functions.Java.Tests.E2E.csproj + azure-functions-java-worker/emulatedtests/Azure.Functions.Java.Tests.E2E/Azure.Functions.Java.Tests.E2E/Azure.Functions.Java.Tests.E2E.csproj env: - AzureWebJobsStorage: $(AzureWebJobsStorage) - AzureWebJobsCosmosDBConnectionString: $(AzureWebJobsCosmosDBConnectionString) - AzureWebJobsSqlConnectionString: $(AzureWebJobsSqlConnectionString) - AzureWebJobsServiceBus: $(AzureWebJobsServiceBus) - AzureWebJobsEventHubReceiver: $(AzureWebJobsEventHubReceiver) - AzureWebJobsEventHubSender_2: $(AzureWebJobsEventHubSender_2) - AzureWebJobsEventHubSender: $(AzureWebJobsEventHubSender) - AzureWebJobsEventHubPath: $(AzureWebJobsEventHubPath) - SBTopicName: $(SBTopicName) - SBTopicSubName: $(SBTopicSubName) - CosmosDBDatabaseName: $(CosmosDBDatabaseName) - SBQueueName: $(SBQueueName) - BrokerList": $(BrokerList) - ConfluentCloudUsername: $(ConfluentCloudUsername) - ConfluentCloudPassword: $(ConfluentCloudPassword) - AzureWebJobsEventGridOutputBindingTopicUriString: $(AzureWebJobsEventGridOutputBindingTopicUriString) - AzureWebJobsEventGridOutputBindingTopicKeyString: $(AzureWebJobsEventGridOutputBindingTopicKeyString) - ApplicationInsightAPIKey: $(ApplicationInsightAPIKey) - ApplicationInsightAPPID: $(ApplicationInsightAPPID) - ApplicationInsightAgentVersion: $(ApplicationInsightAgentVersion) + AzureWebJobsStorage: "UseDevelopmentStorage=true" + JAVA_HOME: $(JAVA_HOME_8_X64) displayName: 'Build & Run tests for java 8' + condition: eq(${{ parameters.runEndToEndTests }}, true) \ No newline at end of file