Skip to content

Prevent SQL injection in message metadata column search (#361) #1055

Prevent SQL injection in message metadata column search (#361)

Prevent SQL injection in message metadata column search (#361) #1055

Workflow file for this run

name: Build Open Integration Engine
on:
push:
branches:
- main
pull_request:
branches:
- main
# Every job builds the same Dockerfile, so this must match across jobs or they
# miss each other's build cache.
env:
GRADLE_BUILD_ARGS: ${{ github.ref != 'refs/heads/main' && '-PdisableSigning=true -Pcoverage=true' || '' }}
jobs:
build:
runs-on: ubuntu-latest
outputs:
configurations: ${{ steps.configurations.outputs.names }}
steps:
- uses: actions/checkout@v4
- name: List smoke-test configurations
id: configurations
run: |
names=$(basename -s .compose.yml ci/configurations/*.compose.yml | jq -Rsc 'split("\n") - [""]')
echo "names=$names" >> "$GITHUB_OUTPUT"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Expose GitHub Actions runtime for buildx cache
uses: crazy-max/ghaction-github-runtime@v3
- name: Build and run tests
run: |
rm -rf docker-build-output
docker buildx build \
--progress=plain \
--build-arg "GRADLE_BUILD_ARGS=${GRADLE_BUILD_ARGS}" \
--cache-from type=gha,scope=oie-build \
--cache-to type=gha,scope=oie-build,mode=max \
--target build-output-export \
--output type=local,dest=docker-build-output \
.
- name: Package distribution
run: tar czf openintegrationengine.tar.gz -C docker-build-output/app/server setup --transform 's|^setup|openintegrationengine/|'
- name: Create artifact
uses: actions/upload-artifact@v4
with:
name: oie-build
path: openintegrationengine.tar.gz
- name: Stage Test Results
if: (!cancelled())
run: |
mkdir -p aggregate-test-results
cp -r --parents docker-build-output/app/client/build/test-results aggregate-test-results/
cp -r --parents docker-build-output/app/command/build/test-results aggregate-test-results/
cp -r --parents docker-build-output/app/donkey/build/test-results aggregate-test-results/
cp -r --parents docker-build-output/app/server/build/test-results aggregate-test-results/
- name: Upload Test Results
if: (!cancelled())
uses: actions/upload-artifact@v4
with:
name: Test Results (unit)
path: |
aggregate-test-results/**/*.xml
integration-test:
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
configuration: ${{ fromJSON(needs.build.outputs.configurations) }}
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Expose GitHub Actions runtime for buildx cache
uses: crazy-max/ghaction-github-runtime@v3
# Read-only: the build job populates this cache, and concurrent writers
# from the matrix would just fight over the same scope.
- name: Run integration tests
env:
EXTRA_BUILDX_ARGS: --cache-from type=gha,scope=oie-build
run: ci/runtests.sh ${{ matrix.configuration }}
- name: Upload Test Results
if: (!cancelled())
uses: actions/upload-artifact@v4
with:
name: Test Results (${{ matrix.configuration }})
path: |
ci/test-results/**/*.xml
test-results:
needs: [build, integration-test]
if: (!cancelled())
runs-on: ubuntu-latest
steps:
- name: Upload Event File
uses: actions/upload-artifact@v4
with:
name: Event File
path: ${{ github.event_path }}
- name: Merge Test Results
uses: actions/upload-artifact/merge@v4
with:
name: Test Results
pattern: Test Results (*)
delete-merged: true