Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci integration #1

Closed
wants to merge 103 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
cef01c3
use bitnami/rabbitmq service container in GHA
cognifloyd Mar 20, 2021
005585b
no random ports
cognifloyd Mar 20, 2021
afb3550
use separate rabbitmq.conf file on github
cognifloyd Mar 20, 2021
ae1e3ea
ci: cleanup tabbitmq_management plugin steps
cognifloyd Mar 20, 2021
570a860
ci: temporarily disable all but ci-integration
cognifloyd Mar 20, 2021
78400bc
fix whitespace
cognifloyd Mar 20, 2021
f263919
ci: cp ssl_certs into rabbitmq container
cognifloyd Mar 20, 2021
d215c1e
debug
cognifloyd Mar 20, 2021
21a499c
reenable management plugin
cognifloyd Mar 20, 2021
c36963f
debug
cognifloyd Mar 20, 2021
821cbbc
debug
cognifloyd Mar 20, 2021
d8b5ae3
debug
cognifloyd Mar 20, 2021
cfb8c6c
debug
cognifloyd Mar 20, 2021
6b688ad
logs
cognifloyd Mar 20, 2021
eba896f
debug
cognifloyd Mar 20, 2021
6ed3e48
debug
cognifloyd Mar 20, 2021
0433adf
debug
cognifloyd Mar 20, 2021
550a509
debug
cognifloyd Mar 20, 2021
c5c2214
debug
cognifloyd Mar 20, 2021
e0c8ea7
debug
cognifloyd Mar 20, 2021
fc8d235
debug
cognifloyd Mar 20, 2021
771dbf8
debug
cognifloyd Mar 20, 2021
7d28568
debug
cognifloyd Mar 20, 2021
cc886d2
manual custom.conf
cognifloyd Mar 20, 2021
f5ae1ee
manual custom.conf
cognifloyd Mar 20, 2021
86d05e4
manual custom.conf
cognifloyd Mar 20, 2021
2eb7132
log
cognifloyd Mar 20, 2021
e0795bc
log
cognifloyd Mar 20, 2021
6b8455b
log
cognifloyd Mar 20, 2021
9009679
reenable
cognifloyd Mar 20, 2021
b81b153
remove git clone progress reporting (reduce CI noise)
cognifloyd Mar 20, 2021
b80831e
add python-version for ci-integration tests
cognifloyd Mar 20, 2021
d395a35
add echo above git clone -q
cognifloyd Mar 20, 2021
8943802
add default rabbitmq user/pass
cognifloyd Mar 20, 2021
dbae76e
debug
cognifloyd Mar 20, 2021
1a7eb21
debug
cognifloyd Mar 20, 2021
1058778
do not hardcode RMQ user/pass in tests
cognifloyd Mar 20, 2021
4948c40
rmq user
cognifloyd Mar 20, 2021
141e7e0
override more rabbitmq test urls
cognifloyd Mar 20, 2021
c4b78a6
debug
cognifloyd Mar 20, 2021
fa6d304
whitespace
cognifloyd Mar 20, 2021
c97e9c1
fix vars
cognifloyd Mar 20, 2021
beacbd8
fix var
cognifloyd Mar 20, 2021
ebbc44f
fix integration test conf files on the fly
cognifloyd Mar 20, 2021
a99c1bd
fix integration tests
cognifloyd Mar 20, 2021
ced4842
debug
cognifloyd Mar 20, 2021
a49c7f8
Switch tests to check w/ CA that is present in GHA
cognifloyd Mar 21, 2021
de42072
debug
cognifloyd Mar 21, 2021
cf611a5
debug
cognifloyd Mar 21, 2021
b415911
try working around permissions issue
cognifloyd Mar 21, 2021
406276e
debug
cognifloyd Mar 21, 2021
1aa5dd7
improve GHA folding
cognifloyd Mar 21, 2021
e5ccd76
debug
cognifloyd Mar 21, 2021
d14f0cf
apt download cache
cognifloyd Mar 21, 2021
976933c
fix virtualenv lock files issue again
cognifloyd Mar 21, 2021
1c6442d
bust python cache
cognifloyd Mar 21, 2021
bda2291
fix $HOME usage
cognifloyd Mar 21, 2021
fb13e08
drop debug lines
cognifloyd Mar 21, 2021
e527bfb
go back to guest:guest with rabbitmq
cognifloyd Mar 21, 2021
9100e77
debug
cognifloyd Mar 21, 2021
219090b
finish reverting rmq guest:guest stuff
cognifloyd Mar 21, 2021
2bbb65c
debug
cognifloyd Mar 21, 2021
aecf27f
test logging
cognifloyd Mar 21, 2021
e10d98d
use print instead of logging
cognifloyd Mar 21, 2021
f473b7d
debug
cognifloyd Mar 21, 2021
1d97d29
debug
cognifloyd Mar 21, 2021
3a2fcca
debug
cognifloyd Mar 21, 2021
8595f87
debug
cognifloyd Mar 21, 2021
5ccff08
debug
cognifloyd Mar 21, 2021
a35833c
debug
cognifloyd Mar 21, 2021
7265f7a
check virtualenv binary in use
cognifloyd Mar 21, 2021
f8fc994
debug
cognifloyd Mar 21, 2021
38aa026
Use virtualenv from st2 virtualenv by default
cognifloyd Mar 21, 2021
b9a5674
try in travis
cognifloyd Mar 21, 2021
536e81e
ugh
cognifloyd Mar 21, 2021
8f9eb68
DEEEEBBBBUUUUUUUGGGGG
cognifloyd Mar 22, 2021
90909d8
virtualenv version
cognifloyd Mar 22, 2021
52a8e8a
virtualenv version
cognifloyd Mar 22, 2021
d17b0d0
more ls
cognifloyd Mar 22, 2021
c129abe
virtualenv config?
cognifloyd Mar 22, 2021
5defee7
investigate base python
cognifloyd Mar 22, 2021
db07be6
investigate base python
cognifloyd Mar 22, 2021
9cb1ef8
investigate travis pyvenv.cfg
cognifloyd Mar 22, 2021
92eb77e
investigate travis virtualenv
cognifloyd Mar 22, 2021
34b97ff
try installing virtualenv in --user on github
cognifloyd Mar 22, 2021
cc47fe5
rm --user packages
cognifloyd Mar 22, 2021
641853f
pip uninstall --user
cognifloyd Mar 22, 2021
80f33fe
virtualenv
cognifloyd Mar 22, 2021
4b7d9e1
virtualenv
cognifloyd Mar 22, 2021
e2c1f95
Try to recreate failure on Travis
cognifloyd Mar 22, 2021
c3395ea
leave TODO/FIXME around broken test
cognifloyd Mar 22, 2021
72afad4
backwards compat default virtualenv bin
cognifloyd Mar 22, 2021
9bb6643
cleanup
cognifloyd Mar 22, 2021
8f44476
cleanup
cognifloyd Mar 22, 2021
a815e25
fix typo
cognifloyd Mar 22, 2021
499851e
try py 3.6.7 on gha
cognifloyd Mar 22, 2021
3e1bc4b
debug
cognifloyd Mar 22, 2021
746facc
debug
cognifloyd Mar 22, 2021
727d929
is it the kernel?
cognifloyd Mar 22, 2021
47405ee
Add debugging change.
Kami Mar 22, 2021
b38ad36
test change.
Kami Mar 22, 2021
98ad5e5
Test close_fds=True.
Kami Mar 22, 2021
5d0c379
Remove testing changes, add workaround for failing test.
Kami Mar 22, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
160 changes: 113 additions & 47 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
type: [opened, reopened, edited]
branches:
# Only for PRs targeting those branches
- main
- master
- v[0-9]+.[0-9]+
schedule:
Expand All @@ -28,43 +29,64 @@ jobs:
fail-fast: false
matrix:
include:
- name: 'Lint Checks'
task: 'ci-checks'
python-version: '3.6'
- name: 'Compile'
task: 'ci-compile'
python-version: '3.6'
- name: 'Pack Tests'
task: 'ci-packs-tests'
python-version: '3.6'
- name: 'Unit Tests'
task: 'ci-unit'
python-version: '3.6'
#- name: 'Lint Checks'
# task: 'ci-checks'
# python-version: '3.6'
#- name: 'Compile'
# task: 'ci-compile'
# python-version: '3.6'
#- name: 'Pack Tests'
# task: 'ci-packs-tests'
# python-version: '3.6'
#- name: 'Unit Tests'
# task: 'ci-unit'
# python-version: '3.6'
# - name: 'Micro Benchmarks'
# task: 'micro-benchmarks'
# python-version: '3.6'
# Integration tests are not working yet, still done in Travis
# - name: 'Integration Tests'
# task: 'ci-integration'
- name: 'Integration Tests'
task: 'ci-integration'
python-version: '3.6.7' # temporarily match travis CI version; TODO use 3.6
services:
mongo:
image: mongo:4.0
ports:
- 27017:27017
# Can't use RabbitMQ here for Integrations because we rely on custom config
# and SSL certs that are in the repo. In GHA, these services are started first
# before the code is checked out, so this is a non-starter, we need to do it
# manually below (TODO)

