add ssh test #676
Workflow file for this run
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: CI-Build | |
on: | |
push: | |
workflow_dispatch: | |
workflow_call: | |
inputs: | |
mvnArgs: | |
type: string | |
required: false | |
javaVersion: | |
type: number | |
default: 17 | |
mvnVersion: | |
type: string | |
default: 3.6.3 | |
schedule: | |
- cron: '21 21 * * *' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Java JDK | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ inputs.javaVersion || '17' }} | |
distribution: temurin | |
- name: Install and start SFTP | |
run: | | |
sudo apt install openssh-server | |
sudo systemctl enable ssh | |
sudo systemctl start ssh | |
- name: Create a test user account | |
run: | | |
sshGroupRaw=$(getent group | grep ssh) | |
sshGroup=${sshGroupRaw%:x*} | |
echo "adding user to group ${sshGroup}" | |
sudo useradd -s /bin/bash -d /home/usr -m -g ${sshGroup} -p $(echo pwd | openssl passwd -1 -stdin) usr | |
sudo -u usr ssh-keygen -t rsa -N "123456" -f /home/usr/.ssh/sftptest | |
sudo -u usr sh -c 'cat /home/usr/.ssh/sftptest.pub >> /home/usr/.ssh/authorized_keys' | |
sudo chmod -R 600 /home/usr/.ssh/ | |
sudo chmod 700 /home/usr/.ssh/authorized_keys | |
sudo cp /home/usr/.ssh/sftptest ${GITHUB_WORKSPACE}/sftp-connector-test/src_test/com/axonivy/connector/sftp/test/sftptest | |
sudo ssh-keygen -p -P "123456" -N "123456" -m pem -f ${GITHUB_WORKSPACE}/sftp-connector-test/src_test/com/axonivy/connector/sftp/test/sftptest | |
sudo chown "$(whoami)" ${GITHUB_WORKSPACE}/sftp-connector-test/src_test/com/axonivy/connector/sftp/test/sftptest | |
- name: Setup Maven | |
uses: stCarolas/setup-maven@v5 | |
with: | |
maven-version: ${{ inputs.mvnVersion || '3.6.3' }} | |
- name: Build with Maven | |
run: mvn clean verify --batch-mode --fail-at-end ${{ inputs.mvnArgs }} | |
- name: Publish Unit Test Results | |
uses: EnricoMi/publish-unit-test-result-action@v2 | |
if: always() | |
with: | |
junit_files: | | |
*/target/*-reports/*.xml | |
!*/target/*-reports/failsafe-summary.xml | |
- name: Archive build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
path: | | |
*/target/*.iar | |
*/target/*-[0-9]*.jar | |
*product/target/*.zip | |
- name: Archive test reports | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: test-reports | |
retention-days: 5 | |
path: | | |
*/target/testEngineOut.log | |
*/target/selenide/* | |
*/target/ivyEngine/deploy/*/*.deploymentLog |