Skip to content

fix(commit-annotator): handle errors and retry #2838

fix(commit-annotator): handle errors and retry

fix(commit-annotator): handle errors and retry #2838

Workflow file for this run

name: Build and test
on:
push:
branches:
- "main"
tags:
- "v*"
paths-ignore:
- "release-index.yaml"
- "replica-releases/**"
- "node-labels/**"
pull_request:
paths-ignore:
- "release-index.yaml"
- "replica-releases/**"
- "node-labels/**"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
bazel:
runs-on:
labels: dre-runner-custom
# This image is based on ubuntu:20.04
container: ghcr.io/dfinity/dre/actions-runner:e7053069fd8a084a19b410af4dbcba74048136c4
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: "πŸ”’ Ensure singular opentelemetry version in Cargo.lock"
shell: bash
run: test "$(grep -n 'name = "opentelemetry"' Cargo.lock | wc -l)" -le 1
- name: "☁️ Setup runner"
uses: ./.github/workflows/manage-runner-pre
########################################
# Build and test
########################################
- name: "πŸš€ Building"
uses: ./.github/workflows/build
with:
GITHUB_TOKEN: "${{ secrets.GIX_CREATE_PR_PAT }}"
- name: "πŸš€ Testing"
run: bazel test ...
# We don't need the linear-jira build and test step for now
# - name: "πŸš€ Build and Test Linear-Jira with Bazel"
# shell: bash
# run: |
# set -euxo pipefail
# cd linear-jira
# bazel build --config=ci ...
# bazel test --config=ci ... || true
# bazel query --noshow_progress 'kind("oci_push", ...)' | xargs -P $(nproc) -I_target bazel run _target -- --tag ${{ github.sha }}
########################################
# Upload test artifacts
########################################
- name: "πŸ§ͺ Upload test artifacts"
if: ${{ github.ref == 'refs/heads/main' }}
uses: actions/upload-artifact@v4
with:
name: test-artifacts
path: bazel-out/k8-opt/bin/rs/ic-observability/multiservice-discovery/multiservice-discovery
########################################
# Prepare release
########################################
- name: "🚒 Prepare release"
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
uses: ./.github/workflows/prepare-release
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
########################################
# Upload container images
########################################
- name: "πŸ”§ Login to GitHub Container Registry"
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: "πŸ“¦ Push images to GitHub Container Registry"
if: ${{ startsWith(github.ref, 'refs/tags/v') || startsWith(github.head_ref, 'container') || startsWith(github.ref, 'refs/heads/container') || (github.ref == 'refs/heads/main') }}
run: bazel query --noshow_progress 'kind("oci_push", ...)' | xargs -I_target bazel run _target -- --tag ${GITHUB_SHA}
########################################
# Check if dashboard/* changed to see if
# it also needs to be updated in k8s
########################################
- name: "❓ Check if dashboard/* changed in last commit"
id: check
uses: ./.github/workflows/check-modified-files-as-step
with:
path: dashboard/*
- name: "πŸ’² Setting correct paths to update"
id: paths
shell: bash
run: |
files=(
bases/apps/ic-release-controller/controller/controller.yaml
bases/apps/ic-release-controller/commit-annotator/commit-annotator.yaml
bases/apps/mainnet-dashboard/backend/base/deployment.yaml
bases/apps/mainnet-dashboard/statefulset-slack.yaml
bases/apps/service-discovery/service-discovery.yaml
gitlab-ci/vector-configs.yml
)
if [[ $changed == "true" ]]; then
echo "Adding frontend to list of files"
files+=( bases/apps/mainnet-dashboard/frontend/deployment.yaml )
else
echo "Skipping adding of frontend to list of files"
fi
echo "Output of this step:"
echo ${files[@]}
echo "files=${files[@]}" >> $GITHUB_ENV
########################################
# Update k8s deployments
########################################
- name: "πŸ€– Update k8s deployments"
if: ${{ github.ref == 'refs/heads/main' }}
uses: ./.github/workflows/update-k8s-deployments
with:
github_api_token: ${{ secrets.K8S_API_TOKEN }}
########################################
# Deploy to github pages
########################################
- name: "🚒 Deploy to GitHub Pages"
if: ${{ github.ref == 'refs/heads/main' }}
run: |
git config --global user.email "actions@github.com"
git config --global user.name "GitHub Actions"
bazel run "//:mkdocs" -- gh-deploy --force
########################################
# Clean up runner
########################################
- uses: ./.github/workflows/manage-runner-post
name: "πŸͺ“ Tear down runner"
if: ${{ !startsWith(runner.name, 'dre-runner-custom') }}
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}