prevent panic when RootSpan not collected yet #526
Workflow file for this run
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
# This file was generated. See https://daggerverse.dev/mod/github.com/dagger/dagger/modules/gha | |
name: Helm | |
"on": | |
push: | |
branches: | |
- main | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
workflow_dispatch: {} | |
permissions: | |
contents: read | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
helm: | |
runs-on: | |
- ubuntu-latest | |
name: Helm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: scripts/install-dagger.sh | |
id: install-dagger | |
run: | | |
#!/bin/bash | |
set -o pipefail | |
# Fallback to /usr/local for backwards compatability | |
prefix_dir="${RUNNER_TEMP:-/usr/local}" | |
# Ensure the dir is writable otherwise fallback to tmpdir | |
if [[ ! -d "$prefix_dir" ]] || [[ ! -w "$prefix_dir" ]]; then | |
prefix_dir="$(mktemp -d)" | |
fi | |
printf '%s/bin' "$prefix_dir" >> $GITHUB_PATH | |
# If the dagger version is 'latest', set the version back to an empty | |
# string. This allows the install script to detect and install the latest | |
# version itself | |
if [[ "$DAGGER_VERSION" == "latest" ]]; then | |
DAGGER_VERSION= | |
fi | |
# The install.sh script creates path ${prefix_dir}/bin | |
curl -fsS https://dl.dagger.io/dagger/install.sh | BIN_DIR=${prefix_dir}/bin sh | |
env: | |
DAGGER_VERSION: v0.15.1 | |
shell: bash | |
- name: scripts/warm-engine.sh | |
id: warm-engine | |
run: | | |
#!/bin/bash | |
# Make sure not to load any implicit module | |
cd $(mktemp -d) | |
# Run a simple query to "warm up" the engine | |
echo '{directory{id}}' | dagger query | |
shell: bash | |
- name: scripts/exec.sh | |
id: exec | |
run: | | |
#!/bin/bash --noprofile --norc -e -o pipefail | |
if [[ -n "$DEBUG" && "$DEBUG" != "0" ]]; then | |
set -x | |
env | |
which dagger | |
pwd | |
ls -l | |
ps aux | |
fi | |
# Detect if a dev engine is available, if so: use that | |
# We don't rely on PATH because the GHA runner messes with that | |
if [[ -n "$_EXPERIMENTAL_DAGGER_CLI_BIN" ]]; then | |
export PATH=$(dirname "$_EXPERIMENTAL_DAGGER_CLI_BIN"):$PATH | |
fi | |
GITHUB_STEP_SUMMARY="${GITHUB_STEP_SUMMARY:=github-summary.md}" | |
export NO_COLOR="${NO_COLOR:=1}" # Disable colors in dagger logs | |
# Ensure the command is provided as an environment variable | |
if [ -z "$COMMAND" ]; then | |
echo "Error: Please set the COMMAND environment variable." | |
exit 1 | |
fi | |
tmp=$(mktemp -d) | |
( | |
cd $tmp | |
# Create named pipes (FIFOs) for stdout and stderr | |
mkfifo stdout.fifo stderr.fifo | |
# Set up tee to capture and display stdout and stderr | |
tee stdout.txt < stdout.fifo & | |
tee stderr.txt < stderr.fifo >&2 & | |
) | |
# Run the command, capturing stdout and stderr in the FIFOs | |
set +e | |
eval "$COMMAND" > $tmp/stdout.fifo 2> $tmp/stderr.fifo | |
EXIT_CODE=$? | |
set -e | |
# Wait for all background jobs to finish | |
wait | |
# Extra trace URL | |
TRACE_URL=$(sed -En 's/^Full trace at (.*)/\1/p' < $tmp/stderr.txt) | |
{ | |
cat <<'.' | |
## Dagger trace | |
. | |
if [[ "$TRACE_URL" == *"rotate dagger.cloud token for full url"* ]]; then | |
cat <<. | |
Cloud token must be rotated. Please follow these steps: | |
1. Go to [Dagger Cloud](https://dagger.cloud) | |
2. Click on your profile icon in the bottom left corner | |
3. Click on "Organization Settings" | |
4. Click on "Regenerate token" | |
5. Update the [\`DAGGER_CLOUD_TOKEN\` secret in your GitHub repository settings](https://github.com/${GITHUB_REPOSITORY:?Error: GITHUB_REPOSITORY is not set}/settings/secrets/actions/DAGGER_CLOUD_TOKEN) | |
. | |
elif [ -n "$TRACE_URL" ]; then | |
echo "[$TRACE_URL]($TRACE_URL)" | |
else | |
echo "No trace available. To setup: [https://dagger.cloud/traces/setup](https://dagger.cloud/traces/setup)" | |
fi | |
cat <<'.' | |
## Dagger version | |
``` | |
. | |
dagger version | |
cat <<'.' | |
``` | |
## Pipeline command | |
```bash | |
. | |
echo "DAGGER_MODULE=$DAGGER_MODULE \\" | |
echo " $COMMAND" | |
cat <<'.' | |
``` | |
## Pipeline output | |
``` | |
. | |
cat $tmp/stdout.txt | |
cat <<'.' | |
``` | |
## Pipeline logs | |
``` | |
. | |
tail -n 1000 $tmp/stderr.txt | |
cat <<'.' | |
``` | |
. | |
} >"${GITHUB_STEP_SUMMARY}" | |
exit $EXIT_CODE | |
env: | |
_EXPERIMENTAL_DAGGER_CLOUD_TOKEN: dag_dagger_sBIv6DsjNerWvTqt2bSFeigBUqWxp9bhh3ONSSgeFnw | |
COMMAND: dagger call -q --docker-cfg=file:$HOME/.docker/config.json check --targets=helm | |
DAGGER_CLOUD_TOKEN: dag_dagger_sBIv6DsjNerWvTqt2bSFeigBUqWxp9bhh3ONSSgeFnw | |
shell: bash | |
timeout-minutes: 10 |