Skip to content

chore(GROW-2952): update codeowners #48

chore(GROW-2952): update codeowners

chore(GROW-2952): update codeowners #48

Workflow file for this run

name: Test Build
on:
workflow_dispatch:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
run-unit-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 1.21.x
- name: Run Unit Tests
id: unit
run: |
make prepare
make test
make fmtcheck
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 1.21.x
- name: Build
id: build
run: |
make prepare
make build-cross-platform
run-integration-tests:
runs-on: ubuntu-latest
steps:
# To wait for the existing nightly-build run to complete to avoid running same integration tests at the same time
- name: Turnstyle
uses: softprops/turnstyle@v1
with:
same-branch-only: false
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 1.21.x
- name: Run Integration Tests
id: integration
run: |
make prepare
make clean-test
make integration-test
env:
LW_ACCOUNT: ${{ secrets.LW_ACCOUNT }}.lacework.net
LW_API_KEY: ${{ secrets.LW_API_KEY }}
LW_API_SECRET: ${{ secrets.LW_API_SECRET }}
LW_SUBACCOUNT: ${{ secrets.LW_SUBACCOUNT }}
OCI_CREDENTIALS: ${{ secrets.OCI_CREDENTIALS }}
GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }}
AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }}
DOCKER_CREDENTIALS: ${{ secrets.DOCKER_CREDENTIALS }}
GHCR_CREDENTIALS: ${{ secrets.GHCR_CREDENTIALS }}
CLOUDWATCH_EVENT_BUS_ARN: ${{ secrets.CLOUDWATCH_EVENT_BUS_ARN }}
AWS_ECR_IAM: ${{ secrets.AWS_ECR_IAM }}
AWS_CREDS: ${{ secrets.AWS_CREDS }}
AWS_S3: ${{ secrets.AWS_S3 }}
S3_BUCKET_ARN: ${{ secrets.S3_BUCKET_ARN }}
LW_PUB_SUB_SUBSCRIPTION: ${{ secrets.LW_PUB_SUB_SUBSCRIPTION }}
slack-notify:
name: Slack Notify if Failed Tests
needs: [run-unit-tests, build, run-integration-tests]
runs-on: ubuntu-latest
if: always()
steps:
- name: Notify Slack on Failure
if: ${{ contains(needs.*.result, 'failure') }}
uses: slackapi/slack-github-action@v1.25.0
with:
payload: |
{
"attachments": [
{
"color": "#E92020",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "@oncall-growth-eng! There has been a failure that needs your attention. :rotating_light:\n*GitHub Workflow Failure <${{ github.server_url }}/${{ github.repository }}>*\n\n*Workflow Run*\n <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Workflow>"
}
}
]
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.TF_SLACK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
trigger-release:
if: github.ref == 'refs/heads/main'
needs: [run-unit-tests, build, run-integration-tests]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.TOKEN }}
- name: Trigger release
shell: bash
run: |
echo "$GPG_SECRET_KEY" | base64 --decode | gpg --import --no-tty --batch --yes
scripts/release.sh trigger
env:
GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
GITHUB_TOKEN: ${{ secrets.TOKEN }}
slack-notify-trigger-release:
name: Slack Notify if Failed Tests
needs: trigger-release
runs-on: ubuntu-latest
if: always()
steps:
- name: Notify Slack on Failure
if: ${{ contains(needs.*.result, 'failure') }}
uses: slackapi/slack-github-action@v1.25.0
with:
payload: |
{
"attachments": [
{
"color": "#E92020",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "@oncall-growth-eng! There has been a failure that needs your attention. :rotating_light:\n*GitHub Workflow Failure <${{ github.server_url }}/${{ github.repository }}>*\n\n*Workflow Run*\n <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Workflow>"
}
}
]
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.TF_SLACK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK