Skip to content

Fix #521: allow hyphen in names, prevent empty String #1290

Fix #521: allow hyphen in names, prevent empty String

Fix #521: allow hyphen in names, prevent empty String #1290

# @author Ivan Senic
name: Continuous Integration
# runs on
# * pushes and pull requests on the "main" (pull request only for specific paths)
# * manual trigger
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
paths:
- 'src/**'
- 'pom.xml'
- '.github/workflows/continuous-integration.yaml'
workflow_dispatch:
# cancel same workflows in progress for pull request branches
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
# global env vars, available in all jobs and steps
env:
MAVEN_OPTS: '-Xmx4g'
# Jobs structure:
#
# 1. Runs unit tests
# 2. Then 2 jobs in parallel
# a) Integration tests with docker image
# b) Integration tests with native docker image
jobs:
# runs unit tests
build:
name: Unit tests
runs-on: ubuntu-latest
# max run time 5 minutes
timeout-minutes: 5
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: maven
- name: Build & Test
run: |
./mvnw -B -ntp clean test
# runs int tests
int-tests:
name: Integration tests
needs: [ build ]
runs-on: ubuntu-latest
# max run time 20 minutes
timeout-minutes: 20
strategy:
# let all tests run, can find multiple failures in different setup
fail-fast: false
# matrix props:
matrix:
type: [ docker, native ]
include:
- type: docker
profile: ''
- type: native
profile: '-Pnative'
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: maven
# login to ECR to we can pull coord image from there
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
aws-access-key-id: ${{ secrets.ECR_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.ECR_SECRET_KEY }}
aws-region: us-east-1
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
# run the int tests
- name: Integration Test
env:
COORD_IMAGE: ${{ secrets.ECR_REPOSITORY }}/stargateio/coordinator-dse-next
run: |
./mvnw -B -ntp clean verify -DskipUnitTests -Dquarkus.container-image.build=true -Dquarkus.container-image.tag=${{ github.sha }} -Dstargate.int-test.coordinator.image=$COORD_IMAGE ${{ matrix.profile }}