Add the simplest CI with make #17
This file contains 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: Test (make) | |
on: | |
push: | |
branches: | |
- main | |
- v3.13.x | |
- v3.12.x | |
- v3.11.x | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
load-test-result-cache: | |
runs-on: ubuntu-latest | |
steps: | |
- name: MOUNT TEST RESULT CACHE | |
uses: actions/[email protected] | |
with: | |
path: /home/runner/test-result-cache/ | |
key: ${{ runner.os }}-test-result-cache-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-test-result-cache- | |
save-always: true | |
- name: PREP CACHE DIR | |
run: | | |
mkdir -p /home/runner/test-result-cache/${{ github.sha }} | |
- name: UPLOAD IT AS AN ARTIFACT | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-result-cache-subdir | |
path: | | |
/home/runner/test-result-cache/${{ github.sha }} | |
retention-days: 1 | |
test-internal-deps: | |
needs: | |
- load-test-result-cache | |
strategy: | |
matrix: | |
plugin: | |
- amqp10_client | |
- amqp10_common | |
- amqp_client | |
- oauth2_client | |
- rabbitmq_ct_client_helpers | |
- rabbitmq_ct_helpers | |
- rabbitmq_stream_common | |
- trust_store_http | |
uses: ./.github/workflows/test-plugin-make.yaml | |
with: | |
trc: /home/runner/test-result-cache | |
plugin: ${{ matrix.plugin }} | |
test-rabbit: | |
needs: | |
- load-test-result-cache | |
- test-internal-deps | |
uses: ./.github/workflows/test-plugin-make.yaml | |
with: | |
trc: /home/runner/test-result-cache | |
plugin: rabbit | |
test-rabbitmq_cli: | |
needs: | |
- load-test-result-cache | |
- test-rabbit | |
uses: ./.github/workflows/test-plugin-make.yaml | |
with: | |
trc: /home/runner/test-result-cache | |
plugin: rabbitmq_cli | |
test-tier1: | |
needs: | |
- load-test-result-cache | |
- test-rabbit | |
- test-rabbitmq_cli | |
strategy: | |
matrix: | |
plugin: | |
- rabbitmq_amqp1_0 | |
- rabbitmq_amqp_client | |
- rabbitmq_auth_backend_cache | |
- rabbitmq_auth_backend_http | |
- rabbitmq_auth_backend_ldap | |
- rabbitmq_auth_backend_oauth2 | |
- rabbitmq_auth_mechanism_ssl | |
- rabbitmq_aws | |
- rabbitmq_consistent_hash_exchange | |
- rabbitmq_event_exchange | |
- rabbitmq_federation | |
- rabbitmq_federation_management | |
- rabbitmq_jms_topic_exchange | |
- rabbitmq_management | |
- rabbitmq_management_agent | |
- rabbitmq_mqtt | |
- rabbitmq_peer_discovery_aws | |
- rabbitmq_peer_discovery_common | |
- rabbitmq_peer_discovery_consul | |
- rabbitmq_peer_discovery_etcd | |
- rabbitmq_peer_discovery_k8s | |
- rabbitmq_prelaunch | |
- rabbitmq_prometheus | |
- rabbitmq_random_exchange | |
- rabbitmq_recent_history_exchange | |
- rabbitmq_sharding | |
- rabbitmq_shovel | |
- rabbitmq_shovel_management | |
- rabbitmq_stomp | |
- rabbitmq_stream | |
- rabbitmq_stream_management | |
- rabbitmq_top | |
- rabbitmq_tracing | |
- rabbitmq_trust_store | |
- rabbitmq_web_dispatch | |
- rabbitmq_web_mqtt | |
- rabbitmq_web_mqtt_examples | |
- rabbitmq_web_stomp | |
- rabbitmq_web_stomp_examples | |
uses: ./.github/workflows/test-plugin-make.yaml | |
with: | |
trc: /home/runner/test-result-cache | |
plugin: ${{ matrix.plugin }} | |
summary-test-make: | |
needs: | |
- test-internal-deps | |
- test-rabbit | |
- test-rabbitmq_cli | |
- test-tier1 | |
runs-on: ubuntu-latest | |
steps: | |
- name: MOUNT TEST RESULT CACHE | |
uses: actions/[email protected] | |
with: | |
path: /home/runner/test-result-cache/ | |
key: ${{ runner.os }}-test-result-cache-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-test-result-cache- | |
save-always: true | |
- name: UPDATE CACHE | |
uses: actions/download-artifact@v4 | |
with: | |
path: /home/runner/test-result-cache//${{ github.sha }} | |
merge-multiple: true | |
- name: SUMMARY | |
run: | | |
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)' | |
${{ toJson(needs) }} | |
EOF |