name: integration on: push: branches: - 1.0 paths-ignore: - 'docs/**' - README.md pull_request: branches: - 1.0 paths-ignore: - 'docs/**' - README.md workflow_dispatch: jobs: # check-if-duplicate-action: # # continue-on-error: true # Uncomment once integration is finished # runs-on: ubuntu-latest # outputs: # should_skip: ${{ steps.skip_check.outputs.should_skip }} # steps: # - id: skip_check # uses: fkirc/skip-duplicate-actions@v5 # with: # concurrent_skipping: 'never' # skip_after_successful_duplicate: 'true' # paths_ignore: '["1.0/docs/**"]' # paths: '["1.0/**.go", "1.0/*.sh", "1.0/.github", "1.0/data/ansible/conf/samples/**", "1.0/data/tariffplans"]' integration-tests: # needs: check-if-duplicate-action # if: needs.check-if-duplicate-action.outputs.should_skip != 'true' runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Install Go uses: actions/setup-go@v5 with: go-version: "1.24.x" - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.x" - name: Install Ansible run: | python -m pip install --upgrade pip pip install ansible - name: Run Ansible Playbook run: | ansible-playbook data/ansible/integration_tests/main.yaml -i localhost, -c local -e "ansible_user=$(whoami) cgrates_dir=$GITHUB_WORKSPACE cgrates_clone_repo=false install_go=false" # - name: Set up tmate session for debugging # uses: mxschmitt/action-tmate@v3 - name: Run migrator & services tests continue-on-error: true run: | sudo env "PATH=$PATH" go test github.com/cgrates/cgrates/migrator -tags=integration sudo env "PATH=$PATH" go test github.com/cgrates/cgrates/services -tags=integration - name: Run flaky tests continue-on-error: true run: | sudo env "PATH=$PATH" ./flaky_test.sh - name: Run integration tests run: | sudo env "PATH=$PATH" ./integration_test.sh