Skip to content

Nightly Build & Test #469

Nightly Build & Test

Nightly Build & Test #469

Workflow file for this run

name: Nightly Build & Test
on:
workflow_dispatch:
permissions:
id-token: write
contents: read
checks: write
packages: write
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
commit_sha: ${{ steps.get-metadata.outputs.commit_sha }}
date_prefix: ${{ steps.get-metadata.outputs.date_prefix }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
clean: true
- name: Get the commit SHA
id: get-metadata
run: |
git_short_sha=$(git rev-parse HEAD | cut -c1-7)
data_prefix=$(date +'%Y/%m/%d/%H')
echo "commit_sha=$git_short_sha" >> $GITHUB_OUTPUT
echo "date_prefix=$data_prefix" >> $GITHUB_OUTPUT
debug-build:
uses: ./.github/workflows/rw-build-container.yml
permissions:
contents: read
packages: write
with:
base_image_tag: ${{ vars.IMAGE_TAG_DEBUG }}
build_type: "debug"
release-build-with-time-traces:
uses: ./.github/workflows/rw-build-container.yml
permissions:
contents: read
packages: write
with:
base_image_tag: ${{ vars.IMAGE_TAG_RELEASE }}
build_type: "release"
springtail_include_time_traces: true
unit-test:
uses: ./.github/workflows/rw-run-unit-test.yml
needs: [ debug-build, prepare ]
permissions:
contents: read
packages: write
checks: write
with:
image_tag: ${{ needs.debug-build.outputs.output_image_tag }}
build_type: "debug"
reuse_code: true
multi-rounds-integration-test:
uses: ./.github/workflows/rw-run-integration-test.yml
needs: [ debug-build, prepare ]
permissions:
contents: read
packages: write
checks: write
with:
image_tag: ${{ needs.debug-build.outputs.output_image_tag }}
config_to_run: "nightly"
system_settings_override: '.github/workflows/nightly.overrides.json'
iterations: "1"
build_type: "debug"
reuse_code: true
timeout_minutes: 120
performance-test:

Check failure on line 77 in .github/workflows/nightly.yml

View workflow run for this annotation

GitHub Actions / Nightly Build & Test

Invalid workflow file

The workflow is not valid. .github/workflows/nightly.yml (Line: 77, Col: 3): Error calling workflow 'Springtail-inc/springtail/.github/workflows/rw-run-performance-test.yml@74bb0711c4b49beaee017396aa95585cc3ce77ea'. The workflow is requesting 'id-token: write', but is only allowed 'id-token: none'.
uses: ./.github/workflows/rw-run-performance-test.yml
needs: [ release-build-with-time-traces, prepare ]
permissions:
contents: read
packages: write
checks: write
with:
image_tag: ${{ needs.release-build-with-time-traces.outputs.output_image_tag }}
system_settings_override: '.github/workflows/nightly.overrides.json'
build_type: "release"
reuse_code: true
slack-notification:
uses: ./.github/workflows/rw-notify-slack.yml
needs: [ prepare, unit-test, multi-rounds-integration-test, performance-test ]
if: needs.unit-test.result != 'skipped' && needs.multi-rounds-integration-test.result != 'skipped' && needs.performance-test.result != 'skipped'
with:
slack_webhook_url: ${{ vars.GENERIC_SLACK_WEBHOOK_URL }}
# Need to create a new channel for PR notifications.
slack_channel: "#nightly-builds"
text: >
Nightly builds has completed for ${{ needs.prepare.outputs.date_prefix }} - ${{ needs.prepare.outputs.commit_sha }}.
attachment: |
{
"color": "${{ needs.unit-test.result == 'success' && needs.multi-rounds-integration-test.result == 'success' && needs.performance-test.result == 'success' && 'good' || 'danger' }}",
"fields": [
{
"title": "Unit Test",
"value": "${{ needs.unit-test.result }}; <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Artifacts>",
"short": false
},
{
"title": "Multi-rounds Integration Test",
"value": "${{ needs.multi-rounds-integration-test.result }}; <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Artifacts>",
"short": false
},
{
"title": "Performance Test",
"value": "${{ needs.performance-test.result }}; <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Artifacts>",
"short": false
},
{
"title": "Commit SHA",
"value": "${{ needs.prepare.outputs.commit_sha }}",
"short": false
}
]
}