Skip to content

build(deps): bump actions/checkout from 4 to 7 #127

build(deps): bump actions/checkout from 4 to 7

build(deps): bump actions/checkout from 4 to 7 #127

Workflow file for this run

name: Compatibility Tests
on:
pull_request:
paths:
- 'src/**'
- 'pom.xml'
- 'docker/Dockerfile.native-package'
- 'docker/entrypoint.sh'
- 'compatibility-tests/**'
- '.github/workflows/compatibility.yml'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-native:
name: Build native floci-az image
runs-on: ubuntu-24.04-arm
timeout-minutes: 30
steps:
- uses: actions/checkout@v7
- uses: graalvm/setup-graalvm@bef4b0e916c7dd079bf60fb95d49139f67e32c5f # v1
with:
java-version: '25'
distribution: 'mandrel'
cache: maven
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build native executable (quick build)
run: ./mvnw clean package -Dnative -DskipTests -B -Dquarkus.native.additional-build-args-append="-Ob"
- name: Stage native binary for packaging
run: |
mkdir -p native/arm64
cp target/*-runner native/arm64/
cp target/*.so native/arm64/ 2>/dev/null || true
- uses: docker/setup-buildx-action@v4.1.0
- name: Build native Docker image
uses: docker/build-push-action@v7
with:
context: .
file: docker/Dockerfile.native-package
tags: floci-az:test-native
outputs: type=docker,dest=/tmp/floci-az-native-image.tar
cache-from: type=gha,scope=floci-az-native
cache-to: type=gha,scope=floci-az-native,mode=max
- name: Compress native image
run: gzip /tmp/floci-az-native-image.tar
- name: Upload native floci-az image
uses: actions/upload-artifact@v7
with:
name: floci-az-native-image
path: /tmp/floci-az-native-image.tar.gz
retention-days: 1
native-compat-test:
name: native / ${{ matrix.test }}
needs: build-native
runs-on: ubuntu-24.04-arm
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
include:
- test: sdk-test-python
- test: sdk-test-java
extra_env: >-
-e SERVICEBUS_HOST=floci-az-servicebus-default
-e SERVICEBUS_AMQPS_PORT=5671
-e SERVICEBUS_NAMESPACE=default
- test: sdk-test-node
- test: compat-terraform
- test: compat-opentofu
- test: compat-azcli
steps:
- name: Download native floci-az image
uses: actions/download-artifact@v8
with:
name: floci-az-native-image
path: /tmp
- name: Load native floci-az image
run: gunzip -c /tmp/floci-az-native-image.tar.gz | docker load
- name: Create Docker network
run: docker network create compat-net
- name: Start floci-az
run: |
docker run -d --name floci-az --network compat-net \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 4577:4577 \
-e FLOCI_AZ_SERVICES_DOCKER_NETWORK=compat-net \
-e FLOCI_AZ_TLS_ENABLED=true \
-e FLOCI_AZ_HOSTNAME=floci-az \
floci-az:test-native
- name: Wait for floci-az to be ready
run: timeout 60 bash -c 'until curl -sf http://localhost:4577/health >/dev/null 2>&1; do sleep 1; done'
- name: Checkout repository
uses: actions/checkout@v7
with:
sparse-checkout: compatibility-tests
- uses: docker/setup-buildx-action@v4.1.0
- name: Build test image
uses: docker/build-push-action@v7
with:
context: compatibility-tests/${{ matrix.test }}
load: true
tags: compat-${{ matrix.test }}
cache-from: type=gha,scope=${{ runner.os }}-${{ runner.arch }}-${{ matrix.test }}
cache-to: type=gha,scope=${{ runner.os }}-${{ runner.arch }}-${{ matrix.test }},mode=max
- name: Run tests
id: tests
run: |
mkdir -p test-results
docker run --rm --network compat-net \
-e FLOCI_AZ_ENDPOINT=http://floci-az:4577 \
${{ matrix.extra_env }} \
-v "$(pwd)/test-results:/results" \
compat-${{ matrix.test }}
- name: Generate test summary
if: always() && steps.tests.outcome != 'skipped'
uses: test-summary/action@v2
with:
paths: test-results/*.xml
- name: Dump floci-az logs
if: failure()
run: docker logs floci-az