From aa0c9e32651f73102cd4081ee589c0bc54708833 Mon Sep 17 00:00:00 2001 From: Oleh Paduchak Date: Fri, 9 Aug 2024 14:19:28 +0300 Subject: [PATCH 1/3] removed all travis mentions and replaced them with CI --- .github/actions/start-build/action.yml | 6 +- .github/workflows/test-build.yml | 10 +- .travis.yml | 185 ------------------ api/base/settings/defaults.py | 2 +- api/base/settings/local-travis.py | 2 +- .../test_institution_user_metric_list.py | 6 +- api_tests/metrics/test_preprint_metrics.py | 2 +- .../management_commands/test_reindex_es6.py | 2 +- tasks/__init__.py | 34 ++-- 9 files changed, 32 insertions(+), 217 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/actions/start-build/action.yml b/.github/actions/start-build/action.yml index ea4fa0ff66a..d1b124ef50e 100644 --- a/.github/actions/start-build/action.yml +++ b/.github/actions/start-build/action.yml @@ -27,8 +27,8 @@ runs: - name: Copy Settings shell: bash run: | - cp website/settings/local-travis.py website/settings/local.py - cp api/base/settings/local-travis.py api/base/settings/local.py + cp website/settings/local-ci.py website/settings/local.py + cp api/base/settings/local-ci.py api/base/settings/local.py mkdir -p ~/preprints touch ~/preprints/index.html - name: PIP install @@ -41,7 +41,7 @@ runs: shell: bash run: | # bumped psycopg to match requirements.txt, as otherwise build would fail - poetry run python3 -m invoke travis-addon-settings + poetry run python3 -m invoke ci-addon-settings pip uninstall uritemplate.py --yes # use yarn add --exact to match versions in yarn.lock w/o installing all deps yarn add --exact bower@^1.8.8 diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 7fe875888d9..42f264772ac 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -52,7 +52,7 @@ jobs: - uses: actions/checkout@v2 - uses: ./.github/actions/start-build - name: Run tests - run: poetry run python3 -m invoke test-travis-addons -n 1 --junit + run: poetry run python3 -m invoke test-ci-addons -n 1 --junit - name: Upload report if: (github.event_name != 'pull_request') && (success() || failure()) # run this step even if previous step failed uses: ./.github/actions/gen-report @@ -79,7 +79,7 @@ jobs: - uses: actions/checkout@v2 - uses: ./.github/actions/start-build - name: Run tests - run: poetry run python3 -m invoke test-travis-website -n 1 --junit + run: poetry run python3 -m invoke test-ci-website -n 1 --junit - name: Upload report if: (github.event_name != 'pull_request') && (success() || failure()) # run this step even if previous step failed uses: ./.github/actions/gen-report @@ -108,7 +108,7 @@ jobs: - name: NVM & yarn install run: poetry run python3 -m invoke assets --dev - name: Run test - run: poetry run python3 -m invoke test-travis-api1-and-js -n 1 --junit + run: poetry run python3 -m invoke test-ci-api1-and-js -n 1 --junit - name: Upload report if: (github.event_name != 'pull_request') && (success() || failure()) # run this step even if previous step failed uses: ./.github/actions/gen-report @@ -135,7 +135,7 @@ jobs: - uses: actions/checkout@v2 - uses: ./.github/actions/start-build - name: Run tests - run: poetry run python3 -m invoke test-travis-api2 -n 1 --junit + run: poetry run python3 -m invoke test-ci-api2 -n 1 --junit - name: Upload report if: (github.event_name != 'pull_request') && (success() || failure()) # run this step even if previous step failed uses: ./.github/actions/gen-report @@ -163,7 +163,7 @@ jobs: - uses: actions/checkout@v2 - uses: ./.github/actions/start-build - name: Run tests - run: poetry run python3 -m invoke test-travis-api3-and-osf -n 1 --junit + run: poetry run python3 -m invoke test-ci-api3-and-osf -n 1 --junit - name: Upload report if: (github.event_name != 'pull_request') && (success() || failure()) # run this step even if previous step failed uses: ./.github/actions/gen-report diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0d5c765066d..00000000000 --- a/.travis.yml +++ /dev/null @@ -1,185 +0,0 @@ -# Config file for automatic testing at travis-ci.org - -language: python - -python: - - "3.10" - -dist: trusty - -# TODO: uncomment when https://github.com/travis-ci/travis-ci/issues/8836 is resolved -# addons: -# chrome: stable - -os: linux - -cache: - yarn: true - pip: true - directories: - - $HOME/.cache - - node_modules - - website/static/vendor/bower_components - -env: - global: - - WHEELHOUSE="$HOME/.cache/wheelhouse" - - LIBXML2_DEB="libxml2-dbg_2.9.1+dfsg1-3ubuntu4.9_amd64.deb" - - POSTGRES_DEB="postgresql-9.6_9.6.3-1.pgdg12.4+1_amd64.deb" - - ELASTICSEARCH_ARCHIVE="elasticsearch-2.4.5.tar.gz" - - ELASTICSEARCH6_ARCHIVE="elasticsearch-6.3.1.tar.gz" - - LIBJEMALLOC_DEB="libjemalloc1_3.5.1-2_amd64.deb" - - LIBPCRE_DEB="libpcre3_8.31-2ubuntu2.3_amd64.deb" - # - VARNISH_DEB="varnish_4.1.0-1~trusty_amd64.deb" - - OSF_DB_PORT="54321" - # Workaround for travis bug: see https://github.com/travis-ci/travis-ci/issues/7940#issuecomment-311411559 - - BOTO_CONFIG=/dev/null - jobs: - - TEST_BUILD="addons" - - TEST_BUILD="website" - - TEST_BUILD="api1_and_js" - - TEST_BUILD="api2" - - TEST_BUILD="api3_and_osf" - -before_install: - # cache directories - - | - mkdir -p $HOME/.cache/downloads - mkdir -p $HOME/.cache/pip - mkdir -p $HOME/.cache/wheelhouse - mkdir -p $HOME/.cache/testmon - rm -rf node_modules ## TODO remove this later - # postgres - - | - cd $HOME/.cache/downloads - - if [ ! -f "$LIBXML2_DEB" ]; then - curl -SLO http://security.ubuntu.com/ubuntu/pool/main/libx/libxml2/$LIBXML2_DEB - fi - - if [ ! -f "$POSTGRES_DEB" ]; then - curl -SLO http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-9.6/$POSTGRES_DEB - fi - - dpkg -x $LIBXML2_DEB /tmp/libxml2 - dpkg -x $POSTGRES_DEB /tmp/postgres - - | - export LD_LIBRARY_PATH=/tmp/libxml2/usr/lib/x86_64-linux-gnu - /tmp/postgres/usr/lib/postgresql/9.6/bin/initdb /tmp/postgres/data --nosync -U postgres - sed -i -e 's/#fsync.*/fsync = off/' /tmp/postgres/data/postgresql.conf - sed -i -e 's/#synchronous_commit.*/synchronous_commit = off/' /tmp/postgres/data/postgresql.conf - sed -i -e 's/#full_page_writes.*/full_page_writes = off/' /tmp/postgres/data/postgresql.conf - /tmp/postgres/usr/lib/postgresql/9.6/bin/postgres -k /tmp -D /tmp/postgres/data -p 54321 > /dev/null & export POSTGRES_PID=$! - # elasticsearch - - | - cd $HOME/.cache/downloads - - if [ ! -f "$ELASTICSEARCH_ARCHIVE" ]; then - curl -SLO https://download.elasticsearch.org/elasticsearch/elasticsearch/$ELASTICSEARCH_ARCHIVE - fi - - if [ ! -f "$ELASTICSEARCH_ARCHIVE.sha1.txt" ]; then - curl -SLO https://download.elasticsearch.org/elasticsearch/elasticsearch/$ELASTICSEARCH_ARCHIVE.sha1.txt - fi - - sha1sum --check $ELASTICSEARCH_ARCHIVE.sha1.txt - - mkdir -p /tmp/elasticsearch - tar xzf $ELASTICSEARCH_ARCHIVE -C /tmp/elasticsearch --strip-components=1 - - /tmp/elasticsearch/bin/elasticsearch > /dev/null & export ELASTICSEARCH_PID=$! - # Wait for elasticsearch to come online - - |- - while true; do - sleep 5 - curl -sf http://localhost:9200/_cluster/health?wait_for_status=yellow - if [ $? -eq 0 ]; then - break - fi - done - - # elasticsearch6 - - | - - if [ ! -f "$ELASTICSEARCH6_ARCHIVE" ]; then - curl -SLO https://artifacts.elastic.co/downloads/elasticsearch/$ELASTICSEARCH6_ARCHIVE - fi - - if [ ! -f "$ELASTICSEARCH6_ARCHIVE.sha1.txt" ]; then - curl -SLO https://artifacts.elastic.co/downloads/elasticsearch/$ELASTICSEARCH6_ARCHIVE.sha1.txt - fi - - sha1sum --check $ELASTICSEARCH6_ARCHIVE.sha1.txt - - mkdir -p /tmp/elasticsearch6 - tar xzf $ELASTICSEARCH6_ARCHIVE -C /tmp/elasticsearch6 --strip-components=1 - - /tmp/elasticsearch6/bin/elasticsearch > /dev/null & export ELASTICSEARCH6_PID=$! - # Wait for elasticsearch to come online - - |- - while true; do - sleep 5 - curl -sf http://localhost:9201/_cluster/health?wait_for_status=yellow - if [ $? -eq 0 ]; then - break - fi - done - - -install: - - cd $TRAVIS_BUILD_DIR - - cp website/settings/local-travis.py website/settings/local.py - - cp api/base/settings/local-travis.py api/base/settings/local.py - - '[ -d $HOME/preprints ] || ( mkdir -p $HOME/preprints && touch $HOME/preprints/index.html )' - - - travis_retry pip install --upgrade pip - - travis_retry pip install invoke==0.13.0 - - travis_retry pip install flake8==7.0.0 --force-reinstall --upgrade - - travis_retry invoke wheelhouse --dev --addons - - - | - if [ "$TEST_BUILD" = "api1_and_js" ]; then - nvm install 8.6.0 - nvm use 8.6.0 - curl -o- -L https://yarnpkg.com/install.sh | bash - export PATH=$HOME/.yarn/bin:$PATH - travis_retry invoke assets --dev - fi - - - travis_retry invoke travis_addon_settings - # bumped psycopg to match requirements.txt, as otherwise build would fail - - travis_retry pip install psycopg2==2.9.9 --no-binary psycopg2 - - travis_retry invoke requirements --dev --addons - # Hack to fix package conflict between uritemplate and uritemplate.py (dependency of github3.py) - - pip uninstall uritemplate.py --yes - - pip install uritemplate.py==0.3.0 - -# Run Python tests (core and addon) and JS tests - -script: - - export COVERAGE=`if [ "$TRAVIS_BRANCH" == "master-w-coverage" ]; then echo "--coverage"; else echo ""; fi` - # Testmon will run for PRs, but will be disabled when merging into master or develop - - export TESTMON=`if [[ "$TRAVIS_PULL_REQUEST_BRANCH" == "" && "$TRAVIS_BRANCH" == "develop" || "$TRAVIS_PULL_REQUEST_BRANCH" == "" && "$TRAVIS_BRANCH" == "master" ]]; then echo ""; else echo "--testmon"; fi` - - export TESTMON_DATAFILE=$HOME/.cache/testmon/.testmondata_$TEST_BUILD - - invoke test_travis_$TEST_BUILD -n 1 $COVERAGE $TESTMON - -after_success: - - if [[ "$TRAVIS_BRANCH" == "master-w-coverage" ]]; then coveralls; fi - -before_cache: - # This ensures failed tests are removed from the cache so they can be re-tried. - - inv remove_failures_from_testmon --db-path=$HOME/.cache/testmon/.testmondata_$TEST_BUILD - - rm -Rf $HOME/.cache/pip/http - - rm -f $HOME/.cache/pip/log/debug.log - # exclude python requirements from github repo's - - rm -f $HOME/.cache/wheelhouse/modular_odm-*.whl - - rm -f $HOME/.cache/wheelhouse/mfr-*.whl - - rm -f $HOME/.cache/wheelhouse/responses-*.whl - - rm -f $HOME/.cache/wheelhouse/mendeley-*.whl - - rm -f $HOME/.cache/wheelhouse/feedparser-*.whl - # kill any running processes - - kill -9 $POSTGRES_PID - - kill -9 $ELASTICSEARCH_PID - - kill -9 $ELASTICSEARCH6_PID - -branches: - except: - - /^[0-9]/ diff --git a/api/base/settings/defaults.py b/api/base/settings/defaults.py index d74e744f787..2c26fdeda4c 100644 --- a/api/base/settings/defaults.py +++ b/api/base/settings/defaults.py @@ -360,7 +360,7 @@ MAX_SIZE_OF_ES_QUERY = 10000 DEFAULT_ES_NULL_VALUE = 'N/A' -TRAVIS_ENV = False +CI_ENV = False CITATION_STYLES_REPO_URL = 'https://github.com/CenterForOpenScience/styles/archive/88e6ed31a91e9f5a480b486029cda97b535935d4.zip' DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' diff --git a/api/base/settings/local-travis.py b/api/base/settings/local-travis.py index 8b98f743169..159ff9a777f 100644 --- a/api/base/settings/local-travis.py +++ b/api/base/settings/local-travis.py @@ -25,4 +25,4 @@ ALLOWED_HOSTS.append('localhost') -TRAVIS_ENV = True +CI_ENV = True diff --git a/api_tests/institutions/views/test_institution_user_metric_list.py b/api_tests/institutions/views/test_institution_user_metric_list.py index 225f876e383..6e3b3b8f2dd 100644 --- a/api_tests/institutions/views/test_institution_user_metric_list.py +++ b/api_tests/institutions/views/test_institution_user_metric_list.py @@ -218,7 +218,7 @@ def test_filter(self, app, url, admin, populate_counts): resp = app.get(f'{url}?filter[department]=Psychology dept', auth=admin.auth) assert resp.json['data'][0]['attributes']['department'] == 'Psychology dept' - @pytest.mark.skipif(settings.TRAVIS_ENV, reason='Non-deterministic fails on travis') + @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on ci') def test_sort_and_pagination(self, app, url, user, user2, user3, admin, populate_counts, populate_more_counts, institution): resp = app.get(f'{url}?sort=user_name&page[size]=1&page=2', auth=admin.auth) assert resp.status_code == 200 @@ -229,7 +229,7 @@ def test_sort_and_pagination(self, app, url, user, user2, user3, admin, populate assert resp.json['links']['meta']['total'] == 11 assert resp.json['data'][-1]['attributes']['user_name'] == 'Zedd' - @pytest.mark.skipif(settings.TRAVIS_ENV, reason='Non-deterministic fails on travis') + @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on ci') def test_filter_and_pagination(self, app, user, user2, user3, url, admin, populate_counts, populate_more_counts, institution): resp = app.get(f'{url}?page=2', auth=admin.auth) assert resp.json['links']['meta']['total'] == 11 @@ -238,7 +238,7 @@ def test_filter_and_pagination(self, app, user, user2, user3, url, admin, popula assert resp.json['links']['meta']['total'] == 1 assert resp.json['data'][0]['attributes']['user_name'] == 'Zedd' - @pytest.mark.skipif(settings.TRAVIS_ENV, reason='Non-deterministic fails on travis') + @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on ci') def test_filter_and_sort(self, app, url, user, user2, user3, admin, user4, populate_counts, populate_na_department, institution): """ Testing for bug where sorting and filtering would throw 502. diff --git a/api_tests/metrics/test_preprint_metrics.py b/api_tests/metrics/test_preprint_metrics.py index c3a24f4183e..57e31655c40 100644 --- a/api_tests/metrics/test_preprint_metrics.py +++ b/api_tests/metrics/test_preprint_metrics.py @@ -190,7 +190,7 @@ def test_preprint_list_with_metrics_fails(self, mock_timezone, app, user, base_u res = app.get(one_preprint_url, auth=other_non_admin_user.auth, expect_errors=True) assert res.status_code == 403 - @pytest.mark.skip('Return results will be entirely mocked so does not make a lot of sense to run on travis.') + @pytest.mark.skip('Return results will be entirely mocked so does not make a lot of sense to run on ci.') @mock.patch('api.metrics.utils.timezone.now') def test_preprint_with_metrics_succeeds(self, mock_timezone, app, user, base_url, preprint, other_user, preprint_no_results, metric_dates): diff --git a/osf_tests/management_commands/test_reindex_es6.py b/osf_tests/management_commands/test_reindex_es6.py index 2e881b8f088..ceea911230d 100644 --- a/osf_tests/management_commands/test_reindex_es6.py +++ b/osf_tests/management_commands/test_reindex_es6.py @@ -46,7 +46,7 @@ def url(self): return f'{settings.API_DOMAIN}_/metrics/preprints/downloads/' @pytest.mark.es - @pytest.mark.skipif(django_settings.TRAVIS_ENV, reason='Non-deterministic fails on travis') + @pytest.mark.skipif(django_settings.CI_ENV, reason='Non-deterministic fails on ci') def test_reindexing(self, app, url, preprint, user, admin, es6_client): preprint_download = PreprintDownload.record_for_preprint( preprint, diff --git a/tasks/__init__.py b/tasks/__init__.py index d393d7fb1b6..180d7838126 100755 --- a/tasks/__init__.py +++ b/tasks/__init__.py @@ -470,47 +470,47 @@ def remove_failures_from_testmon(ctx, db_path=None): conn = sqlite3.connect(db_path) tests_decached = conn.execute("delete from node where result <> '{}'").rowcount - ctx.run(f'echo {tests_decached} failures purged from travis cache') + ctx.run(f'echo {tests_decached} failures purged from ci cache') @task -def travis_setup(ctx): +def ci_setup(ctx): with open('package.json') as fobj: package_json = json.load(fobj) ctx.run('npm install @centerforopenscience/list-of-licenses@{}'.format(package_json['dependencies']['@centerforopenscience/list-of-licenses']), echo=True) @task -def test_travis_addons(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): +def test_ci_addons(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): """ - Run half of the tests to help travis go faster. + Run half of the tests to help ci go faster. """ - #travis_setup(ctx) + #ci_setup(ctx) syntax(ctx) test_addons(ctx, numprocesses=numprocesses, coverage=coverage, testmon=testmon, junit=junit) @task -def test_travis_website(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): +def test_ci_website(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): """ - Run other half of the tests to help travis go faster. + Run other half of the tests to help ci go faster. """ - #travis_setup(ctx) + #ci_setup(ctx) test_website(ctx, numprocesses=numprocesses, coverage=coverage, testmon=testmon, junit=junit) @task -def test_travis_api1_and_js(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): - #travis_setup(ctx) +def test_ci_api1_and_js(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): + #ci_setup(ctx) test_api1(ctx, numprocesses=numprocesses, coverage=coverage, testmon=testmon, junit=junit) @task -def test_travis_api2(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): - #travis_setup(ctx) +def test_ci_api2(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): + #ci_setup(ctx) test_api2(ctx, numprocesses=numprocesses, coverage=coverage, testmon=testmon, junit=junit) @task -def test_travis_api3_and_osf(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): - #travis_setup(ctx) +def test_ci_api3_and_osf(ctx, numprocesses=None, coverage=False, testmon=False, junit=False): + #ci_setup(ctx) test_api3(ctx, numprocesses=numprocesses, coverage=coverage, testmon=testmon, junit=junit) @task @@ -559,13 +559,13 @@ def addon_requirements(ctx): @task -def travis_addon_settings(ctx): +def ci_addon_settings(ctx): for directory in os.listdir(settings.ADDON_PATH): path = os.path.join(settings.ADDON_PATH, directory, 'settings') if os.path.isdir(path): try: - open(os.path.join(path, 'local-travis.py')) - ctx.run('cp {path}/local-travis.py {path}/local.py'.format(path=path)) + open(os.path.join(path, 'local-ci.py')) + ctx.run('cp {path}/local-ci.py {path}/local.py'.format(path=path)) except OSError: pass From 7797c91aa8445894c56a8912c3153f34e0e5cd18 Mon Sep 17 00:00:00 2001 From: Oleh Paduchak Date: Fri, 9 Aug 2024 14:22:07 +0300 Subject: [PATCH 2/3] fixed case where it was more appropriate --- .../institutions/views/test_institution_user_metric_list.py | 6 +++--- osf_tests/management_commands/test_reindex_es6.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api_tests/institutions/views/test_institution_user_metric_list.py b/api_tests/institutions/views/test_institution_user_metric_list.py index 6e3b3b8f2dd..dfee4d178f5 100644 --- a/api_tests/institutions/views/test_institution_user_metric_list.py +++ b/api_tests/institutions/views/test_institution_user_metric_list.py @@ -218,7 +218,7 @@ def test_filter(self, app, url, admin, populate_counts): resp = app.get(f'{url}?filter[department]=Psychology dept', auth=admin.auth) assert resp.json['data'][0]['attributes']['department'] == 'Psychology dept' - @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on ci') + @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on CI') def test_sort_and_pagination(self, app, url, user, user2, user3, admin, populate_counts, populate_more_counts, institution): resp = app.get(f'{url}?sort=user_name&page[size]=1&page=2', auth=admin.auth) assert resp.status_code == 200 @@ -229,7 +229,7 @@ def test_sort_and_pagination(self, app, url, user, user2, user3, admin, populate assert resp.json['links']['meta']['total'] == 11 assert resp.json['data'][-1]['attributes']['user_name'] == 'Zedd' - @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on ci') + @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on CI') def test_filter_and_pagination(self, app, user, user2, user3, url, admin, populate_counts, populate_more_counts, institution): resp = app.get(f'{url}?page=2', auth=admin.auth) assert resp.json['links']['meta']['total'] == 11 @@ -238,7 +238,7 @@ def test_filter_and_pagination(self, app, user, user2, user3, url, admin, popula assert resp.json['links']['meta']['total'] == 1 assert resp.json['data'][0]['attributes']['user_name'] == 'Zedd' - @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on ci') + @pytest.mark.skipif(settings.CI_ENV, reason='Non-deterministic fails on CI') def test_filter_and_sort(self, app, url, user, user2, user3, admin, user4, populate_counts, populate_na_department, institution): """ Testing for bug where sorting and filtering would throw 502. diff --git a/osf_tests/management_commands/test_reindex_es6.py b/osf_tests/management_commands/test_reindex_es6.py index ceea911230d..1031ba1f782 100644 --- a/osf_tests/management_commands/test_reindex_es6.py +++ b/osf_tests/management_commands/test_reindex_es6.py @@ -46,7 +46,7 @@ def url(self): return f'{settings.API_DOMAIN}_/metrics/preprints/downloads/' @pytest.mark.es - @pytest.mark.skipif(django_settings.CI_ENV, reason='Non-deterministic fails on ci') + @pytest.mark.skipif(django_settings.CI_ENV, reason='Non-deterministic fails on CI') def test_reindexing(self, app, url, preprint, user, admin, es6_client): preprint_download = PreprintDownload.record_for_preprint( preprint, From b5ba66c2398dd11365d5b753d9d4c0db4abccdff Mon Sep 17 00:00:00 2001 From: Oleh Paduchak Date: Fri, 9 Aug 2024 14:29:18 +0300 Subject: [PATCH 3/3] renamed files with travis in their names --- addons/dataverse/settings/{local-travis.py => local-ci.py} | 0 api/base/settings/{local-travis.py => local-ci.py} | 0 website/settings/{local-travis.py => local-ci.py} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename addons/dataverse/settings/{local-travis.py => local-ci.py} (100%) rename api/base/settings/{local-travis.py => local-ci.py} (100%) rename website/settings/{local-travis.py => local-ci.py} (100%) diff --git a/addons/dataverse/settings/local-travis.py b/addons/dataverse/settings/local-ci.py similarity index 100% rename from addons/dataverse/settings/local-travis.py rename to addons/dataverse/settings/local-ci.py diff --git a/api/base/settings/local-travis.py b/api/base/settings/local-ci.py similarity index 100% rename from api/base/settings/local-travis.py rename to api/base/settings/local-ci.py diff --git a/website/settings/local-travis.py b/website/settings/local-ci.py similarity index 100% rename from website/settings/local-travis.py rename to website/settings/local-ci.py