Skip to content

Update SchemesCDIConfigBuilder.java #3

Update SchemesCDIConfigBuilder.java

Update SchemesCDIConfigBuilder.java #3

Workflow file for this run

# name: Build and Test
# concurrency:
# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
# cancel-in-progress: true
# on:
# workflow_dispatch:
# inputs:
# archive_test_results:
# description: 'If set to true, the unit and integration test results will be archived to the build artifacts page.'
# required: false
# default: 'false'
# # DAT branches can get triggered from this logic
# pull_request_target:
# types:
# - opened
# - reopened
# - synchronize
# - labeled
# push:
# branches:
# - master
# - main
# - github-action-**
# paths-ignore:
# - '**.md'
# env:
# MAVEN_VERSION: '3.9.2'
# jobs:
# check_build_safety:
# permissions:
# contents: none
# name: Check if Build should be done
# runs-on: ubuntu-22.04
# steps:
# - name: Emit failure code for unsafe fork PRs
# if: github.event.pull_request && github.event.pull_request.head.repo.full_name != 'liquibase/liquibase' && github.event.label.name != 'SafeToBuild'
# run: |
# echo "PR from Fork is NOT safe to build"
# echo "A member of Liquibase team needs to apply label 'SafeToBuild'! "
# exit 1
# setup:
# name: Setup
# needs: check_build_safety
# runs-on: ubuntu-22.04
# outputs:
# proBranchName: ${{ steps.find-branches.outputs.proBranchName }}
# proBranchSha: ${{ steps.find-branches.outputs.proBranchSha }}
# thisSha: ${{ steps.find-branches.outputs.thisSha }}
# thisBranchName: ${{ steps.find-branches.outputs.thisBranchName }}
# thisBranchFileName: ${{ steps.find-branches.outputs.thisBranchFileName }}
# thisRepositoryName: ${{ steps.find-branches.outputs.thisRepoName }}
# thisRepositoryOwner: ${{ steps.find-branches.outputs.thisRepoName }}
# standAlonePR: ${{ steps.find-branches.outputs.standAlonePR }}
# stablePro: ${{ steps.find-branches.outputs.stablePro }}
# timestamp: ${{ steps.get-date.outputs.date }}
# setupSuccessful: "true"
# steps:
# - name: Failsafe
# uses: actions/github-script@v6
# with:
# script: |
# if (${{ github.run_attempt }} % 5 == 0) {
# core.setFailed("Fail every 5 run attempts to catch accidental infinite loops");
# }
# - uses: actions/checkout@v3
# with:
# ref: ${{ github.event.pull_request.head.sha || github.event.after}}
# - name: Get current date
# id: get-date
# run: echo "::set-output name=date::$(date +'%Y-%m-%d %H:%M:%S %Z')"
# - name: Find corresponding branches
# id: find-branches
# uses: actions/github-script@v6
# with:
# github-token: ${{ secrets.BOT_TOKEN }}
# script: |
# const helper = require('./.github/util/workflow-helper.js')({github, context});
# core.setOutput("thisSha", helper.getCurrentSha());
# core.setOutput("thisBranchName", helper.getCurrentBranch());
# core.setOutput("thisBranchFileName", helper.getCurrentBranch().replace(/[^a-zA-Z0-9\-_]/g, "_"));
# core.setOutput("thisRepoName", helper.getRepositoryName());
# core.setOutput("thisRepoOwner", helper.getRepositoryOwner());
# let proStatusMessage = "success";
# let proFailed = false;
# let branch = await helper.findMatchingBranch("liquibase", "liquibase-pro");
# //count as not a stand-alone PR for branch builds on master/main, even though there are no PRs
# if (helper.getCurrentBranch() == 'master' || helper.getCurrentBranch() == 'main' && branch.pullRequestId) {
# core.setOutput("standAlonePR", helper.getCurrentBranch() !== branch.name);
# } else {
# core.setOutput("standAlonePR", true);
# }
# if (!branch.lastSuccessfulRunNumber) {
# proFailed = true;
# proStatusMessage = "Matching pro branch has never passed. Falling back to master"
# branch = await helper.findMatchingBranch("liquibase", "liquibase-pro", ["main", "master"])
# }
# core.setOutput("proBranchName", branch.name);
# core.setOutput("proBranchSha", branch.sha);
# if (!proFailed) {
# if (!branch.workflowId) {
# proStatusMessage = "does not have a ran workflow";
# proFailed = true
# } else if ( branch.runStatus != "completed") {
# proStatusMessage = "build is "+ branch.runStatus;
# proFailed = true
# } else if ( branch.runConclusion != "success") {
# proStatusMessage = "build conclusion was "+branch.runConclusion;
# proFailed = true
# }
# }
# statusMessage = "liquibase/liquibase-pro:"+branch.name+"@" + branch.sha.substring(0, 7) + " " + proStatusMessage;
# console.log("Pro failed?" + proFailed + ": "+statusMessage);
# github.rest.repos.createCommitStatus({
# "owner": "liquibase",
# "repo": "liquibase",
# "sha": helper.getCurrentSha(),
# "state": (proFailed ? "failure" : "success"),
# "target_url": branch.runHtmlUrl,
# "context": "Stable Liquibase Pro",
# "description": statusMessage
# });
# core.setOutput("stablePro", !proFailed);
# - name: Upload Event File
# uses: actions/upload-artifact@v3
# with:
# name: Event File
# path: ${{ github.event_path }}
# build:
# name: Build & Test (Java ${{ matrix.java }} ${{ matrix.os }})
# needs: setup
# strategy:
# fail-fast: false
# matrix:
# os: [ ubuntu-22.04, macos-latest, windows-2019 ]
# java: [ 8, 11, 17, 20 ]
# exclude:
# # exclude non-java 8 on macos and windows builds
# - os: macos-latest
# java: 11
# - os: windows-2019
# java: 11
# - os: macos-latest
# java: 17
# - os: windows-2019
# java: 17
# - os: macos-latest
# java: 20
# - os: windows-2019
# java: 20
# runs-on: ${{ matrix.os }}
# env:
# OS_TYPE: ${{ matrix.os }}
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v3
# with:
# ref: ${{ github.event.pull_request.head.sha || github.event.after}}
# - name: Built Code Cache
# if: ${{ matrix.java == 11}}
# uses: actions/[email protected]
# with:
# key: built-code-${{ github.run_number }}-${{ github.run_attempt }}
# path: ./**/target
# - name: Get cache
# run: |
# cd ./**/target
# ls -ls
# - name: Set up JDK ${{ matrix.java }}
# uses: actions/setup-java@v3
# with:
# java-version: ${{ matrix.java }}
# distribution: 'temurin'
# cache: 'maven'
# # getting from build results page. If we remove 0-snapshot then we will need settings.xml
# - name: Set up Maven
# uses: stCarolas/[email protected]
# with:
# maven-version: ${{ env.MAVEN_VERSION }}
# - name: Build & Test Java 8
# if: ${{ matrix.java == 8}}
# run: |
# mvn -B "-Dbuild.repository.owner=${{ needs.setup.outputs.thisRepositoryOwner }}" "-Dbuild.repository.name=${{ needs.setup.outputs.thisRepositoryName }}" "-Dbuild.branch=${{ needs.setup.outputs.thisBranchName }}" "-Dbuild.number=${{ github.run_number }}" "-Dbuild.commit=${{ needs.setup.outputs.thisSha }}" "-DtrimStackTrace=false" -pl '!liquibase-cdi-jakarta' clean test package surefire-report:report
# - name: Build & Test Java non-jdk-8
# if: ${{ matrix.java != 8}}
# run: |
# mvn -B "-Dbuild.repository.owner=${{ needs.setup.outputs.thisRepositoryOwner }}" "-Dbuild.repository.name=${{ needs.setup.outputs.thisRepositoryName }}" "-Dbuild.branch=${{ needs.setup.outputs.thisBranchName }}" "-Dbuild.number=${{ github.run_number }}" "-Dbuild.commit=${{ needs.setup.outputs.thisSha }}" "-DtrimStackTrace=false" clean test package surefire-report:report
# - name: Remove Original Jars for *nix
# if: env.OS_TYPE != 'windows-2019'
# run: |
# find . -name original-*.jar -exec rm {} \;
# - name: Archive Test Results
# if: ${{ inputs.archive_test_results == 'true' }}
# uses: actions/upload-artifact@v3
# with:
# name: liquibase-test-results-jdk${{ matrix.java }}
# path: |
# ./**/target/surefire-reports
# ./**/target/site
# - name: Archive Modules
# if: ${{ matrix.java == 11 && matrix.os == 'ubuntu-22.04'}}
# uses: actions/upload-artifact@v3
# with:
# name: liquibase-modules
# path: |
# */target/*-0-SNAPSHOT.jar
# sonar:
# name: Sonar Scan
# runs-on: ubuntu-22.04
# needs: build
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
# ref: ${{ github.event.pull_request.head.sha || github.event.after}}
# - name: Set up JDK
# uses: actions/setup-java@v3
# with:
# java-version: 11
# distribution: 'adopt'
# cache: 'maven'
# # getting from build results page. If we remove 0-snapshot then we will need settings.xml
# - name: Set up Maven
# uses: stCarolas/[email protected]
# with:
# maven-version: ${{ env.MAVEN_VERSION }}
# - name: Cache SonarCloud packages
# uses: actions/[email protected]
# with:
# path: ~/.sonar/cache
# key: ${{ runner.os }}-sonar
# restore-keys: ${{ runner.os }}-sonar
# - name: Build and analyze
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
# run: mvn clean verify sonar:sonar -P sonar -Dsonar.login=$SONAR_TOKEN -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}
# integration-test:
# name: Integration Test
# runs-on: ubuntu-22.04
# strategy:
# fail-fast: false
# matrix:
# testSystem:
# - h2
# # - h2:1.4
# - hsqldb
# - mariadb
# - mssql
# - mysql
# - oracle
# - postgresql
# - sqlite
# - firebird
# needs: build
# timeout-minutes: 30
# steps:
# - uses: actions/checkout@v3
# with:
# ref: ${{ github.event.pull_request.head.sha || github.event.after}}
# - name: Prepare
# id: prepare
# uses: actions/github-script@v6
# with:
# script: |
# core.setOutput("testResultsArtifact", "liquibase-test-results-integration-${{ matrix.testSystem }}".replace(/[^a-zA-Z0-9\-_]/g, "_"));
# - name: Set up JDK 8
# uses: actions/setup-java@v3
# with:
# java-version: '8'
# distribution: 'temurin'
# cache: 'maven'
# # getting from build results page. If we remove 0-snapshot then we will need settings.xml
# - name: Set up Maven
# uses: stCarolas/[email protected]
# with:
# maven-version: ${{ env.MAVEN_VERSION }}
# - name: Restore Built Code Cache
# uses: actions/[email protected]
# with:
# key: built-code-${{ github.run_number }}-${{ github.run_attempt }}
# path: ./**/target
# - name: Login to Artifactory
# uses: docker/login-action@v2
# with:
# registry: docker-dev.artifactory.datical.net
# username: ${{ secrets.ARTIFACTORY_USER }}
# password: ${{ secrets.ARTIFACTORY_TOKEN }}
# - name: Run Tests
# run: mvn -B jar:jar jar:test-jar surefire:test -DtrimStackTrace=false -Dliquibase.sdk.testSystem.test=${{ matrix.testSystem }} -Dliquibase.sdk.testSystem.acceptLicenses=${{ matrix.testSystem }} -Dtest=*IntegrationTest,*ExecutorTest -DfailIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false
# - name: Archive Test Results
# if: ${{ inputs.archive_test_results == 'true' }}
# uses: actions/upload-artifact@v3
# with:
# name: ${{ steps.prepare.outputs.testResultsArtifact }}
# path: |
# ./**/target/surefire-reports
# package:
# name: Package Artifacts
# runs-on: macos-latest
# needs: [ setup, build ]
# steps:
# - uses: actions/checkout@v3
# with:
# ref: ${{ github.event.pull_request.head.sha || github.event.after}}
# # this includes all the tar files included in the previous runs. So in the next step we deploy what was previously build
# - name: Built Code Cache
# uses: actions/[email protected]
# with:
# key: built-code-${{ github.run_number }}-${{ github.run_attempt }}
# path: ./**/target
# - name: What is in the cache
# run: |
# ls ./**/target
# ##Cache based on install4j file, since changes to JVM is seen in there. If install4j version changes without changing the file, change the prefix letter before hashFiles to force a new cache
# - name: Install4j Cache
# uses: actions/[email protected]
# with:
# key: install4j-A${{ hashFiles('liquibase-dist/src/main/install4j/liquibase.install4j') }}
# path: ~/.install4j8/**
# - name: Set up JDK 11
# uses: actions/setup-java@v3
# with:
# java-version: '11'
# distribution: 'temurin'
# gpg-private-key: ${{ secrets.GPG_SECRET }}
# gpg-passphrase: GPG_PASSPHRASE
# cache: 'maven'
# overwrite-settings: false
# env:
# GPG_PASSWORD: ${{ secrets.GPG_PASSPHRASE }}
# # look for dependencies in maven
# - name: maven-settings-xml-action
# uses: whelk-io/maven-settings-xml-action@v20
# with:
# repositories: |
# [
# {
# "id": "liquibase",
# "url": "https://maven.pkg.github.com/liquibase/liquibase",
# "releases": {
# "enabled": "false"
# },
# "snapshots": {
# "enabled": "true",
# "updatePolicy": "always"
# }
# },
# {
# "id": "liquibase-pro",
# "url": "https://maven.pkg.github.com/liquibase/liquibase-pro",
# "releases": {
# "enabled": "false"
# },
# "snapshots": {
# "enabled": "true",
# "updatePolicy": "always"
# }
# }
# ]
# servers: |
# [
# {
# "id": "liquibase-pro",
# "username": "liquibot",
# "password": "${{ secrets.LIQUIBOT_PAT }}"
# },
# {
# "id": "liquibase",
# "username": "liquibot",
# "password": "${{ secrets.LIQUIBOT_PAT }}"
# }
# ]
# - name: Set up Maven
# uses: stCarolas/[email protected]
# with:
# maven-version: ${{ env.MAVEN_VERSION }}
# # Version artifact based off of branch
# - name: Version Artifact
# run: |
# version=${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT
# # Replace / with - in branch name
# version=$(echo "$version" | sed 's/\//-/g')
# mvn versions:set -DnewVersion="$version"
# - name: Build & Sign Artifacts
# env:
# INSTALL4J_LICENSE: ${{ secrets.INSTALL4J_LICENSE }}
# INSTALL4J_APPLE_KEY: ${{ secrets.INSTALL4J_APPLE_KEY }}
# INSTALL4J_APPLE_KEY_PASSWORD: ${{ secrets.INSTALL4J_APPLE_KEY_PASSWORD }}
# INSTALL4J_APPLE_ID: ${{ secrets.INSTALL4J_APPLE_ID }}
# INSTALL4J_APPLE_ID_PASSWORD: ${{ secrets.INSTALL4J_APPLE_ID_PASSWORD }}
# INSTALL4J_WINDOWS_KEY: ${{ secrets.INSTALL4J_WINDOWS_KEY }}
# INSTALL4J_WINDOWS_KEY_PASSWORD: ${{ secrets.INSTALL4J_WINDOWS_KEY_PASSWORD }}
# GPG_PASSWORD: ${{ secrets.GPG_PASSPHRASE }}
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run: |
# ## save install4j code signing keys
# mkdir -p liquibase-dist/target/keys
# echo "Saving apple key"
# echo "$INSTALL4J_APPLE_KEY" | base64 -d > liquibase-dist/target/keys/datical_apple.p12
# echo "Saving windows key"
# echo "$INSTALL4J_WINDOWS_KEY" | base64 -d > liquibase-dist/target/keys/datical_windows.pfx
# # we are packaging and deploying liquibase tar which includes liquibase-commercial
# mvn -B -pl liquibase-dist -P liquibase-commercial source:jar package "-Dliquibase-pro.version=${{ needs.setup.outputs.proBranchName }}-SNAPSHOT" "-Dbuild.repository.owner=${{ needs.setup.outputs.thisRepositoryOwner }}" "-Dbuild.repository.name=${{ needs.setup.outputs.thisRepositoryName }}" "-Dbuild.branch=${{ needs.setup.outputs.thisBranchFileName }}" "-Dbuild.number=${{ github.run_number }}" "-Dbuild.commit=${{ needs.setup.outputs.thisSha }}" "-Dbuild.timestamp=${{ needs.setup.outputs.timestamp }}"
# ## extract tar content for other artifacts
# mkdir -p liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT
# (cd liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT && tar -xzf ../liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT.tar.gz)
# ##create zip file from tar content
# (cd liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT && zip -r ../liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT.zip *)
# ls liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT
# ##create installer - disabled here but run as nightly job and as part of release workflow
# # (cd liquibase-dist && ${{ github.workspace }}/.github/util/package-install4j.sh 0-SNAPSHOT)
# find . -name original-*.jar -exec rm {} \;
# mkdir -p artifacts
# cp liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT.tar.gz artifacts
# cp liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT.zip artifacts
# cp liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT/internal/lib/liquibase-core.jar artifacts/liquibase-core-0-SNAPSHOT.jar
# cp liquibase-core/target/liquibase-core-0-SNAPSHOT-sources.jar artifacts/liquibase-core-0-SNAPSHOT-sources.jar
# cp target/liquibase-0-SNAPSHOT-javadoc.jar artifacts/liquibase-core-0-SNAPSHOT-javadoc.jar
# ##create installer - disabled here but run as nightly job and as part of release workflow
# #cp liquibase-dist/target/liquibase-*-installer-* artifacts
# cp liquibase-maven-plugin/target/liquibase-maven-plugin-0-SNAPSHOT.jar artifacts
# cp liquibase-maven-plugin/target/liquibase-maven-plugin-0-SNAPSHOT-sources.jar artifacts
# cp liquibase-maven-plugin/target/liquibase-maven-plugin-0-SNAPSHOT-javadoc.jar artifacts
# cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT.jar artifacts
# cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT-sources.jar artifacts
# cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT-javadoc.jar artifacts
# cp liquibase-cdi-jakarta/target/liquibase-cdi-jakarta-0-SNAPSHOT.jar artifacts
# cp liquibase-cdi-jakarta/target/liquibase-cdi-jakarta-0-SNAPSHOT-sources.jar artifacts
# cp liquibase-cdi-jakarta/target/liquibase-cdi-jakarta-0-SNAPSHOT-javadoc.jar artifacts
# echo "Source code not available for liquibase-commercial" > /tmp/readme.source.txt
# (cd /tmp && jar cf liquibase-commercial-${{ needs.setup.outputs.proBranchName }}-SNAPSHOT-sources.jar readme.source.txt)
# echo "Javadocs not available for liquibase-commercial" > /tmp/readme.javadocs.txt
# (cd /tmp && jar cf liquibase-commercial-${{ needs.setup.outputs.proBranchName }}-SNAPSHOT-javadoc.jar readme.javadocs.txt)
# commercialJarM2Location=/Users/runner/.m2/repository/org/liquibase/liquibase-commercial/${{ needs.setup.outputs.proBranchName }}-SNAPSHOT/liquibase-commercial-${{ needs.setup.outputs.proBranchName }}-SNAPSHOT.jar
# cp $commercialJarM2Location artifacts
# cp /tmp/liquibase-commercial-${{ needs.setup.outputs.proBranchName }}-SNAPSHOT-sources.jar artifacts
# cp /tmp/liquibase-commercial-${{ needs.setup.outputs.proBranchName }}-SNAPSHOT-javadoc.jar artifacts
# .github/util/sign-artifacts.sh artifacts
# ##prepare branch-named convenience artifacts directories
# mkdir artifacts-named
# cp liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT.tar.gz artifacts-named/liquibase-${{ needs.setup.outputs.thisBranchFileName }}.tar.gz
# cp liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT/internal/lib/liquibase-core.jar artifacts-named/liquibase-core-${{ needs.setup.outputs.thisBranchFileName }}.jar
# #cp liquibase-core/target/liquibase-core-0-SNAPSHOT.jar artifacts-named/liquibase-core-${{ needs.setup.outputs.thisBranchFileName }}.jar
# cp liquibase-maven-plugin/target/liquibase-maven-plugin-0-SNAPSHOT.jar artifacts-named/liquibase-maven-plugin-${{ needs.setup.outputs.thisBranchFileName }}.jar
# cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT.jar artifacts-named/liquibase-cdi-${{ needs.setup.outputs.thisBranchFileName }}.jar
# cp liquibase-cdi-jakarta/target/liquibase-cdi-jakarta-0-SNAPSHOT.jar artifacts-named/liquibase-cdi-jakarta-${{ needs.setup.outputs.thisBranchFileName }}.jar
# cp liquibase-extension-testing/target/liquibase-extension-testing-0-SNAPSHOT.jar artifacts-named/liquibase-extension-testing-${{ needs.setup.outputs.thisBranchFileName }}.jar
# cp liquibase-extension-testing/target/liquibase-extension-testing-0-SNAPSHOT-deps.jar artifacts-named/liquibase-extension-testing-${{ needs.setup.outputs.thisBranchFileName }}-deps.jar
# cp $commercialJarM2Location artifacts-named/liquibase-commercial-${{ needs.setup.outputs.thisBranchFileName }}.jar
# - name: Archive Packages
# uses: actions/upload-artifact@v3
# with:
# name: liquibase-artifacts
# path: artifacts/*
# - name: Archive Convenience Zip
# uses: actions/upload-artifact@v3
# with:
# name: liquibase-zip-${{ needs.setup.outputs.thisBranchFileName }}
# path: liquibase-dist/target/liquibase-${{ needs.setup.outputs.thisBranchFileName }}-SNAPSHOT/*
# - name: Archive Convenience Artifacts
# uses: actions/upload-artifact@v3
# with:
# name: liquibase-artifacts-${{ needs.setup.outputs.thisBranchFileName }}
# path: artifacts-named/*
# # Publish to GitHub Packages. We are building a tar file which includes liquibase-commercial hence we need "-Dliquibase-pro.version"
# - name: Publish tar.gz package to GPM
# run: |
# mvn -B -pl liquibase-dist -P liquibase-commercial clean deploy -DskipTests=true "-Dliquibase-pro.version=${{ needs.setup.outputs.proBranchName }}-SNAPSHOT" "-Dbuild.timestamp=${{ needs.setup.outputs.timestamp }}" "-Dbuild.repository.owner=${{ needs.setup.outputs.thisRepositoryOwner }}" "-Dbuild.repository.name=${{ needs.setup.outputs.thisRepositoryName }}" "-Dbuild.branch=${{ needs.setup.outputs.thisBranchFileName }}" "-Dbuild.number=${{ github.run_number }}" "-Dbuild.commit=${{ needs.setup.outputs.thisSha }}"
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# # this triggers the pro-tests and test-harness to run
# finish:
# name: Finish Build
# runs-on: ubuntu-22.04
# needs: [ setup, build, integration-test, package, sonar]
# if: ${{ needs.setup.outputs.setupSuccessful }}
# steps:
# - uses: actions/checkout@v3
# with:
# ref: ${{ github.event.pull_request.head.sha || github.event.after}}
# - name: Coordinate Liquibase-Pro
# uses: actions/github-script@v6
# with:
# github-token: ${{ secrets.BOT_TOKEN }}
# script: |
# const helper = require('./.github/util/workflow-helper.js')({github, context});
# let currentBranchInfo = await helper.findMatchingBranch("liquibase", "liquibase-pro");
# let thisStatus = "${{ needs.package.result }}" == "success" ? "success" : "failure";
# let stablePro = ("${{ needs.setup.outputs.stablePro }}" == "true");
# let standalonePR = "${{ needs.setup.outputs.standAlonePR }}" == "true";
# console.log("Stand alone PR: "+standalonePR);
# let runFunctionalTests = false;
# let markFunctionalTestsStatus = "failure";
# let markFunctionalTestsDescription = "Unexpected setup";
# if (stablePro) {
# console.log("Pro is stable");
# runFunctionalTests = true;
# markFunctionalTestsStatus = "pending";
# markFunctionalTestsDescription = "Trigger internal functional tests";
# } else {
# console.log("Last pro was unstable");
# runFunctionalTests = false;
# markFunctionalTestsStatus = "failure";
# markFunctionalTestsDescription = "Liquibase Pro is unstable";
# let checks = await github.rest.repos.listCommitStatusesForRef({
# "owner": "liquibase",
# "repo": "liquibase-pro",
# "ref": currentBranchInfo.sha
# });
# let failedCheckingUs = false;
# if (standalonePR) {
# for (let status of checks.data) {
# if (status.context == "Stable Liquibase Core") {
# console.log("Stable Liquibase Core is "+ status.state);
# failedCheckingUs = (status.state == "failure");
# }
# }
# }
# if (failedCheckingUs) {
# console.log("Rerun liquibase-commercial that was waiting on us");
# //octokit removed the retryWorkflow function
# github.request("POST "+currentBranchInfo.runRerunUrl);
# //await github.rest.actions.retryWorkflow({
# // "owner": "liquibase",
# // "repo": "liquibase-pro",
# // "run_id": currentBranchInfo.workflowId
# //});
# }
# }
# if (standalonePR) {
# console.log("Do not mark base pro branch as included in this");
# } else {
# console.log("Mark 'Included in Liquibase Core' status as "+thisStatus);
# github.rest.repos.createCommitStatus({
# "owner": "liquibase",
# "repo": "liquibase-pro",
# "sha": currentBranchInfo.sha,
# "state": thisStatus,
# "context": "Stable Liquibase Core",
# "target_url": currentBranchInfo.runHtmlUrl,
# "description": "Latest Liquibase Core build"
# });
# }
# if (runFunctionalTests) {
# let testsBranch = await helper.findMatchingBranch("liquibase", "liquibase-pro-tests");
# let notices = [];
# if (context.payload.pull_request) {
# console.log("Sending pull request information");
# notices = ["Triggered by PR " + context.payload.pull_request.html_url];
# }
# console.log("Trigger functional tests");
# let workflowDispatch = await github.rest.actions.createWorkflowDispatch({
# "owner": "liquibase",
# "repo": "liquibase-pro-tests",
# "workflow_id": "test.yml",
# "ref": testsBranch.name,
# "inputs": {
# "liquibaseCommit": helper.getCurrentSha(),
# "runDescription": "Triggered by https://github.com/liquibase/liquibase/actions/runs/"+context.runId,
# "liquibaseBranch": helper.getCurrentBranch(),
# "runDetails": JSON.stringify({
# "liquibaseBranch": helper.getCurrentBranch(),
# "notices": notices
# })
# }
# });
# let testHarnessBranch = await helper.findMatchingBranch("liquibase", "liquibase-test-harness");
# if (testHarnessBranch.name == "main" || testHarnessBranch.name == "master") {
# testHarnessBranch.name = "develop";
# }
# console.log("Trigger Test Harness tests");
# let testHarnessWorkflowDispatch = await github.rest.actions.createWorkflowDispatch({
# "owner": "liquibase",
# "repo": "liquibase-test-harness",
# "workflow_id": "main.yml",
# "ref": testHarnessBranch.name,
# "inputs": {
# "runDescription": "Triggered by https://github.com/liquibase/liquibase/actions/runs/"+context.runId,
# "liquibaseBranch": helper.getCurrentBranchLabel(),
# "liquibaseRepo": "liquibase/liquibase",
# "runDetails": JSON.stringify({
# "notices": notices
# })
# }
# });
# }
# await github.rest.repos.createCommitStatus({
# "owner": "liquibase",
# "repo": "liquibase",
# "sha": helper.getCurrentSha(),
# "state": markFunctionalTestsStatus,
# "context": "Run Functional Tests",
# "description": markFunctionalTestsDescription
# });
# await github.rest.repos.createCommitStatus({
# "owner": "liquibase",
# "repo": "liquibase",
# "sha": helper.getCurrentSha(),
# "state": markFunctionalTestsStatus,
# "context": "Run Test Harness",
# "description": markFunctionalTestsDescription
# });