Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
paths:
.github/workflows/*.lock.yml:
ignore:
- ".+"

# Also generated by gh-aw
.github/workflows/agentics-maintenance.yml:
ignore:
- ".+"
17 changes: 17 additions & 0 deletions .github/matchers/actionlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "actionlint",
"pattern": [
{
"regexp": "^(?:\\x1b\\[\\d+m)?(.+?)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*: (?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)* \\[(.+?)\\]$",
"file": 1,
"line": 2,
"column": 3,
"message": 4,
"code": 5
}
]
}
]
}
35 changes: 35 additions & 0 deletions .github/workflows/actionlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Actionlint

on:
push:
branches:
- main
paths:
- .github/**
pull_request:
paths:
- .github/**
workflow_dispatch:

permissions:
contents: read

jobs:
actionlint:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
.github

# Content copied from https://raw.githubusercontent.com/rhysd/actionlint/2ab3a12c7848f6c15faca9a92612ef4261d0e370/.github/actionlint-matcher.json
- name: Add ActionLint Problem Matcher
run: echo "::add-matcher::.github/matchers/actionlint.json"

- name: Lint workflows
uses: docker://rhysd/actionlint:1.7.12@sha256:b1934ee5f1c509618f2508e6eb47ee0d3520686341fec936f3b79331f9315667
with:
args: -color -verbose
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
node-version: "20"

- name: Install golangci-lint
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/v2.11.4/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.11.4
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/v2.11.4/install.sh | sh -s -- -b "$(go env GOPATH)/bin" v2.11.4

- name: Install cspell
run: npm install -g cspell@8.13.1
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint-bicep.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ jobs:
- name: Upgrade bicep
run: |
which bicep
sudo curl -o $(which bicep) -L https://github.com/Azure/bicep/releases/download/v0.44.1/bicep-linux-x64
sudo chmod +x $(which bicep)
sudo curl -o "$(which bicep)" -L https://github.com/Azure/bicep/releases/download/v0.44.1/bicep-linux-x64
sudo chmod +x "$(which bicep)"
- name: Lint .bicep files
run: $ErrorActionPreference='Continue'; eng/scripts/Test-BicepLint.ps1 -Verbose
shell: pwsh
2 changes: 1 addition & 1 deletion .github/workflows/test-ext-azure-ai-agents.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
# Use the canonical ci-build.ps1 which includes security flags
# (trimpath, pie, cfi, cfg, osusergo) matching release builds.
# -BuildRecordMode produces both a production and a record-tagged binary.
pwsh -File ci-build.ps1 -BuildRecordMode -OutputFileName azure-ai-agents-linux-amd64 -Version $(cat version.txt | tr -d '\r\n')
pwsh -File ci-build.ps1 -BuildRecordMode -OutputFileName azure-ai-agents-linux-amd64 -Version "$(cat version.txt | tr -d '\r\n')"
# Move production binary to bin/ where azd x pack expects it.
mkdir -p bin
mv azure-ai-agents-linux-amd64 bin/
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/validate-go-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ jobs:
- uses: actions/checkout@v6

- name: Validate Go version consistency
shell: bash
run: |
# Source of truth: cli/azd/go.mod
EXPECTED=$(grep -m1 '^go ' cli/azd/go.mod | awk '{print $2}')
Expand All @@ -30,15 +31,15 @@ jobs:
# Check all go.mod files
echo ""
echo "Checking go.mod files..."
for f in $(find cli/azd -name 'go.mod'); do
while IFS= read -r -d '' f; do
VERSION=$(grep -m1 '^go ' "$f" | awk '{print $2}')
if [ "$VERSION" != "$EXPECTED" ]; then
echo "::error file=$f::Go version mismatch: found '$VERSION', expected '$EXPECTED'"
ERRORS=$((ERRORS + 1))
else
echo " OK: $f ($VERSION)"
fi
done
done < <(find cli/azd -name 'go.mod' -print0)

# Check ADO pipeline template
echo ""
Expand All @@ -57,15 +58,15 @@ jobs:
# Check Dockerfiles referencing golang:<version> base images
echo ""
echo "Checking Dockerfiles..."
for f in $(find cli/azd -name 'Dockerfile'); do
while IFS= read -r -d '' f; do
DOCKER_VERSION=$(grep -oP 'golang:\K[\d.]+' "$f" | head -1)
if [ -n "$DOCKER_VERSION" ] && [ "$DOCKER_VERSION" != "$EXPECTED" ]; then
echo "::error file=$f::Dockerfile golang version mismatch: found '$DOCKER_VERSION', expected '$EXPECTED'"
ERRORS=$((ERRORS + 1))
elif [ -n "$DOCKER_VERSION" ]; then
echo " OK: $f (golang:$DOCKER_VERSION)"
fi
done
done < <(find cli/azd -name 'Dockerfile' -print0)

# Check devcontainer.json Go feature version
echo ""
Expand Down