diff --git a/.circleci/config.yml b/.circleci/config.yml index e5da1bca335..d7e557b6896 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -93,6 +93,15 @@ jobs: - run: sudo apt-get install -y libxml2-utils - *install_tox - run: tox -e validate_test_tools + test_galaxy_release: + docker: + - image: circleci/python:3.6 + <<: *set_workdir + steps: + - *restore_repo_cache + - *install_tox + - *install_ffprobe + - run: tox -e test_galaxy_release test_galaxy_packages: docker: - image: circleci/python:3.6 diff --git a/.github/workflows/api.yaml b/.github/workflows/api.yaml index 9b4489e4302..4902a94a3a9 100644 --- a/.github/workflows/api.yaml +++ b/.github/workflows/api.yaml @@ -1,7 +1,7 @@ name: API tests on: [push, pull_request] env: - GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' jobs: test: name: Test @@ -11,7 +11,7 @@ jobs: python-version: ['3.7'] services: postgres: - image: postgres:11 + image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/.github/workflows/api_paste.yaml b/.github/workflows/api_paste.yaml index 1f34a6b6840..1f4bc2bc2f7 100644 --- a/.github/workflows/api_paste.yaml +++ b/.github/workflows/api_paste.yaml @@ -1,7 +1,7 @@ name: API (legacy paste) tests on: [push, pull_request] env: - GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' GALAXY_TEST_USE_UVICORN: false jobs: test: @@ -12,7 +12,7 @@ jobs: python-version: ['3.7'] services: postgres: - image: postgres:11 + image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/.github/workflows/db_indexes.yaml b/.github/workflows/db_indexes.yaml index df9b8573260..b11d21bf025 100644 --- a/.github/workflows/db_indexes.yaml +++ b/.github/workflows/db_indexes.yaml @@ -13,7 +13,7 @@ jobs: db: ['postgresql', 'sqlite'] services: postgres: - image: postgres:11 + image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres @@ -38,7 +38,7 @@ jobs: - name: Check indexes on postgresql if: matrix.db == 'postgresql' env: - GALAXY_CONFIG_OVERRIDE_DATABASE_CONNECTION: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_CONFIG_OVERRIDE_DATABASE_CONNECTION: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' run: tox -e check_indexes - name: Check indexes on sqlite if: matrix.db == 'sqlite' diff --git a/.github/workflows/dependencies.yaml b/.github/workflows/dependencies.yaml index 1930e505595..38399d42ca3 100644 --- a/.github/workflows/dependencies.yaml +++ b/.github/workflows/dependencies.yaml @@ -27,9 +27,11 @@ jobs: - name: Create pull request uses: peter-evans/create-pull-request@v3 with: + token: ${{ secrets.GALAXYBOT_PAT }} commit-message: Update Python dependencies - title: Update Python dependencies - body: Run `make update-dependencies`. branch: dev_auto_update_dependencies delete-branch: true + push-to-fork: galaxybot/galaxy + title: Update Python dependencies + body: Run `make update-dependencies`. labels: area/dependencies diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index f4445f16948..36b2c3fe34b 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -50,7 +50,6 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} run: | - pip install awscli case "$TARGET_BRANCH" in release_[[:digit:]][[:digit:]].[[:digit:]][[:digit:]]|master) UPLOAD_DIR=$TARGET_BRANCH @@ -63,4 +62,5 @@ jobs: exit 0 ;; esac + pip install awscli aws s3 sync doc/build/html/ "s3://galaxy-docs/en/$UPLOAD_DIR" --region us-east-2 --size-only --delete diff --git a/.github/workflows/framework.yaml b/.github/workflows/framework.yaml index 55aa99f6219..280f90a7bdf 100644 --- a/.github/workflows/framework.yaml +++ b/.github/workflows/framework.yaml @@ -1,7 +1,7 @@ name: Framework tests on: [push, pull_request] env: - GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' jobs: test: name: Test @@ -11,7 +11,7 @@ jobs: python-version: ['3.7'] services: postgres: - image: postgres:11 + image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 9d4d64e7718..9366868b379 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -1,7 +1,7 @@ name: Integration on: [push, pull_request] env: - GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' GALAXY_TEST_AMQP_URL: 'amqp://localhost:5672//' jobs: test: diff --git a/.github/workflows/integration_selenium.yaml b/.github/workflows/integration_selenium.yaml index 0bfe9859ea4..4d0e3b1d706 100644 --- a/.github/workflows/integration_selenium.yaml +++ b/.github/workflows/integration_selenium.yaml @@ -1,7 +1,7 @@ name: Integration Selenium on: [push, pull_request] env: - GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' GALAXY_TEST_SELENIUM_REMOTE: '1' GALAXY_TEST_SELENIUM_REMOTE_PORT: "4444" GALAXY_SKIP_CLIENT_BUILD: '0' @@ -15,7 +15,7 @@ jobs: python-version: ['3.7'] services: postgres: - image: postgres:11 + image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/.github/workflows/performance.yaml b/.github/workflows/performance.yaml index 2d045fdced1..dd23da13e7e 100644 --- a/.github/workflows/performance.yaml +++ b/.github/workflows/performance.yaml @@ -1,7 +1,7 @@ name: Performance tests on: [push, pull_request] env: - GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' jobs: test: name: Test @@ -11,7 +11,7 @@ jobs: python-version: ['3.7'] services: postgres: - image: postgres:11 + image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/.github/workflows/selenium.yaml b/.github/workflows/selenium.yaml index a6bb3ed340f..27464bf9d50 100644 --- a/.github/workflows/selenium.yaml +++ b/.github/workflows/selenium.yaml @@ -1,7 +1,7 @@ name: Selenium tests on: [push, pull_request] env: - GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + GALAXY_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' GALAXY_TEST_SKIP_FLAKEY_TESTS_ON_ERROR: 'true' GALAXY_TEST_SELENIUM_RETRIES: 1 jobs: @@ -15,7 +15,7 @@ jobs: chunk: [0, 1, 2] services: postgres: - image: postgres:11 + image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/.github/workflows/toolshed.yaml b/.github/workflows/toolshed.yaml index 5d260077cc3..0d88af5866e 100644 --- a/.github/workflows/toolshed.yaml +++ b/.github/workflows/toolshed.yaml @@ -1,8 +1,8 @@ name: Toolshed tests on: [push, pull_request] env: - GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' - TOOL_SHED_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/toolshed?client_encoding=utf8' + GALAXY_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' + TOOL_SHED_TEST_DBURI: 'postgresql://postgres:postgres@localhost:5432/toolshed?client_encoding=utf8' jobs: test: name: Test @@ -12,7 +12,7 @@ jobs: python-version: ['3.7'] services: postgres: - image: postgres:11 + image: postgres:13 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/Makefile b/Makefile index 0cc62b722cf..eecec849d45 100644 --- a/Makefile +++ b/Makefile @@ -2,14 +2,8 @@ VENV?=.venv # Source virtualenv to execute command (flake8, sphinx, twine, etc...) IN_VENV=if [ -f "$(VENV)/bin/activate" ]; then . "$(VENV)/bin/activate"; fi; -RELEASE_CURR:=16.01 -RELEASE_CURR_MINOR_NEXT:=$(shell $(IN_VENV) python scripts/bootstrap_history.py --print-next-minor-version) -RELEASE_NEXT:=16.04 -# TODO: This needs to be updated with create_release_rc -#RELEASE_NEXT_BRANCH:=release_$(RELEASE_NEXT) -RELEASE_NEXT_BRANCH:=dev +RELEASE_CURR:=21.05 RELEASE_UPSTREAM:=upstream -MY_UPSTREAM:=origin CONFIG_MANAGE=$(IN_VENV) python lib/galaxy/config/config_manage.py PROJECT_URL?=https://github.com/galaxyproject/galaxy DOCS_DIR=doc @@ -180,97 +174,13 @@ serve-selenium-notebooks: ## Serve testing notebooks for Jupyter cd lib && export PYTHONPATH=`pwd`; jupyter notebook --notebook-dir=galaxy_test/selenium/jupyter # Release Targets -release-create-rc: release-ensure-upstream ## Create a release-candidate branch - git checkout dev - git pull --ff-only $(RELEASE_UPSTREAM) dev - git push $(MY_UPSTREAM) dev - git checkout -b release_$(RELEASE_CURR) - git push $(MY_UPSTREAM) release_$(RELEASE_CURR) - git push $(RELEASE_UPSTREAM) release_$(RELEASE_CURR) - git checkout -b version-$(RELEASE_CURR) - sed -i.bak -e "s/^VERSION_MAJOR = .*/VERSION_MAJOR = \"$(RELEASE_CURR)\"/" lib/galaxy/version.py - sed -i.bak -e "s/^VERSION_MINOR = .*/VERSION_MINOR = \"rc1\"/" lib/galaxy/version.py - rm -f lib/galaxy/version.py.bak - git add lib/galaxy/version.py - git commit -m "Update version to $(RELEASE_CURR).rc1" - git checkout dev +release-create-rc: ## Create a release-candidate branch or new release-candidate version + $(IN_VENV) ./scripts/release.sh -c - git checkout -b version-$(RELEASE_NEXT).dev - sed -i.bak -e "s/^VERSION_MAJOR = .*/VERSION_MAJOR = \"$(RELEASE_NEXT)\"/" lib/galaxy/version.py - rm -f lib/galaxy/version.py.bak - git add lib/galaxy/version.py - git commit -m "Update version to $(RELEASE_NEXT).dev" +release-create: ## Create a release branch + $(IN_VENV) ./scripts/release.sh - -git merge version-$(RELEASE_CURR) - git checkout --ours lib/galaxy/version.py - git add lib/galaxy/version.py - git commit -m "Merge branch 'version-$(RELEASE_CURR)' into version-$(RELEASE_NEXT).dev" - git push $(MY_UPSTREAM) version-$(RELEASE_CURR):version-$(RELEASE_CURR) - git push $(MY_UPSTREAM) version-$(RELEASE_NEXT).dev:version-$(RELEASE_NEXT).dev - git checkout dev - # TODO: Use hub to automate these PR creations or push directly. - @echo "Open a PR from version-$(RELEASE_CURR) of your fork to release_$(RELEASE_CURR)" - @echo "Open a PR from version-$(RELEASE_NEXT).dev of your fork to dev" - -release-create: release-ensure-upstream ## Create a release branch - git checkout master - git pull --ff-only $(RELEASE_UPSTREAM) master - git push $(MY_UPSTREAM) master - git checkout release_$(RELEASE_CURR) - git pull --ff-only $(RELEASE_UPSTREAM) release_$(RELEASE_CURR) - #git push $(MY_UPSTREAM) release_$(RELEASE_CURR) - git checkout dev - git pull --ff-only $(RELEASE_UPSTREAM) dev - #git push $(MY_UPSTREAM) dev - # Test run of merging. If there are conflicts, it will fail here. - git merge release_$(RELEASE_CURR) - git checkout release_$(RELEASE_CURR) - sed -i.bak -e "s/^VERSION_MINOR = .*/VERSION_MINOR = None/" lib/galaxy/version.py - rm -f lib/galaxy/version.py.bak - git add lib/galaxy/version.py - git commit -m "Update version to $(RELEASE_CURR)" - git tag -m "Tag version $(RELEASE_CURR)" v$(RELEASE_CURR) - - git checkout dev - -git merge release_$(RELEASE_CURR) - git checkout --ours lib/galaxy/version.py - git add lib/galaxy/version.py - git commit -m "Merge branch 'release_$(RELEASE_CURR)' into dev" - git checkout master - git merge release_$(RELEASE_CURR) - git push $(RELEASE_UPSTREAM) release_$(RELEASE_CURR):release_$(RELEASE_CURR) - git push $(RELEASE_UPSTREAM) dev:dev - git push $(RELEASE_UPSTREAM) master:master - git push $(RELEASE_UPSTREAM) --tags - -release-create-point: ## Create a point release - git pull --ff-only $(RELEASE_UPSTREAM) master - git push $(MY_UPSTREAM) master - git checkout release_$(RELEASE_CURR) - git pull --ff-only $(RELEASE_UPSTREAM) release_$(RELEASE_CURR) - #git push $(MY_UPSTREAM) release_$(RELEASE_CURR) - git checkout $(RELEASE_NEXT_BRANCH) - git pull --ff-only $(RELEASE_UPSTREAM) $(RELEASE_NEXT_BRANCH) - #git push $(MY_UPSTREAM) $(RELEASE_NEXT_BRANCH) - git merge release_$(RELEASE_CURR) - git checkout release_$(RELEASE_CURR) - sed -i.bak -e "s/^VERSION_MINOR = .*/VERSION_MINOR = \"$(RELEASE_CURR_MINOR_NEXT)\"/" lib/galaxy/version.py - rm -f lib/galaxy/version.py.bak - git add lib/galaxy/version.py - git commit -m "Update version to $(RELEASE_CURR).$(RELEASE_CURR_MINOR_NEXT)" - git tag -m "Tag version $(RELEASE_CURR).$(RELEASE_CURR_MINOR_NEXT)" v$(RELEASE_CURR).$(RELEASE_CURR_MINOR_NEXT) - git checkout $(RELEASE_NEXT_BRANCH) - -git merge release_$(RELEASE_CURR) - git checkout --ours lib/galaxy/version.py - git add lib/galaxy/version.py - git commit -m "Merge branch 'release_$(RELEASE_CURR)' into $(RELEASE_NEXT_BRANCH)" - git checkout master - git merge release_$(RELEASE_CURR) - #git push origin release_$(RELEASE_CURR):release_$(RELEASE_CURR) - #git push origin $(RELEASE_NEXT_BRANCH):release_$(RELEASE_NEXT_BRANCH) - #git push origin master:master - #git push origin --tags - git checkout release_$(RELEASE_CURR) +release-create-point: release-create ## Create a point release .PHONY: help diff --git a/client/package.json b/client/package.json index b2913b43bfa..41d63408093 100644 --- a/client/package.json +++ b/client/package.json @@ -77,14 +77,14 @@ "vue": "^2.6.11", "vue-infinite-scroll": "^2.0.2", "vue-multiselect": "^2.1.0", + "vue-observe-visibility": "^1.0.0", "vue-router": "^3.3.1", "vue-rx": "^6.2.0", "vuedraggable": "2.24.1", "vueisotope": "^3.1.2", "vuex": "^3.4.0", "vuex-cache": "^3.2.0", - "vuex-persist": "^3.1.3", - "vue-observe-visibility": "^1.0.0" + "vuex-persist": "^3.1.3" }, "scripts": { "watch": "gulp && yarn run save-build-hash && yarn run webpack-watch", @@ -115,14 +115,14 @@ "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-transform-runtime": "^7.11.0", "@babel/preset-env": "^7.11.0", - "@testing-library/jest-dom": "^5.11.3", + "@testing-library/jest-dom": "^5.11.9", "@vue/test-utils": "^1.0.3", "amdi18n-loader": "^0.9.3", "autoprefixer": "^9.8.0", "axios-mock-adapter": "^1.18.2", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^10.1.0", - "babel-jest": "^26.3.0", + "babel-jest": "^26.6.3", "babel-loader": "^8.1.0", "babel-plugin-transform-inline-environment-variables": "^0.4.3", "babel-plugin-transform-vue-template": "^0.4.2", @@ -131,29 +131,25 @@ "css-loader": "^3.5.3", "del": "^5.1.0", "duplicate-package-checker-webpack-plugin": "^3.0.0", - "eslint": "^7.7.0", - "eslint-plugin-vue": "^6.2.2", + "eslint": "^7.22.0", + "eslint-plugin-vue": "^7.7.0", "expose-loader": "^1.0.0", "file-loader": "^6.0.0", "gulp": "^4.0.2", "ignore-loader": "^0.1.2", "imports-loader": "^0.8.0", - "jest": "^26.4.2", + "jest": "^26.6.3", "jest-raw-loader": "^1.0.1", "json-loader": "^0.5.7", "karma": "^5.0.9", - "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.1.0", - "karma-phantomjs-launcher": "^1.0.4", "karma-polyfill": "^1.1.0", "karma-qunit": "^4.1.1", "karma-webpack": "^4.0.2", "mini-css-extract-plugin": "^0.9.0", "optimize-css-assets-webpack-plugin": "^5.0.3", - "phantomjs-polyfill": "0.0.2", - "phantomjs-prebuilt": "^2.1.7", "postcss-loader": "^3.0.0", - "prettier": "^2.0.5", + "prettier": "^2.2.1", "qunit": "^2.10.0", "raw-loader": "^4.0.1", "sass": "^1.26.5", diff --git a/client/src/components/Citation/Citations.vue b/client/src/components/Citation/Citations.vue index 915074d1dc3..b65406d7736 100644 --- a/client/src/components/Citation/Citations.vue +++ b/client/src/components/Citation/Citations.vue @@ -24,7 +24,7 @@ @@ -44,7 +44,7 @@ diff --git a/client/src/components/Collections/ListCollectionCreator.vue b/client/src/components/Collections/ListCollectionCreator.vue index 9687035e75b..4a6d1a99d3d 100644 --- a/client/src/components/Collections/ListCollectionCreator.vue +++ b/client/src/components/Collections/ListCollectionCreator.vue @@ -1,6 +1,6 @@