[ci-skip] Add operator support #294
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
############################################################################################## | |
# Copyright Accenture. All Rights Reserved. | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
############################################################################################## | |
# This is custom git Action created to run molecule test cases during any push on develop branch | |
# The workflow is divided into test stages, based on the PR title particular test stages will run | |
# The test coverage is for Hyperledger Bevel corda and fabric. Other DLTs will be added gradually | |
name: Test Ansible using Molecule | |
on: | |
pull_request: | |
branches: [ develop ] | |
types: [opened, edited, synchronize, reopened] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: deepakputhraya/[email protected] | |
with: | |
regex: '\[.*\].*' # Regex the title should match. | |
allowed_prefixes: '[shared],[docs],[indy],[fabric],[corda],[besu],[quorum],[corda-ent],[substrate],[chore],[ci-skip]' # title should start with the given prefix. | |
disallowed_prefixes: 'feat/,hotfix' # title should not start with the given prefix. | |
prefix_case_sensitive: true # title prefix are case sensitive. | |
min_length: 6 # Min length of the title. | |
max_length: 100 # Max length of the title. | |
github_token: ${{ github.token }} # Default: ${{ github.token }} | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install molecule==3.0.6 yamllint ansible-lint docker==4.2.2 openshift jmespath | |
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - | |
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | |
sudo apt-get update && sudo apt-get install vault && sudo apt-get install build-essential libdb-dev libleveldb-dev libsodium-dev zlib1g-dev libtinfo-dev | |
# Creating symbolic links for the lib for specific requirements. | |
sudo ln -s /usr/lib/x86_64-linux-gnu/libsodium.so /usr/lib/x86_64-linux-gnu/libsodium.so.18 | |
sudo ln -s /usr/lib/x86_64-linux-gnu/libleveldb.so /usr/lib/x86_64-linux-gnu/libleveldb.so.1 | |
# export the bin path | |
export PATH=~/bin:$PATH | |
if: | | |
contains(github.event.pull_request.title, 'shared') || | |
contains(github.event.pull_request.title, 'corda') || | |
contains(github.event.pull_request.title, 'fabric') || | |
contains(github.event.pull_request.title, 'quorum') | |
####################################################################################### | |
#the below test within the /shared folder | |
- name: Test Stage Shared default | |
run: | | |
cd ./platforms/shared/configuration | |
molecule test -s default | |
if: contains(github.event.pull_request.title, 'shared') | |
- name: Test Stage kubernetes-corda | |
run: | | |
cd ./platforms/shared/configuration | |
molecule test -s kubernetes-corda | |
if: contains(github.event.pull_request.title, 'shared') | |
- name: Test Stage kubernetes-fabric | |
run: | | |
cd ./platforms/shared/configuration | |
molecule test -s kubernetes-fabric | |
if: contains(github.event.pull_request.title, 'shared') | |
- name: Test Stage kubernetes-indy | |
run: | | |
cd ./platforms/shared/configuration | |
molecule test -s kubernetes-indy | |
if: contains(github.event.pull_request.title, 'shared') | |
####################################################################################### | |
#the below test within the /hyperledger-fabric folder | |
- name: Test Stage Fabric default | |
run: | | |
cd ./platforms/hyperledger-fabric/configuration | |
molecule test -s default | |
if: contains(github.event.pull_request.title, 'fabric') | |
- name: Test Stage Fabric crypto | |
run: | | |
cd ./platforms/hyperledger-fabric/configuration | |
molecule test -s crypto | |
if: contains(github.event.pull_request.title, 'fabric') | |
- name: Test Stage Fabric orderer | |
run: | | |
cd ./platforms/hyperledger-fabric/configuration | |
molecule test -s orderer | |
if: contains(github.event.pull_request.title, 'fabric') | |
- name: Test Stage Fabric peer | |
run: | | |
cd ./platforms/hyperledger-fabric/configuration | |
molecule test -s peer | |
if: contains(github.event.pull_request.title, 'fabric') | |
- name: Test Stage Fabric pre-vault-setup | |
run: | | |
cd ./platforms/hyperledger-fabric/configuration | |
molecule test -s pre-vault-setup | |
if: contains(github.event.pull_request.title, 'fabric') | |
####################################################################################### | |
#the below test within the /r3-corder folder | |
- name: Test Stage Corda default | |
run: | | |
cd ./platforms/r3-corda/configuration | |
molecule test -s default | |
if: contains(github.event.pull_request.title, 'corda') | |
- name: Test Stage Corda doorman | |
run: | | |
cd ./platforms/r3-corda/configuration | |
molecule test -s doorman | |
if: contains(github.event.pull_request.title, 'corda') | |
- name: Test Stage Corda notary | |
run: | | |
cd ./platforms/r3-corda/configuration | |
molecule test -s notary | |
if: contains(github.event.pull_request.title, 'corda') | |
- name: Test Stage Corda networkmap | |
run: | | |
cd ./platforms/r3-corda/configuration | |
molecule test -s networkmap | |
if: contains(github.event.pull_request.title, 'corda') | |
- name: Test Stage Corda node | |
run: | | |
cd ./platforms/r3-corda/configuration | |
molecule test -s node | |
if: contains(github.event.pull_request.title, 'corda') | |
- name: Test Stage Corda delete node | |
run: | | |
cd ./platforms/r3-corda/configuration | |
molecule test -s delete_node_flux_gitops | |
if: contains(github.event.pull_request.title, 'corda') | |
- name: Test Stage Corda delete notary | |
run: | | |
cd ./platforms/r3-corda/configuration | |
molecule test -s delete_notary | |
if: contains(github.event.pull_request.title, 'corda') | |
####################################################################################### | |
#the below test within the /quorum folder | |
- name: Test Stage Quorum default | |
run: | | |
cd ./platforms/quorum/configuration | |
molecule test -s default | |
if: contains(github.event.pull_request.title, 'quorum') | |
- name: Test Stage Quorum ambassador-certs | |
run: | | |
cd ./platforms/quorum/configuration | |
molecule test -s ambassador-certs | |
if: contains(github.event.pull_request.title, 'quorum') | |
- name: Test Stage Quorum crypto-ibft | |
run: | | |
cd ./platforms/quorum/configuration | |
molecule test -s crypto-ibft | |
if: contains(github.event.pull_request.title, 'quorum') | |
- name: Test Stage Quorum crypto-tessera | |
run: | | |
cd ./platforms/quorum/configuration | |
molecule test -s crypto-tessera | |
if: contains(github.event.pull_request.title, 'quorum') | |
- name: Test Stage Quorum crypto-raft | |
run: | | |
cd ./platforms/quorum/configuration | |
molecule test -s crypto-raft | |
if: contains(github.event.pull_request.title, 'quorum') | |
- name: Test Stage Quorum tessera | |
run: | | |
cd ./platforms/quorum/configuration | |
molecule test -s tessera | |
if: contains(github.event.pull_request.title, 'quorum') |