diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..89f8b385 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,16 @@ +### Description + +(PR description goes here) + +### Checklist + +- [ ] `README.md` has been updated or is not required +- [ ] push trigger tests +- [ ] manual release test +- [ ] automated releaes test +- [ ] pull request trigger tests +- [ ] schedule trigger tests +- [ ] workflow errors/warnings reviewed and addressed + +### Testing done +(for each selected checkbox, the corresponding test results link should be listed here) diff --git a/.github/workflows/build-test-release.yaml b/.github/workflows/build-test-release.yaml index ddc75c4b..61404e99 100644 --- a/.github/workflows/build-test-release.yaml +++ b/.github/workflows/build-test-release.yaml @@ -25,7 +25,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} pre-commit: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 diff --git a/.github/workflows/reusable-build-test-release.yml b/.github/workflows/reusable-build-test-release.yml index 5a0f81e4..e49691f9 100644 --- a/.github/workflows/reusable-build-test-release.yml +++ b/.github/workflows/reusable-build-test-release.yml @@ -33,7 +33,7 @@ on: required: false description: "branch for k8s manifests to run the tests on" type: string - default: "v3.0.5" + default: "v3.0.9" scripted-inputs-os-list: required: false description: "list of OS used for scripted input tests" @@ -289,7 +289,7 @@ jobs: uses: fsfe/reuse-action@v1.1 lint: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 @@ -355,7 +355,7 @@ jobs: run-unit-tests: name: test-unit-python3-${{ matrix.python-version }} if: ${{ needs.test-inventory.outputs.unit == 'true' }} - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: - test-inventory strategy: @@ -489,7 +489,7 @@ jobs: path: test-results/* build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: - validate-custom-version - setup-workflow @@ -785,7 +785,7 @@ jobs: version: ${{ steps.BuildVersion.outputs.VERSION }} run-requirements-unit-tests: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: - build - test-inventory @@ -896,7 +896,7 @@ jobs: - build - test-inventory if: ${{ !cancelled() && needs.build.result == 'success' }} - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 outputs: argo-server: ${{ steps.test-setup.outputs.argo-server }} argo-http1: ${{ steps.test-setup.outputs.argo-http1 }} @@ -2333,7 +2333,7 @@ jobs: summary-scripted* pre-publish: - if: ${{ !cancelled() && needs.validate-custom-version.result == 'success' }} + if: ${{ !cancelled() }} # The following line will rename 'pre-publish' to 'pre-publish-not_main_pr' when PR is created towards main branch # It is necessary to avoid confusion caused by githubactions considering pre-publish for both push to develop branch # and pull_request to main branch events. @@ -2376,11 +2376,8 @@ jobs: exit 1 publish: - if: | - (!cancelled() && needs.pre-publish.result == 'success' && github.event_name != 'pull_request' && github.event_name != 'schedule') || - (!cancelled() && needs.pre-publish.result == 'success' && github.event.inputs.custom-version != '' && needs.validate-custom-version.result == 'success') + if: ${{ !cancelled() && needs.pre-publish.result == 'success' && (github.event_name == 'push' || needs.validate-custom-version.result == 'success') }} name: ${{ github.event.inputs.custom-version == '' && 'publish' || 'publish-custom-version' }} - needs: - pre-publish - validate-custom-version diff --git a/README.md b/README.md index 3a801f20..b7e8bde0 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,25 @@ Workflow defines jobs which perform security code scanning, execute different ty * If bugfix release is needed: * make a change * test it + * pull-request scenario + * push scenario + * release scenario (test-addonfactory-repository) * create a PR to the `main` branch * get all the approvals from the team * merge it using "squash commit" option * backport the change back to the `develop` branch * new version of the workflow is going to be released (v4.17.0 (before) -> v4.17.1 (after)) and it will automatically applied to all the repositories -# Troubleshooting for different workflow stages in GitHub Actions +# Workflow jobs + +## Inputs +* marker - list of markers used to paralelize modinput tests +* ui_marker - list of markers used to paralelize ui tests +* custom-version - version used for release on manual workflow trigger +* execute-tests-on-push-to-release - enable tests on release branch - default false +* k8s-enfironment - k8s environment for testing +* k8s-manifests-branch - k8s-manifests branch for testing +* scripted-inputs-os-list - list of OSes used for scripted inputs tests ## General troubleshooting