|
| 1 | +name: production-heartbeat |
| 2 | +on: |
| 3 | + workflow_dispatch: # As per documentation, the colon is necessary even though no config is required. |
| 4 | + schedule: |
| 5 | + # Cron syntax is "minute[0-59] hour[0-23] date[1-31] month[1-12] day[0-6]". '*' is 'any value', and multiple values |
| 6 | + # can be specified with comma-separated lists. All times are UTC. |
| 7 | + # So this expression means "run at 45 minutes past 1, 5, and 9 AM/PM UTC". The hours were chosen so that |
| 8 | + # the jobs run only close to business hours of Central Time. |
| 9 | + # Days were chosen to run only from Monday through Friday. |
| 10 | + - cron: '45 13,17,21 * * 1,2,3,4,5' |
| 11 | +jobs: |
| 12 | + production-heartbeat: |
| 13 | + strategy: |
| 14 | + # By default, if any job in a matrix fails, all other jobs are immediately cancelled. This makes the jobs run to completion instead. |
| 15 | + fail-fast: false |
| 16 | + matrix: |
| 17 | + os: [{vm: ubuntu-latest, exe: .sh}, {vm: windows-2019, exe: .cmd}] |
| 18 | + node: ['lts/*'] |
| 19 | + runs-on: ${{ matrix.os.vm }} |
| 20 | + timeout-minutes: 60 |
| 21 | + steps: |
| 22 | + # === Setup. We need to get the code, set up nodejs, and create the results directory. === |
| 23 | + - uses: actions/checkout@v4 |
| 24 | + with: |
| 25 | + ref: 'release' |
| 26 | + - uses: actions/setup-node@v4 |
| 27 | + with: |
| 28 | + node-version: ${{ matrix.node }} |
| 29 | + - uses: actions/setup-java@v4 |
| 30 | + with: |
| 31 | + distribution: 'temurin' |
| 32 | + java-version: '11' |
| 33 | + - run: mkdir smoke-test-results |
| 34 | + |
| 35 | + - name: Say Hello World |
| 36 | + id: say_hello_world |
| 37 | + shell: bash |
| 38 | + run: echo "Hello World" |
0 commit comments