Skip to content

Retrieve instance tags at the same time to reduce number of entities in Explore related experience #2341

Retrieve instance tags at the same time to reduce number of entities in Explore related experience

Retrieve instance tags at the same time to reduce number of entities in Explore related experience #2341

Workflow file for this run

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: MIT
name: PR Build
on:
workflow_dispatch:
pull_request:
branches:
- main*
- feature*
types:
- opened
- synchronize
- reopened
- ready_for_review
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
jobs:
changes:
name: Check changes
runs-on: ubuntu-latest
outputs:
build: ${{ steps.filter.outputs.build }}
lint: ${{ steps.filter.outputs.lint }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
list-files: shell
filters: .github/config/file-filters.yml
- name: List all updated files
run: |
for file in ${{ steps.filter.outputs.build_files }}; do
echo "$file"
done
lint:
needs: [changes]
name: Check lint
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
if: needs.changes.outputs.lint == 'true'
uses: actions/setup-go@v4
with:
go-version: ~1.22.2
cache: false
- name: Check out code
if: needs.changes.outputs.lint == 'true'
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Check format
if: needs.changes.outputs.lint == 'true'
run: |
make fmt fmt-sh
if [ ! -z "`git status --porcelain`" ]; then
echo "make fmt changed files"
git status
exit 1
fi
- name: Check license and imports
if: needs.changes.outputs.lint == 'true'
run: make lint
build:
needs: [lint, changes]
name: Build ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-2019, windows-latest, macos-13]
include:
- os: ubuntu-latest
family: linux
cache-path: |
~/.cache/go-build
~/go/pkg/mod
- os: macos-13
family: darwin
cache-path: |
~/Library/Caches/go-build
~/go/pkg/mod
- os: windows-2019
family: windows
cache-path: |
~\AppData\Local\go-build
~\go\pkg\mod
- os: windows-latest
family: windows
cache-path: |
~\AppData\Local\go-build
~\go\pkg\mod
steps:
- name: Set up Go 1.x
if: needs.changes.outputs.build == 'true'
uses: actions/setup-go@v4
with:
go-version: ~1.22.2
cache: false
- name: Check out code
if: needs.changes.outputs.build == 'true'
uses: actions/checkout@v3
- name: Cache binaries
id: cached_binaries
if: needs.changes.outputs.build == 'true'
uses: actions/cache@v3
with:
key: "cached-binaries-${{ matrix.os }}-${{ github.sha }}"
path: go.mod
- name: Cache build output
if: steps.cached_binaries.outputs.cache-hit != 'true' && needs.changes.outputs.build == 'true'
uses: actions/cache@v3
with:
path: ${{ matrix.cache-path }}
key: v1-go-pkg-mod-${{ matrix.os }}-${{ hashFiles('**/go.sum') }}
- name: Install make
if: matrix.family == 'windows' && steps.cached_binaries.outputs.cache-hit != 'true' && needs.changes.outputs.build == 'true'
run: choco install make
- name: Unit Test
if: steps.cached_binaries.outputs.cache-hit != 'true' && needs.changes.outputs.build == 'true'
run: make test
- name: Build
if: steps.cached_binaries.outputs.cache-hit != 'true' && needs.changes.outputs.build == 'true'
run: make amazon-cloudwatch-agent-${{ matrix.family }}
test-data-race:
needs: [lint, changes]
name: Test data race
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
if: needs.changes.outputs.build == 'true'
uses: actions/setup-go@v4
with:
go-version: ~1.22.2
cache: false
- name: Check out code
if: needs.changes.outputs.build == 'true'
uses: actions/checkout@v3
- name: Test data race
if: needs.changes.outputs.build == 'true'
run: make test-data-race