SCRUM-4513 #3858
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
name: PR validation | |
on: | |
pull_request: | |
types: [synchronize, opened, reopened, edited] | |
branches: | |
- alpha | |
- beta | |
- production | |
jobs: | |
check-branching-rules: | |
name: Check Branching Rules | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Check branching rules | |
run: | | |
bash ci-scripts/check-branching.sh ${{ github.base_ref }} ${{ github.head_ref }} | |
checkstyle-api: | |
name: Checkstyle API | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Report workflow details | |
run: | | |
echo "Repository ${{ github.repository }}." | |
echo "Trigger ref ${{ github.ref }}, base-ref ${{ github.base_ref }}, head_ref ${{ github.head_ref }}." | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- run: cp src/main/resources/application.properties.defaults src/main/resources/application.properties | |
- name: Report files updated in PR | |
run: | | |
git fetch -q origin ${{ github.base_ref }} ${{ github.head_ref }} | |
git diff --name-only origin/${{ github.base_ref }} origin/${{ github.head_ref }} | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Report runtime details | |
run: | | |
echo "Github runner OS: ${{ runner.os }}" | |
- name: Report Maven version | |
run: | | |
mvn --version | |
- name: Run Check Styles | |
run: | | |
mvn -ntp checkstyle:check | |
verify-api: | |
name: Verify API | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Report workflow details | |
run: | | |
echo "Repository ${{ github.repository }}." | |
echo "Trigger ref ${{ github.ref }}, base-ref ${{ github.base_ref }}, head_ref ${{ github.head_ref }}." | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- run: cp src/main/resources/application.properties.defaults src/main/resources/application.properties | |
- name: Report files updated in PR | |
run: | | |
git fetch -q origin ${{ github.base_ref }} ${{ github.head_ref }} | |
git diff --name-only origin/${{ github.base_ref }} origin/${{ github.head_ref }} | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Report runtime details | |
run: | | |
echo "Github runner OS: ${{ runner.os }}" | |
- id: install-secret-key | |
name: Install gpg secret key | |
run: | | |
cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import | |
gpg --list-secret-keys --keyid-format LONG | |
- name: Report Maven version | |
run: | | |
mvn --version | |
- name: Run Maven verify | |
run: | | |
mvn -ntp --batch-mode --update-snapshots verify | |
test-api: | |
name: Test API | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Report workflow details | |
run: | | |
echo "Repository ${{ github.repository }}." | |
echo "Trigger ref ${{ github.ref }}, base-ref ${{ github.base_ref }}, head_ref ${{ github.head_ref }}." | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- run: cp src/main/resources/application.properties.defaults src/main/resources/application.properties | |
- name: Report files updated in PR | |
run: | | |
git fetch -q origin ${{ github.base_ref }} ${{ github.head_ref }} | |
git diff --name-only origin/${{ github.base_ref }} origin/${{ github.head_ref }} | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Report runtime details | |
run: | | |
echo "Github runner OS: ${{ runner.os }}" | |
- name: Report Maven version | |
run: | | |
mvn --version | |
- name: Run Maven test | |
run: | | |
mvn -ntp test | |
package-api: | |
name: Package API | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Report workflow details | |
run: | | |
echo "Repository ${{ github.repository }}." | |
echo "Trigger ref ${{ github.ref }}, base-ref ${{ github.base_ref }}, head_ref ${{ github.head_ref }}." | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- run: cp src/main/resources/application.properties.defaults src/main/resources/application.properties | |
- name: Report files updated in PR | |
run: | | |
git fetch -q origin ${{ github.base_ref }} ${{ github.head_ref }} | |
git diff --name-only origin/${{ github.base_ref }} origin/${{ github.head_ref }} | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Report runtime details | |
run: | | |
echo "Github runner OS: ${{ runner.os }}" | |
- name: Report Maven version | |
run: | | |
mvn --version | |
- name: Package API | |
run: | | |
mvn -ntp clean package -Dquarkus.package.type=uber-jar -ntp | |
integration-test-api: | |
name: Integration Test API | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Report workflow details | |
run: | | |
echo "Repository ${{ github.repository }}." | |
echo "Trigger ref ${{ github.ref }}, base-ref ${{ github.base_ref }}, head_ref ${{ github.head_ref }}." | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- run: cp src/main/resources/application.properties.defaults src/main/resources/application.properties | |
- name: Report files updated in PR | |
run: | | |
git fetch -q origin ${{ github.base_ref }} ${{ github.head_ref }} | |
git diff --name-only origin/${{ github.base_ref }} origin/${{ github.head_ref }} | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Report runtime details | |
run: | | |
echo "Github runner OS: ${{ runner.os }}" | |
- name: Report Maven version | |
run: | | |
mvn --version | |
- name: Create test containers properties file | |
run: | | |
touch ~/.testcontainers.properties | |
- name: Run Integration tests | |
run: | | |
make integration-test | |
verify-test-ui: | |
name: Verify Test UI | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Report workflow details | |
run: | | |
echo "Repository ${{ github.repository }}." | |
echo "Trigger ref ${{ github.ref }}, base-ref ${{ github.base_ref }}, head_ref ${{ github.head_ref }}." | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- name: Report files updated in PR | |
run: | | |
git fetch -q origin ${{ github.base_ref }} ${{ github.head_ref }} | |
git diff --name-only origin/${{ github.base_ref }} origin/${{ github.head_ref }} | |
- name: Setup Node.js (v18) | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Report Node version | |
run: | | |
node -v | |
- name: Run UI Tests and Build | |
working-directory: src/main/cliapp | |
run: | | |
npm ci | |
npx prettier --check . | |
npm test -- --watchAll=false | |
npm run build | |
test-build-docker-image: | |
name: Test Build Docker Image | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- name: Build docker image | |
env: | |
ECR_REPOSITORY: agr_curation | |
IMAGE_TAG: ${{ github.sha }} | |
run: docker build -t $ECR_REPOSITORY:$IMAGE_TAG . |