Skip to content

Nightly release

Nightly release #198

Workflow file for this run

name: Nightly release
# Pushes `nightly` image tag as scheduled.
on:
workflow_dispatch:
schedule:
# Scheduled to run at 4 a.m on every day-of-week from Monday through Friday.
- cron: "0 4 * * 1-5"
env:
# Allows to fetch multiple private repo crates with different deploy keys.
CARGO_NET_GIT_FETCH_WITH_CLI: true
jobs:
build-packages:
name: Build packages
uses: ./.github/workflows/component_packages.yml
with:
pre-release: false
tag_name: 0.100.${{ github.run_id }}
secrets: inherit
build-image:
name: Build and Push nightly image
uses: ./.github/workflows/component_image.yml
with:
# the packages are created with 0.100.run_id, however we still push the image with nightly
image-tag: nightly
push: true
secrets: inherit
security-scan:
name: Security scan
needs: [ build-image ]
uses: ./.github/workflows/component_image_security.yml
with:
# the packages are created with 0.100.run_id, however we still push the image with nightly
image-tag: nightly
secrets: inherit
build-nightly:
runs-on: ubuntu-latest
needs: [ build-packages ]
name: Upload packages to testing bucket
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/download-artifact@v4
with:
name: built-binaries
path: ./
- name: Publish deb to S3 action
uses: newrelic/infrastructure-publish-action@v1
with:
tag: 0.100.${{ github.run_id }}
app_name: "newrelic-agent-control"
repo_name: "newrelic/newrelic-agent-control"
schema: "custom-local"
schema_path: "./build/upload-schema-linux-deb-nightly.yml"
aws_access_key_id: ${{ secrets.OHAI_AWS_ACCESS_KEY_ID_TESTING }}
aws_secret_access_key: ${{ secrets.OHAI_AWS_SECRET_ACCESS_KEY_TESTING }}
aws_s3_bucket_name: "nr-downloads-ohai-testing"
aws_s3_lock_bucket_name: "onhost-ci-lock-testing"
access_point_host: "testing"
run_id: ${{ github.run_id }}
aws_region: "us-east-1"
aws_role_session_name: ${{ secrets.OHAI_AWS_ROLE_SESSION_NAME_TESTING }}
aws_role_arn: ${{ secrets.OHAI_AWS_ROLE_ARN_TESTING }}
# used for signing package stuff
gpg_passphrase: ${{ secrets.OHAI_GPG_PASSPHRASE }}
gpg_private_key_base64: ${{ secrets.OHAI_GPG_PRIVATE_KEY_BASE64 }} # base64 encoded
disable_lock: false
dest_prefix: "preview/"
local_packages_path: "/srv/dist/"
apt_skip_mirror: true
# e2e test were not actually testing the new packages! This will be addressed in https://new-relic.atlassian.net/browse/NR-346876
onhost-e2e:
uses: ./.github/workflows/component_onhost_e2e.yaml
needs: [ build-nightly ]
with:
UNIQUE_NAME: "nightly:e2e"
EC2_FILTERS: '[\"ubuntu22.04\"]'
REPOSITORY_ENDPOINT: "http://nr-downloads-ohai-testing.s3-website-us-east-1.amazonaws.com/preview"
PACKAGE_VERSION: 0.100.${{ github.run_id }}
secrets:
AWS_ROLE_ARN: ${{ secrets.TMP_AWS_ROLE_ARN }}
AWS_VPC_SUBNET: ${{ secrets.TMP_AWS_VPC_SUBNET }}
notify-failure:
if: ${{ always() && failure() }}
needs: [ build-image ]
runs-on: ubuntu-latest
steps:
- name: Notify failure via Slack
uses: archive/github-actions-slack@master
with:
slack-bot-user-oauth-access-token: ${{ secrets.COREINT_SLACK_TOKEN }}
slack-channel: ${{ secrets.CAOS_COREINT_SLACK_CHANNEL }}
slack-text: "❌ `newrelic/newrelic-agent-control`: [Nightly release failed](${{ github.server_url }}/newrelic/newrelic-agent-control/actions/runs/${{ github.run_id }})."