Skip to content

Nightly Build

Nightly Build #2

Workflow file for this run

name: Nightly Build
on:
workflow_dispatch:
# schedule:
# - cron: '0 10 * * *' # Run every day at 10AM UTC
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 }}
slack-notify:
name: Slack Notify if Failed Tests
needs: [run-unit-tests, build, run-integration-tests]
runs-on: ubuntu-latest
if: needs.run-unit-tests.result == 'failure' || needs.build.result == 'failure' || needs.run-integration-tests.result == 'failure'
steps:
- name: Notify Slack on Failure
uses: slackapi/[email protected]
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