# In GHA, these services are started first before the code is checked out.
# We use bitnami images to facilitate reconfiguring RabbitMQ during ci-integration tests.
# We rely on custom config and SSL certs that are in the repo.
# Many images require config in env vars (which we can't change during the test job)
# or they require config in entrypoint args (which we can't override for GHA services)
# bitnami builds ways to get config files from mounted volumes.
rabbitmq:
# use the -management version so it has the management tools installed
image: rabbitmq:3.8-management
image: bitnami/rabbitmq:3.8
volumes:
- /home/runner/rabbitmq_conf:/bitnami/conf # RABBITMQ_MOUNTED_CONF_DIR
env:
# tell bitnami/rabbitmq to enable this by default
RABBITMQ_PLUGINS: rabbitmq_management
# Since we're using a container, we can't use guest:guest
# RABBITMQ_SECURE_PASSWORD: "no"
# RABBITMQ_USERNAME: st2
# RABBITMQ_PASSWORD: st2
RABBITMQ_USERNAME: guest
RABBITMQ_PASSWORD: guest

# These are strictly docker options, not entrypoint args (GHA restriction)
options: >-
--name rabbitmq

ports:
# SSL port
- 5671:5671
# standard port
- 5672:5672
# management port
- 15672:15672
# These 6 ports are exposed by bitnami/rabbitmq (see https://www.rabbitmq.com/networking.html#ports)
# host_port:container_port/protocol
- 5671:5671/tcp # AMQP SSL port
- 5672:5672/tcp # AMQP standard port
- 15672:15672/tcp # Management: HTTP, CLI
#- 15671:15671/tcp # Management: SSL port
#- 25672:25672/tcp # inter-node or CLI
#- 4369:4369/tcp # epmd

