Skip to content

ensure GITHUB_TOKEN is set explicitly for gh release upload #360

ensure GITHUB_TOKEN is set explicitly for gh release upload

ensure GITHUB_TOKEN is set explicitly for gh release upload #360

Workflow file for this run

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