Skip to content

Bump Azure.Identity from 1.19.0 to 1.20.0 #2920

Bump Azure.Identity from 1.19.0 to 1.20.0

Bump Azure.Identity from 1.19.0 to 1.20.0 #2920

Workflow file for this run

name: "CI and CD for Frontend"
on:
workflow_dispatch:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
name: "Build, Test and Publish"
if: github.event_name == 'workflow_dispatch' || github.event_name == 'pull_request' || (github.event_name == 'issue_comment' && github.event.issue.pull_request && contains(github.event.comment.body, '/trigger pipeline'))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
statuses: write
checks: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1
with:
egress-policy: audit
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
name: "Check out repository"
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
name: "Setup node"
with:
node-version: "24"
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
src:
- "src/frontend/**"
- if: steps.changes.outputs.src == 'true'
name: "Install dependencies"
run: npm ci
working-directory: "src/frontend"
- if: steps.changes.outputs.src == 'true'
name: "Run pre-commit hooks"
run: |
sudo apt install pipx -y
sudo apt install shellcheck -y
pipx install pre-commit
pre-commit run --all-files || true
- if: steps.changes.outputs.src == 'true'
name: "Build (bundle analysis)"
run: npm run build
working-directory: "src/frontend"
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- if: steps.changes.outputs.src == 'true'
name: "Run tests"
run: npm test
working-directory: "src/frontend"
- if: success() || failure()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: "Upload jest test results"
path: src/frontend/reports/jest-junit.xml
- name: "Markdown lint"
run: |
npx markdownlint-cli2 "**/*.md" --config ".github/.markdownlint.json" "#src/frontend/node_modules"
- name: "Spell check"
run: |
wget https://raw.githubusercontent.com/tbroadley/spellchecker-cli/ddb8f07599b5b15147168d3bcd8bbede0df8d2c7/dictionaries/base.txt
echo "" >> base.txt
echo "azure-devops-extension-" >> base.txt
echo "parens" >> base.txt
echo "emailable" >> base.txt
echo "anonymize" >> base.txt
echo "pre-populated" >> base.txt
echo "favorability" >> base.txt
echo "Dev" >> base.txt
echo "tooltip" >> base.txt
echo "outloud" >> base.txt
echo "timebox" >> base.txt
echo "uncast" >> base.txt
echo "PRs" >> base.txt
echo "CodeCov" >> base.txt
echo "Backend" >> base.txt
echo "Pre-commit" >> base.txt
echo "SignalR" >> base.txt
echo "WIP" >> base.txt
echo "OKR" >> base.txt
echo "OKRs" >> base.txt
echo "CSV" >> base.txt
echo "SDK" >> base.txt
echo "GitHub" >> base.txt
echo "DevOps" >> base.txt
echo "Frontend" >> base.txt
echo "ERD" >> base.txt
echo "Changelog" >> base.txt
echo "changelog" >> base.txt
echo "ReactTable" >> base.txt
echo "README" >> base.txt
echo "OpenSSF" >> base.txt
echo "CI_Backend" >> base.txt
echo "Moq" >> base.txt
echo "xUnit" >> base.txt
echo "Kanban" >> base.txt
echo "enum" >> base.txt
echo "uncheck" >> base.txt
echo "unaggregated" >> base.txt
echo "gitleaks" >> base.txt
echo "ESNext" >> base.txt
echo "ES2020" >> base.txt
echo "JSX" >> base.txt
echo "Async" >> base.txt
echo "PascalCase" >> base.txt
echo "camelCase" >> base.txt
echo "useCallback" >> base.txt
echo "useState" >> base.txt
echo "AdjustIcon" >> base.txt
echo "reconnection" >> base.txt
echo "ZTNA" >> base.txt
echo "WebSocket" >> base.txt
echo "hostname" >> base.txt
echo "on-prem" >> base.txt
echo "allowlist" >> base.txt
echo "favorability-band" >> base.txt
echo "memoizing" >> base.txt
echo "websocket" >> base.txt
npx -y spellchecker-cli --config ./.github/.spellcheckerrc.yaml
- if: steps.changes.outputs.src == 'true'
name: "OpenSSF Score Card"
run: |
#!/bin/bash
set -e
docker run -e GITHUB_AUTH_TOKEN=${{ github.token }} gcr.io/openssf/scorecard:stable@sha256:54c7ea4ddec6e3941887cb7933898c352f59e7f59e17a7a730f97ed348a8dfce --repo=https://github.com/microsoft/vsts-extension-retrospectives || true
- if: steps.changes.outputs.src == 'true'
name: "Upload coverage to Codecov"
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
name: frontend
flags: frontend
codecov_yml_path: .github/codecov.yml
files: src/frontend/coverage/coverage-final.json,src/frontend/coverage/cobertura-coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
- if: steps.changes.outputs.src == 'true'
name: "Prepare package"
working-directory: 'src/frontend'
run: |
cp vss-extension-dev.json.template vss-extension-dev.json
ext_file="vss-extension-dev.json"
cat <<< $(jq 'del(.baseUri)' $ext_file) > $ext_file
cat <<< $(jq ".publisher = \"enginpolat\"" $ext_file) > $ext_file
ext_info=$(npx tfx extension show --no-prompt --json --publisher "enginpolat" --extensionId "retrospective-vsts-extension-dev" --token "${{ secrets.AZURE_DEVOPS_TOKEN }}")
if [[ "$ext_info" != "null" ]]; then
version=$(jq -r '.versions[0].version' <<< "$ext_info")
cat <<< $(jq ".version = \"$version\"" $ext_file) > $ext_file
fi
cat <<< $(jq ".contributions[0].properties.name = \"Retrospectives (Dev)\"" $ext_file) > $ext_file
cp ../../LICENSE ./assets/LICENSE.md
- if: steps.changes.outputs.src == 'true'
name: "Publish extension to dev environment"
working-directory: 'src/frontend'
env:
REACT_APP_COLLABORATION_STATE_SERVICE_URL: ${{ secrets.BACKEND_WEBAPP }}
REACT_APP_APP_INSIGHTS_INSTRUMENTATION_KEY: ${{ secrets.AI_INSTRUMENTATION_KEY }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
AZURE_DEVOPS_TOKEN: ${{ secrets.AZURE_DEVOPS_TOKEN }}
run: >
npm run publish:d