diff --git a/.github/INTEGRATION_TESTS_ISSUE_TEMPLATE.md b/.github/INTEGRATION_TESTS_ISSUE_TEMPLATE.md new file mode 100644 index 000000000000..6588f4587dc1 --- /dev/null +++ b/.github/INTEGRATION_TESTS_ISSUE_TEMPLATE.md @@ -0,0 +1,8 @@ +--- +title: "[automated] Integration test failure" +labels: ["Bug"] +--- + +## Description + +Integration tests failed. Please [check the logs]({{ env.WORKFLOW_URL }}) for more information. diff --git a/.github/workflows/forest.yml b/.github/workflows/forest.yml index 7d5aa9ef3f2a..2a1db8a72833 100644 --- a/.github/workflows/forest.yml +++ b/.github/workflows/forest.yml @@ -3,6 +3,8 @@ concurrency: group: "${{ github.workflow }}-${{ github.ref }}" cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} on: + schedule: + - cron: "0 0 * * 0" # Runs at 00:00, only on Sunday workflow_dispatch: merge_group: pull_request: @@ -269,6 +271,7 @@ jobs: fi timeout-minutes: ${{ fromJSON(env.SCRIPT_TIMEOUT_MINUTES) }} calibnet-export-check-v1: + if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'Release')) }} needs: - build-ubuntu name: V1 snapshot export checks @@ -636,7 +639,6 @@ jobs: - calibnet-stateless-rpc-check - state-migrations-check - calibnet-wallet-check - - calibnet-export-check-v1 - calibnet-export-check-v2 - calibnet-no-discovery-checks - calibnet-kademlia-checks @@ -651,3 +653,24 @@ jobs: runs-on: ubuntu-24.04 steps: - run: echo "All integration tests passed." + + extra_tests: + if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'Release')) }} + runs-on: ubuntu-24.04 + needs: + - calibnet-export-check-v1 + name: Additional integration tests status + steps: + - run: echo "All extra integration tests passed." + - name: Set WORKFLOW_URL + if: always() + run: | + export WORKFLOW_URL="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" + echo ${WORKFLOW_URL} + echo "WORKFLOW_URL=${WORKFLOW_URL}" >> $GITHUB_ENV + - uses: JasonEtco/create-an-issue@v2 + if: github.ref == 'refs/heads/main' && failure() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + filename: .github/INTEGRATION_TESTS_ISSUE_TEMPLATE.md diff --git a/documentation/src/developer_documentation/release_checklist.md b/documentation/src/developer_documentation/release_checklist.md index 540c2c6bc775..aff42a662242 100644 --- a/documentation/src/developer_documentation/release_checklist.md +++ b/documentation/src/developer_documentation/release_checklist.md @@ -20,10 +20,9 @@ Make a pull request with the following changes: be released. Make sure that the updated files do **not** contain a `[patch.crates-io]` section, otherwise you won't be able to make a release on [crates.io](https://crates.io/). -- Run the manual tests steps outlined in the TEST_PLAN.md. Caveat: Right now - there are no manual test steps so this step can be skipped. - Make sure to run `cargo publish --dry-run` and include the `Cargo.lock` crate version change in the release. +- The Pull Request must have the `Release` label. ## Release on GitHub