Fixes workflow file to pass container parameter and also adds default… #2279
This file contains hidden or 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: Structr CI Pipeline | |
| on: | |
| push | |
| jobs: | |
| run-tests: | |
| if: ${{ !startsWith( github.actor, 'dependabot' ) }} | |
| runs-on: self-hosted | |
| environment: build-and-test | |
| strategy: | |
| matrix: | |
| include: | |
| - module: structr-base | |
| variableName: Base | |
| - module: structr-db-driver-api | |
| variableName: DB_DRIVER_API | |
| # - module: structr-memgraph-driver | |
| # variableName: MEMGRAPH_DRIVER | |
| # - module: structr-memory-driver | |
| # variableName: MEMORY_DRIVER | |
| - module: structr-modules | |
| variableName: MODULES | |
| - module: structr-neo4j-bolt-driver | |
| variableName: NEO4J_BOLT_DRIVER | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Install GraalVM | |
| uses: graalvm/setup-graalvm@v1 | |
| with: | |
| java-version: '25' | |
| distribution: 'graalvm-community' | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Compile and run Tests | |
| run: >- | |
| mvn clean install -q -DskipTests -DskipUITests -DskipDist -DskipDocker -DskipDeb && | |
| cd ${{ matrix.module }} && | |
| mvn install -q -DskipDist -DskipDocker -DskipDeb -Dstructr.test.module=${{ matrix.variableName }} | |
| run-ui-tests: | |
| if: ${{ false && !startsWith( github.actor, 'dependabot' ) }} | |
| runs-on: self-hosted | |
| environment: build-and-test | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Install GraalVM | |
| uses: graalvm/setup-graalvm@v1 | |
| with: | |
| java-version: '25' | |
| distribution: 'graalvm-community' | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Compile and run Tests | |
| run: >- | |
| mvn clean install -q -DskipTests -DskipUITests -DskipDist -DskipDocker -DskipDeb && | |
| cd structr-app && | |
| mvn install -q -DskipDist -DskipDocker -DskipDeb | |
| build-and-deploy: | |
| runs-on: self-hosted | |
| environment: build-and-test | |
| if: ${{ success() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/release') }} | |
| needs: run-tests | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Login to Docker Hub | |
| uses: docker/login-action@v2 | |
| with: | |
| username: structr | |
| password: ${{ secrets.STRUCTR_DOCKER_PASSWORD }} | |
| - name: Install GraalVM | |
| uses: graalvm/setup-graalvm@v1 | |
| with: | |
| java-version: '25' | |
| distribution: 'graalvm-community' | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - run: mvn -U clean install -Pwith-sources -DskipTests -DskipUITests | |
| - name: Upload binaries | |
| run: >- | |
| cd structr-app && | |
| scp -v target/structr-*.deb download.structr.com:/files/repositories/upload > /dev/null 2>&1 && | |
| scp -v target/structr-*-dist.zip download.structr.com:/files/repositories/upload >/dev/null 2>&1 | |
| cleanup-system: | |
| runs-on: self-hosted | |
| if: always() | |
| needs: [run-tests, build-and-deploy] | |
| steps: | |
| - name: Cleanup docker | |
| run: | | |
| docker ps --format '{{.ID}} {{.Labels}}' | grep "structr-test-neo4j" | awk '{print $1}' | xargs -r docker rm -f || true | |
| docker rm -f $(docker ps -aq --filter "network=ui-test-network") 2>/dev/null || true | |
| docker container prune -f && docker image prune -f && docker volume prune -f | |
| - name: Cleanup runner home | |
| run: cd ~/actions-runner/_work/ && rm -rf structr |