Skip to content

Check for new core technologies #687

Check for new core technologies

Check for new core technologies #687

name: Check for new core technologies
on:
schedule:
- cron: '0 10 * * *'
workflow_dispatch:
inputs:
daysToSearch:
description: "Days of NuGet history to search for package updates"
default: "1"
type: string
testMode:
description: "If checked, no notification message will be sent to the team channel, nor will any Github issues be created."
type: boolean
default: false
env:
DOTNET_NOLOGO: true
permissions:
contents: read
jobs:
nuget-slack-notifications:
name: Check for core technology package updates
runs-on: ubuntu-latest
permissions:
issues: write
continue-on-error: false
env:
scan-tool-path: ${{ github.workspace }}/.github/workflows/scripts/nugetSlackNotifications
scan-tool-publish-path: ${{ github.workspace }}/publish
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
with:
egress-policy: audit # Leave it audit mode
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- name: Add agent via nuget and then build the tool
run: |
cd ${{ env.scan-tool-path }}
dotnet add nugetSlackNotifications.csproj package NewRelic.Agent
dotnet publish -o ${{ env.scan-tool-publish-path }}
- name: Check for updates to core technology packages
run: |
if [ ${{ inputs.daysToSearch }} != "" ]; then
export DOTTY_DAYS_TO_SEARCH=${{ inputs.daysToSearch }}
fi
if [ "${{ inputs.testMode }}" == "true" ]; then
export DOTTY_TEST_MODE="True"
fi
cd ${{ env.scan-tool-publish-path }}
dotnet ./nugetSlackNotifications.dll ${{ env.nugets }}
shell: bash
env:
DOTTY_WEBHOOK: ${{ secrets.SLACK_NUGET_NOTIFICATIONS_WEBHOOK }}
DOTTY_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CORECLR_ENABLE_PROFILING: 1
CORECLR_NEWRELIC_HOME: ${{ env.scan-tool-publish-path }}/newrelic
CORECLR_PROFILER: "{36032161-FFC0-4B61-B559-F6C5D41BAE5A}"
CORECLR_PROFILER_PATH: ${{ env.scan-tool-publish-path }}/newrelic/libNewRelicProfiler.so
NEW_RELIC_APP_NAME: Dotty
NEW_RELIC_HOST: staging-collector.newrelic.com
NEW_RELIC_LICENSE_KEY: ${{ secrets.STAGING_LICENSE_KEY }}
nugets:
"amazon.lambda.apigatewayevents
amazon.lambda.applicationloadbalancerevents
amazon.lambda.cloudwatchevents
amazon.lambda.dynamodbevents
amazon.lambda.kinesisevents
amazon.lambda.kinesisfirehoseevents
amazon.lambda.s3events
amazon.lambda.simpleemailevents
amazon.lambda.snsevents
amazon.lambda.sqsevents
elasticsearch.net
elastic.clients.elasticsearch
log4net
microsoft.extensions.logging
microsoft.data.sqlclient
microsoft.net.http
mongodb.driver
mysql.data
mysqlconnector
nest
nlog
rabbitmq.client
restsharp
serilog
serilog.extensions.logging
serilog.aspnetcore
serilog.sinks.file
serilog.sinks.console
stackexchange.redis
system.data.sqlclient"