Skip to content

AYS-464 | Framework Refactoring #60

AYS-464 | Framework Refactoring

AYS-464 | Framework Refactoring #60

# Purpose: This file is used to build the project when a pull request is opened, reopened, edited, synchronized, ready for review, or unlocked.
# Name of the workflow
name: Pull Request Checker
# Trigger the workflow when various types of pull request events occur
on:
pull_request:
types:
- opened # triggers the workflow when a pull request is opened.
- reopened # triggers the workflow when a pull request is reopened after being closed.
- edited # triggers the workflow when a pull request is edited (changes are made to the pull request (the title, description, assignees, labels, or other attributes of the pull request))
- synchronize # triggers the workflow when a pull request is synchronized (changes are pushed to the branch associated with the pull request)
- ready_for_review # triggers the workflow when a pull request is marked as ready for review
- unlocked # triggers the workflow when a previously locked pull request is unlocked
jobs:
build: # Define the "build" job
runs-on: ubuntu-latest # Run the job on the latest version of Ubuntu
steps: # List of steps to execute within the job
- name: Update package cache # Step to update the package cache
run: sudo apt-get update
- name: Checkout code # Step to check out the code from the repository
uses: actions/checkout@v3
- name: Set up Java # Step to set up the Java environment
uses: actions/setup-java@v3
with:
java-version: 17 # Specify Java 17 as the version
distribution: 'zulu' # Use the 'zulu' distribution of Java
- name: Install Maven # Step to install Maven
run: sudo apt-get install -y maven
- name: Copy configuration.properties file from template # Step to create a new 'configuration.properties' file by copying the 'template-configuration.properties'
run: cp sample_configuration.properties configuration.properties
- name: Replace ui.url in configuration.properties # Step to replace the placeholder api.url in configuration.properties
run: sed 's|'{UI_URL}'|'${{ secrets.AYS_UI_URL }}'|g' configuration.properties >> temp_configuration.properties ; rm configuration.properties ; mv temp_configuration.properties configuration.properties
- name: Replace institution_one.admin_user_one.username in configuration.properties # Step to replace the placeholder institution_one.admin_user_one.username in configuration.properties
run: sed 's|'{INSTITUTION_ONE_ADMIN_USER_ONE_USERNAME}'|'${{ secrets.AYS_INSTITUTION_ONE_ADMIN_USER_ONE_USERNAME }}'|g' configuration.properties >> temp_configuration.properties ; rm configuration.properties ; mv temp_configuration.properties configuration.properties
- name: Replace institution_one.admin_user_one.password in configuration.properties # Step to replace the placeholder institution_one.admin_user_one.password in configuration.properties
run: sed 's|'{INSTITUTION_ONE_ADMIN_USER_ONE_PASSWORD}'|'${{ secrets.AYS_INSTITUTION_ONE_ADMIN_USER_ONE_PASSWORD }}'|g' configuration.properties >> temp_configuration.properties ; rm configuration.properties ; mv temp_configuration.properties configuration.properties
- name: Replace institution.super_admin_user_one.username in configuration.properties # Step to replace the placeholder institution_one.admin_user_one.username in configuration.properties
run: sed 's|'{INSTITUTION_SUPER_ADMIN_USER_ONE_USERNAME}'|'${{ secrets.AYS_INSTITUTION_SUPER_ADMIN_USER_ONE_USERNAME }}'|g' configuration.properties >> temp_configuration.properties ; rm configuration.properties ; mv temp_configuration.properties configuration.properties
- name: Replace institution.super_admin_user_one.password in configuration.properties # Step to replace the placeholder institution_one.admin_user_one.password in configuration.properties
run: sed 's|'{INSTITUTION_SUPER_ADMIN_USER_ONE_PASSWORD}'|'${{ secrets.AYS_INSTITUTION_SUPER_ADMIN_USER_ONE_PASSWORD }}'|g' configuration.properties >> temp_configuration.properties ; rm configuration.properties ; mv temp_configuration.properties configuration.properties
- name: Build with Maven # Step to build the project with Maven
run: mvn clean test -P weekly