Elastic.Apm.Ingest, new PayloadSender implementation #343
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test-linux | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '*.md' | |
- '*.asciidoc' | |
- 'docs/**' | |
pull_request: | |
paths-ignore: | |
- '*.md' | |
- '*.asciidoc' | |
- 'docs/**' | |
permissions: | |
contents: read | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
env: | |
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | |
jobs: | |
pack: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Bootstrap Action Workspace | |
uses: ./.github/workflows/bootstrap | |
with: | |
rust: 'true' | |
- name: Format | |
run: ./build.sh format | |
- name: Package | |
run: ./build.sh pack | |
- uses: actions/upload-artifact@v3 | |
if: github.event_name == 'push' && startswith(github.ref, 'refs/heads') | |
with: | |
name: snapshoty-linux | |
path: build/output/* | |
retention-days: 1 | |
tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Bootstrap Action Workspace | |
uses: ./.github/workflows/bootstrap | |
- name: Build | |
shell: bash | |
run: dotnet build -c Release --verbosity minimal | |
- name: 'Tests: Unit' | |
uses: ./.github/workflows/test | |
with: | |
name: 'unit' | |
filter: 'FullyQualifiedName!~Elastic.Apm.StartupHook.Tests&FullyQualifiedName!~Elastic.Apm.Profiler.Managed.Tests&FullyQualifiedName!~Elastic.Apm.Azure' | |
azure-tests: | |
runs-on: ubuntu-latest | |
if: | | |
github.event_name != 'pull_request' | |
|| github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Bootstrap Action Workspace | |
uses: ./.github/workflows/bootstrap | |
with: | |
azure: 'true' | |
- name: Build | |
shell: bash | |
run: dotnet build -c Release --verbosity minimal | |
- name: 'Read credentials' | |
uses: hashicorp/[email protected] | |
with: | |
url: ${{ secrets.VAULT_ADDR }} | |
roleId: ${{ secrets.VAULT_ROLE_ID }} | |
secretId: ${{ secrets.VAULT_SECRET_ID }} | |
method: approle | |
secrets: | | |
secret/apm-team/ci/apm-agent-dotnet-azure client_id | ARM_CLIENT_ID ; | |
secret/apm-team/ci/apm-agent-dotnet-azure client_secret | ARM_CLIENT_SECRET ; | |
secret/apm-team/ci/apm-agent-dotnet-azure subscription_id | ARM_SUBSCRIPTION_ID ; | |
secret/apm-team/ci/apm-agent-dotnet-azure tenant_id | ARM_TENANT_ID | |
- name: 'Login to Azure' | |
run: | | |
az login --service-principal --username ${{ env.ARM_CLIENT_ID }} --password ${{ env.ARM_CLIENT_SECRET }} --tenant ${{ env.ARM_TENANT_ID }} | |
az account set --subscription ${{ env.ARM_SUBSCRIPTION_ID }} | |
echo "AZURE_RESOURCE_GROUP_PREFIX=ci-dotnet-${GITHUB_RUN_ID}" >> ${GITHUB_ENV} | |
- name: 'Tests: Azure' | |
uses: ./.github/workflows/test | |
with: | |
name: 'azure' | |
filter: 'FullyQualifiedName~Elastic.Apm.Azure' | |
- name: 'Teardown tests infra' | |
if: ${{ always() }} | |
run: | | |
for group in $(az group list --query "[?name | starts_with(@,'${{ env.AZURE_RESOURCE_GROUP_PREFIX }}')]" --out json | jq .[].name --raw-output); do | |
az group delete --name "${group}" --no-wait --yes | |
done | |
startup-hook-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Bootstrap Action Workspace | |
uses: ./.github/workflows/bootstrap | |
- name: Build agent-zip | |
run: ./build.sh agent-zip | |
- name: 'Tests: StartupHooks' | |
uses: ./.github/workflows/test | |
with: | |
name: 'startuphooks' | |
project: 'test/startuphook/Elastic.Apm.StartupHook.Tests/Elastic.Apm.StartupHook.Tests.csproj' | |
profiler-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Bootstrap Action Workspace | |
id: bootstrap | |
uses: ./.github/workflows/bootstrap | |
with: | |
rust: 'true' | |
- name: Build profiler | |
run: ./build.sh profiler-zip | |
- name: 'Tests: Profiler' | |
uses: ./.github/workflows/test | |
with: | |
name: 'profiler' | |
project: 'test/profiler/Elastic.Apm.Profiler.Managed.Tests/Elastic.Apm.Profiler.Managed.Tests.csproj' | |
- name: Build Profiler Docker Image | |
run: | | |
docker build . -t docker.elastic.co/observability/apm-agent-dotnet:${{ steps.bootstrap.outputs.agent-version }} \ | |
--build-arg AGENT_ZIP_FILE=build/output/elastic_apm_profiler_${{ steps.bootstrap.outputs.agent-version }}-linux-x64.zip |