From 88e3d96f6703021cff4405f681cd50ab4ffd0a14 Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Wed, 9 Oct 2024 14:00:25 -0700 Subject: [PATCH] NEW (Extension) @W-16812379@ Add production heartbeat test (in progress) --- .github/workflows/production-heartbeat.yml | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/production-heartbeat.yml diff --git a/.github/workflows/production-heartbeat.yml b/.github/workflows/production-heartbeat.yml new file mode 100644 index 0000000..788f1d5 --- /dev/null +++ b/.github/workflows/production-heartbeat.yml @@ -0,0 +1,38 @@ +name: production-heartbeat +on: + workflow_dispatch: # As per documentation, the colon is necessary even though no config is required. + schedule: + # Cron syntax is "minute[0-59] hour[0-23] date[1-31] month[1-12] day[0-6]". '*' is 'any value', and multiple values + # can be specified with comma-separated lists. All times are UTC. + # So this expression means "run at 45 minutes past 1, 5, and 9 AM/PM UTC". The hours were chosen so that + # the jobs run only close to business hours of Central Time. + # Days were chosen to run only from Monday through Friday. + - cron: '45 13,17,21 * * 1,2,3,4,5' +jobs: + production-heartbeat: + strategy: + # By default, if any job in a matrix fails, all other jobs are immediately cancelled. This makes the jobs run to completion instead. + fail-fast: false + matrix: + os: [{vm: ubuntu-latest, exe: .sh}, {vm: windows-2019, exe: .cmd}] + node: ['lts/*'] + runs-on: ${{ matrix.os.vm }} + timeout-minutes: 60 + steps: + # === Setup. We need to get the code, set up nodejs, and create the results directory. === + - uses: actions/checkout@v4 + with: + ref: 'release' + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '11' + - run: mkdir smoke-test-results + + - name: Say Hello World + id: say_hello_world + shell: bash + run: echo "Hello World"