-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## Proposed change Weekly job that tests that all currently supported versions are still passing the audits and it-tests Check on IT-tests are currently disabled by default for the weekly job because of instability and discrepancy between yarn3 and yarn4 Example of run: https://github.com/fpaul-1A/otter/actions/runs/12199946300 ## Related issues - 🐛 Fixes #(issue) - 🚀 Feature #(issue) <!-- Please make sure to follow the contributing guidelines on https://github.com/amadeus-digital/Otter/blob/main/CONTRIBUTING.md -->
- Loading branch information
Showing
5 changed files
with
176 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
title: Some releases are failing the automated checks | ||
labels: bug | ||
--- | ||
On {{ date | date('D MMM YYYY') }} some releases failed the automated checks. | ||
Check the [action result]({{ env.RUN_URL }}). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
name: Check all releases (latest patch of each minor version for the last 3 majors) | ||
|
||
on: | ||
workflow_dispatch: | ||
performAudit: | ||
type: boolean | ||
default: true | ||
description: Run Audit | ||
performITTests: | ||
type: boolean | ||
default: false | ||
description: Run IT Tests | ||
schedule: | ||
- cron: "0 0 * * 6" | ||
|
||
permissions: | ||
contents: read | ||
issues: write | ||
|
||
jobs: | ||
findTags: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
tags: ${{ steps.getTags.outputs.TAGS }} | ||
steps: | ||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
with: | ||
fetch-depth: 0 | ||
fetch-tags: true | ||
- name: Get the latest patch of each minor version for the last 3 majors | ||
run: | | ||
# Extract all releases | ||
RELEASE_TAG_PATTERN="^v[0-9]+\.[0-9]+\.[0-9]+$" | ||
ALL_RELEASES=$(git tag -l | sort -V | grep -E $RELEASE_TAG_PATTERN) | ||
SUPPORTED_MAJORS=$(echo $ALL_RELEASES | tr ' ' '\n' | awk -F. '{print $1}' | uniq | tail -n 3) | ||
ALL_SUPPORTED_RELEASES=$(echo $ALL_RELEASES | tr ' ' '\n' | grep -E "^($(echo $SUPPORTED_MAJORS | tr ' ' '|'))\.") | ||
echo "Supported releases: $ALL_SUPPORTED_RELEASES" | ||
# Take the latest minor for each previous major version | ||
LATEST_MINOR_OF_EACH_MAJOR=$(echo $ALL_SUPPORTED_RELEASES | tr ' ' '\n' | awk -F. '{print $1}' | uniq | xargs -I {} sh -c "echo '$ALL_SUPPORTED_RELEASES' | grep -E '^{}.*' | tail -n 1" | head -n -1) | ||
echo "Found latest minor of each major versions: $LATEST_MINOR_OF_EACH_MAJOR" | ||
# Take the latest patch for each minor version of the current major | ||
ALL_LATEST_MAJOR_RELEASES=$(echo $ALL_SUPPORTED_RELEASES | tr ' ' '\n' | awk -F. '{print $1}' | uniq | tail -n 1 | xargs -I {} sh -c "echo '$ALL_SUPPORTED_RELEASES' | grep -E '^{}.*'") | ||
LATEST_PATCH_OF_EACH_MINOR=$(echo $ALL_LATEST_MAJOR_RELEASES | tr ' ' '\n' | awk -F. '{print $1 "." $2}' | uniq | xargs -I {} sh -c "echo '$ALL_LATEST_MAJOR_RELEASES' | grep -E '^{}.*' | tail -n 1") | ||
echo "Found latest patch of each minor versions: $LATEST_PATCH_OF_EACH_MINOR" | ||
# Export output in JSON format | ||
TAGS=$(echo $LATEST_MINOR_OF_EACH_MAJOR $LATEST_PATCH_OF_EACH_MINOR | tr ' ' '\n' | awk '{print "\"" $0 "\""}' | tr '\n' ',') | ||
echo "TAGS=[$TAGS]" >> "$GITHUB_OUTPUT" | ||
id: getTags | ||
|
||
checkRelease: | ||
needs: findTags | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
tag: ${{ fromJSON(needs.findTags.outputs.tags) }} | ||
uses: ./.github/workflows/check-release.yml | ||
with: | ||
ref: ${{ matrix.tag }} | ||
performAudit: ${{ inputs.performAudit || true }} | ||
performITTests: ${{ inputs.performITTests || false }} | ||
|
||
report: | ||
runs-on: ubuntu-latest | ||
needs: checkRelease | ||
if: failure() | ||
steps: | ||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
- name: Create an issue | ||
uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5 # v2.9.2 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
RUN_URL: ${{ format('https://github.com/{0}/actions/runs/{1}/attempts/{2}', github.repository, github.run_id, github.run_attempt || 1) }} | ||
with: | ||
filename: .github/check-release-issue-template.md | ||
update_existing: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
name: Check release | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
ref: | ||
type: string | ||
required: true | ||
description: The branch, tag or SHA to checkout. | ||
performAudit: | ||
type: boolean | ||
default: true | ||
description: Run Audit | ||
performITTests: | ||
type: boolean | ||
default: false | ||
description: Run IT Tests | ||
workflow_call: | ||
inputs: | ||
ref: | ||
type: string | ||
default: '' | ||
description: The branch, tag or SHA to checkout. | ||
performAudit: | ||
type: boolean | ||
default: true | ||
description: Run Audit | ||
performITTests: | ||
type: boolean | ||
default: false | ||
description: Run IT Tests | ||
secrets: | ||
NX_CLOUD_ACCESS_TOKEN: | ||
required: false | ||
description: Token to use Nx Cloud token | ||
|
||
jobs: | ||
auditRelease: | ||
if: inputs.performAudit | ||
uses: ./.github/workflows/audit.yml | ||
with: | ||
ref: ${{ inputs.ref }} | ||
|
||
buildRelease: | ||
if: inputs.performITTests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
with: | ||
ref: ${{ inputs.ref }} | ||
- uses: ./tools/github-actions/setup | ||
- uses: ./.github/actions/setup-java | ||
with: | ||
install-jdk: 'true' | ||
- run: yarn build:swagger-gen | ||
- run: yarn build | ||
- uses: ./tools/github-actions/upload-build-output | ||
with: | ||
artifactName: 'dist-${{ inputs.ref }}' | ||
|
||
testRelease: | ||
if: inputs.performITTests | ||
needs: [buildRelease] | ||
uses: ./.github/workflows/it-tests.yml | ||
with: | ||
ref: ${{ inputs.ref }} | ||
skipNxCache: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters