Azure / Azure/aci-deploy

Invalid Envronment Variable

Open
#89 0 comments 0 reactions 0 assignees View on GitHub
need-to-triage
Dominant language
TypeScript
Stars
70
Forks
67
PR merge metrics
No merged PRs in 30d

Description

I'm using the workflow file below.
But I'm receiving the following error on the "Run Azure/aci-deploy@v1" step:

> Error: Error: The environment variable name in container 'test' of container group 'test' is invalid. A valid environment variable name must start with alphabetic character or '_', followed by a string of alphanumeric characters or '_' (e.g. 'my_name', or 'MY_NAME', or 'MyName').

From what I can tell, it is either a problem with a multiline string, spaces in the environment variable or both. I have tried surrounding the environment variable with single and double quotes. I even tried to save it as a multiline Github secret.

Any guidance or indications of what could be the problem are appreciated.

```
name: Create and publish a Docker image

on:
push:
branches:
- main
paths:
- test/**
workflow_dispatch:

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}/test
CONTAINER_VERSION: ${{ github.env.CONTAINER_VERSION || 'latest' }}

jobs:
build-and-push-image:
environment: production
runs-on: ubuntu-latest

permissions:
contents: read
packages: write
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
# set latest tag for default branch (by default = 'main')
type=raw,value=latest,enable={{is_default_branch}}

- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: "{{defaultContext}}:test"
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
secrets: |
"TEST_ACCOUNT_ID=${{ secrets.TEST_ACCOUNT_ID }}"
"TEST_LICENSE_KEY=${{ secrets.TEST_LICENSE_KEY }}"
"TEST_EDITION_IDS=${{ secrets.TEST_EDITION_IDS }}"

- name: First Env Variable
run: |
MULTI_LINES_TEXT="[first]
auth_method = ClientSecret
client_id = ${{ secrets.MSGRAPH_CLIENT_ID }}
client_secret = ${{ secrets.MSGRAPH_CLIENT_SECRET }}
allow_unencrypted_storage = True
mailbox = email@company.com
tenant_id = ${{ secrets.AZURE_TENANT_ID }}"

echo "FIRST_CONFIG<> $GITHUB_ENV
echo "$MULTI_LINES_TEXT" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV

- name: Second URL Variable
run: |
echo SECOND_URL="https://second:${{ secrets.SECOND_PASSWORD }}@test.es.us-east-2.aws.elastic-cloud.com:9243/" >> $GITHUB_ENV

- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID}}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}

- uses: Azure/aci-deploy@v1
with:
name: test
location: 'central us'
resource-group: test-container
dns-name-label: test-container
image: ${{ env.REGISTRY }}/company-com/it-test:${{ env.CONTAINER_VERSION }}
registry-login-server: ${{ env.REGISTRY }}
registry-username: gh-automation
registry-password: ${{ secrets.GHCR_PASSWORD }}
cpu: 2
memory: 2
ports: 9998
protocol: UDP
environment-variables: TEST_ONE=true TEST_TWO=true
secure-environment-variables: SECOND_URL=${{ env.SECOND_URL }} FIRST_CONFIG=${{ env.FIRST_CONFIG }}

- name: Azure logout
run: |
az logout
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.