Skip to content

Build Pipeline

Vadim edited this page Jun 9, 2024 · 6 revisions

Palladio-Build-Actions Pipeline

We are using GitHub Actions to build and deploy our projects. The actions are made up of one parent action, the Palladio-Build-ActionsPipeline, which defines pipeline steps for the build.

For deployment, there exists an additional action, the Palladio-Build-ActionsPipeline-Deployment.

The ActionsPipeline calls the ActionsPipeline-Deployment action to deploy the created artifacts to our updatesite.

Pipeline Stages

  • Set up job: Sets some GitHub specific information
  • Build PalladioSimulator/Palladio-Build-ActionsPipeline-Deployment@...: Builds the action used for deployment. This is done using docker
  • Checkout Repository: Does what the name suggests
  • Set up JDK: Installs the specified version of java
  • Verify with Maven: Calls mvn clean verify
  • Check Deployment: Checks if the build was triggered by a push on the main branch (or nightly build). If not the following jobs are skipped.
    • Create folder name: Creates the folder name from the repository naming
    • Create project deployment path: Builds the first part of the path for deployment (path on server and repository name)
    • Create Deployment path: Builds the full path, where the build artifacts are going to be deployed (adds either nightly, release or branch folder structure)
    • Deploy to Updatesite: Calls Palladio-Build-ActionsPipeline-Deployment. This uses SCP and SFTP to deploy the files to the server.
    • Post and Cleanup Stages