env:
TASK: '${{ matrix.task }}'

Expand Down Expand Up @@ -113,14 +135,33 @@ jobs:
uses: actions/setup-python@v2
with:
python-version: '${{ matrix.python-version }}'
- name: Get date components for use in cache-keys
id: date
run: |
echo "::set-output name=year::$(/bin/date -u "+%Y")"
echo "::set-output name=month::$(/bin/date -u "+%m")"
echo "::set-output name=week::$(/bin/date -u "+%U")"
- uses: actions/cache@v2
with:
path: |
~/.cache/pip
virtualenv
key: ${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('requirements.txt', 'test-requirements.txt') }}
~/virtualenv
# !virtualenv/lib/python*/site-packages/st2*
# !virtualenv/bin/st2*
key: ${{ runner.os }}-python-${{ matrix.python-version }}-${{ hashFiles('requirements.txt', 'test-requirements.txt') }}
restore-keys: |
${{ runner.os }}-python-${{ matrix.python }}-
- uses: actions/cache@v2
with:
path: |
/var/cache/apt/archives/*.deb
/var/cache/apt/archives/partial/*.deb
/var/cache/apt/*.bin
key: apt-${{ runner.os }}-${{ steps.date.outputs.year }}-${{ steps.date.outputs.week }}
restore-keys: |
${{ runner.os }}-${{ matrix.python }}-
${{ runner.os }}-apt-${{ steps.date.outputs.year }}-
${{ runner.os }}-apt-
- name: Install apt depedencies
run: |
# install dev dependencies for Python YAML and LDAP packages
Expand All @@ -129,9 +170,25 @@ jobs:
sudo apt-get -f -y install libldap2-dev libsasl2-dev libssl-dev libyaml-dev ldap-utils
- name: Install virtualenv
run: |
uname -a
which python
python --version
python -c 'import sys, select; i,_,_=select.select([sys.stdin],[],[],2);print(i)'
# Note: Use the verison of virtualenv pinned in fixed-requirements.txt so we
# only have to update it one place when we change the version
pip install --upgrade --force-reinstall $(grep "^virtualenv" fixed-requirements.txt)
# Note: Use --user to avoid polluting system site-packages (which breaks one of our tests)
# TODO: simplify this once fixed in contrib/runners/python_runner/tests/integration/test_pythonrunner_behavior.py
if [[ ! -f ~/virtualenv/bin/virtualenv ]]; then # use the cached version whenever possible
pip install --user --upgrade --force-reinstall $(grep "^virtualenv" fixed-requirements.txt)
virtualenv --no-download ~/virtualenv
~/virtualenv/bin/pip install --upgrade --force-reinstall $(grep "^virtualenv" fixed-requirements.txt)
# drop the --user install virtualenv to prevent polluting tests
pip freeze --user | xargs pip uninstall -y
mkdir -p ~/.local/bin
ln -s ~/virtualenv/bin/virtualenv ~/.local/bin/virtualenv
fi
which virtualenv
virtualenv --version
- name: Install requirements
run: |
./scripts/travis/install-requirements.sh
Expand All @@ -148,34 +205,43 @@ jobs:
run: |
echo "$ST2_CI_REPO_PATH"
sudo ST2_CI_REPO_PATH="${ST2_CI_REPO_PATH}" scripts/travis/permissions-workaround.sh
- name: Setup RabbitMQ (NOT WORKING YET)
- name: Finish Integration test setup (RabbitMQ, st2.tests.conf)
if: "${{ env.TASK == 'ci-integration' }}"
# bitnami image allows (see bitnami/rabbitmq readme):
# Here we're copying a rabbitmq.config file which won't do anything.
# We need to switch to custom.conf or advanced.config.
timeout-minutes: 2 # may die if rabbitmq fails to start
run: |
set -x
# Use custom RabbitMQ config which enables SSL / TLS listener on port 5671 with test certs
# Travis runs as the 'travis' user, GitHub actions run as the 'runner' user,
# And the cert filepaths are slightly different between the two.
# Example:
# Travis-CI: /home/travis/build/StackStorm/st2/st2tests/st2tests/fixtures/ssl_certs/ca/ca_certificate_bundle.pem
# GitHub Actions: /home/runner/work/st2/st2/st2tests/st2tests/fixtures/ssl_certs/ca/ca_certificate_bundle.pem
sed -i 's|/home/travis/build/StackStorm|/home/runner/work/st2|g' scripts/travis/rabbitmq.config
# Now that we've manged the config file, install it
sudo cp scripts/travis/rabbitmq.config /etc/rabbitmq/rabbitmq.config
# Install rabbitmq_management RabbitMQ plugin
sudo service rabbitmq-server restart
sleep 5
sudo rabbitmq-plugins enable rabbitmq_management
sudo cp scripts/github/rabbitmq.conf /home/runner/rabbitmq_conf/custom.conf
# The code is checked out after the container is already up, so we don't mount them.
# We copy those certs into the dir that is mounted to /bitnami/conf
sudo cp -r st2tests/st2tests/fixtures/ssl_certs /home/runner/rabbitmq_conf/
# refresh rabbitmq config - based on ENTRYPOINT logic
docker exec rabbitmq bash -c 'cat /bitnami/conf/custom.conf >> /opt/bitnami/rabbitmq/etc/rabbitmq/rabbitmq.conf'
# sleep to prevent interleaved output in GHA logs
docker exec rabbitmq cat /opt/bitnami/rabbitmq/etc/rabbitmq/rabbitmq.conf && sleep 0.1
echo
echo restarting rabbitmq container
docker restart rabbitmq
# wait for rabbitmq container to restart
until [ "$(docker inspect -f {{.State.Running}} rabbitmq)" == "true" ]; do sleep 0.1; done
echo enabled RabbitMQ plugins:
# print plugins list to: (1) ease debugging, (2) pause till rabbitmq is really running
docker exec rabbitmq rabbitmq-plugins list -e
echo
sudo wget http://guest:guest@localhost:15672/cli/rabbitmqadmin -O /usr/local/bin/rabbitmqadmin
sudo chmod +x /usr/local/bin/rabbitmqadmin
sudo service rabbitmq-server restart
# chmod to make glob work (*.log to avoid log dir)
sudo chmod a+rx /var/log/rabbitmq
sudo tail -n 30 /var/log/rabbitmq/*.log
# print logs from stdout (RABBITMQ_LOGS=-)
docker logs --tail=20 rabbitmq
- name: Print versions
run: |
# Print various binary versions
git --version
pip --version
pip list
virtualenv --version
# Print out various environment variables info
make play
- name: make
Expand Down
21 changes: 11 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ language: python

branches:
only:
- main
- master
- /^v[0-9]+\.[0-9]+$/

Expand Down Expand Up @@ -85,6 +86,16 @@ cache:
#- .tox/

install:
# This triggers the same behavior on travis as we found on github because it installs six in the system-site-packages
#- /opt/python/3.6.7/bin/pip install --upgrade --force-reinstall $(grep "^virtualenv" fixed-requirements.txt)
#- mkdir -p ~/.local/bin
#- ln -s /opt/python/3.6.7/bin/virtualenv ~/.local/bin/virtualenv
- uname -a
- which python
- python --version
- python -c 'import sys, select; i,_,_=select.select([sys.stdin],[],[],2);print(i)'
- which virtualenv
- virtualenv --version
- ./scripts/travis/install-requirements.sh
# prep a travis-specific dev conf file that uses travis instead of stanley
- cp conf/st2.dev.conf "${ST2_CONF}" ; sed -i -e "s/stanley/${ST2_CI_USER}/" "${ST2_CONF}"
Expand All @@ -108,16 +119,6 @@ before_script:
- ls -l /etc/rabbitmq
- ls -l /home/travis
- ls -l /home/travis/build
- ls -l /home/travis/build/StackStorm
- ls -l /home/travis/build/StackStorm/st2
- ls -l /home/travis/build/StackStorm/st2/st2tests
- ls -l /home/travis/build/StackStorm/st2/st2tests/st2tests
- ls -l /home/travis/build/StackStorm/st2/st2tests/st2tests/fixtures
- ls -l /home/travis/build/StackStorm/st2/st2tests/st2tests/fixtures/ssl_certs
- ls -l /home/travis/build/StackStorm/st2/st2tests/st2tests/fixtures/ssl_certs/ca
- ls -l /home/travis/build/StackStorm/st2/st2tests/st2tests/fixtures/ssl_certs/server
- cat /home/travis/build/StackStorm/st2/st2tests/st2tests/fixtures/ssl_certs/ca/ca_certificate_bundle.pem
- cat /home/travis/build/StackStorm/st2/st2tests/st2tests/fixtures/ssl_certs/server/server_certificate.pem
# Install rabbitmq_management RabbitMQ plugin
- sudo service rabbitmq-server restart ; sleep 5
- sudo rabbitmq-plugins enable rabbitmq_management
Expand Down
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -841,11 +841,11 @@ endif
echo "==========================================================="; \
echo "Running integration tests in" $$component; \
echo "-----------------------------------------------------------"; \
. $(VIRTUALENV_DIR)/bin/activate; \
COVERAGE_FILE=.coverage.integration.$$(echo $$component | tr '/' '.') \
nosetests $(NOSE_OPTS) -s -v $(NOSE_COVERAGE_FLAGS) \
$(NOSE_COVERAGE_PACKAGES) \
$$component/tests/integration || exit 1; \
echo skipping . $(VIRTUALENV_DIR)/bin/activate; \
echo COVERAGE_FILE=.coverage.integration.$$(echo $$component | tr '/' '.') \
echo nosetests $(NOSE_OPTS) -s -v $(NOSE_COVERAGE_FLAGS) \
echo $(NOSE_COVERAGE_PACKAGES) \
echo $$component/tests/integration || exit 1; \
echo "-----------------------------------------------------------"; \
echo "Done integration running tests in" $$component; \
echo "==========================================================="; \
Expand All @@ -860,7 +860,7 @@ endif
echo "==========================================================="; \
. $(VIRTUALENV_DIR)/bin/activate; \
COVERAGE_FILE=.coverage.integration.$$(echo $$component | tr '/' '.') \
nosetests $(NOSE_OPTS) -s -v \
nosetests $(NOSE_OPTS) -s -v --logging-level=DEBUG \
$(NOSE_COVERAGE_FLAGS) $(NOSE_COVERAGE_PACKAGES) $$component/tests/integration || exit 1; \
done
@echo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,8 @@ def _get_action_instance(self):
if args.stdin_parameters:
LOG.debug("Getting parameters from stdin")

# travis has ubuntu xenial (16.04.6 LTS) with kernel 4.15.0-1077-gcp
# gha has ubuntu focal (20.04.2 LTS) with kernel 5.4
i, _, _ = select.select([sys.stdin], [], [], READ_STDIN_INPUT_TIMEOUT)

if not i:
Expand All @@ -359,6 +361,12 @@ def _get_action_instance(self):

stdin_data = sys.stdin.readline().strip()

if not stdin_data:
# This could indicate that parent process (e.g. process which runs the tests has
# incorrectly opened the stdin and that one is then inherited by the process which is
# spawning it which will cause issues)
raise ValueError("Received no valid parameters data from sys.stdin")

try:
stdin_parameters = orjson.loads(stdin_data)
stdin_parameters = stdin_parameters.get("parameters", {})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,21 @@ def test_stdin_params_timeout_no_stdin_data_provided(self):
"python %s --pack=dummy --file-path=%s --config='%s' "
"--stdin-parameters" % (WRAPPER_SCRIPT_PATH, file_path, config)
)
exit_code, stdout, stderr = run_command(command_string, shell=True)
exit_code, stdout, stderr = run_command(
command_string, shell=True, close_fds=True
)

expected_msg = (
# Depending on how tests are spawned, sys.stdin may be opened and this will cause issues
# with this tests so we simply check for two different errors which are considered
# acceptable.
expected_msg_1 = (
"ValueError: No input received and timed out while waiting for parameters "
"from stdin"
)
expected_msg_2 = "ValueError: Received no valid parameters data from sys.stdin"

self.assertEqual(exit_code, 1)
self.assertIn(expected_msg, stderr)
self.assertTrue(expected_msg_1 in stderr or expected_msg_2 in stderr)

def test_stdin_params_invalid_format_friendly_error(self):
config = {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@


class PythonRunnerBehaviorTestCase(CleanFilesTestCase, CleanDbTestCase):

# If you need these logs, then you probably also want to uncomment
# extra debug log messages in st2common/st2common/util/virtualenvs.py
# and pass --logging-level=DEBUG to nosetests
# DISPLAY_LOG_MESSAGES = True

def setUp(self):
super(PythonRunnerBehaviorTestCase, self).setUp()
config.parse_args()
Expand Down Expand Up @@ -74,6 +80,15 @@ def test_priority_of_loading_library_after_setup_pack_virtualenv(self):
(_, output, _) = self._run_action(
pack_name, "get_library_path.py", {"module": "six"}
)
# FIXME: This test fails if system site-packages has six because
# it won't get installed in the virtualenv (w/ --system-site-packages)
# system site-packages is never from a virtualenv.
# Travis has python installed in /opt/python/3.6.7
# with a no-system-site-packages virtualenv at /home/travis/virtualenv/python3.6.7
# GitHub Actions python is in /opt/hostedtoolcache/Python/3.6.13/x64/
# But ther isn't a virtualenv, so when we pip installed `virtualenv`,
# (which depends on, and therefore installs `six`)
# we installed it in system-site-packages not an intermediate virtualenv
self.assertEqual(output["result"].find(self.virtualenvs_path), 0)

# Conversely, this expects that 'mock' module file-path is not under sandbox library,
Expand Down
11 changes: 11 additions & 0 deletions scripts/github/rabbitmq.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# bitnami/rabbitmq configuration file (gets merged with rabbitmq.conf)
listeners.ssl.default = 5671
# /bitnami/conf is a directory mounted into the bitnami/rabbitmq container
ssl_options.cacertfile = /bitnami/conf/ssl_certs/ca/ca_certificate_bundle.pem
ssl_options.certfile = /bitnami/conf/ssl_certs/server/server_certificate.pem
ssl_options.keyfile = /bitnami/conf/ssl_certs/server/private_key.pem
ssl_options.verify = verify_peer
ssl_options.fail_if_no_peer_cert = false

# this is "insecure" but it doesn't matter for CI, and it simplifies integration test machinery
loopback_users = none
Loading