mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	Merge pull request #2322 from dalf/github-actions
[mod] use github actions instead of travis
This commit is contained in:
		
						commit
						2fc7273141
					
				
							
								
								
									
										11
									
								
								.coveragerc
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								.coveragerc
									
									
									
									
									
								
							@ -1,15 +1,6 @@
 | 
				
			|||||||
[run]
 | 
					[run]
 | 
				
			||||||
branch = True
 | 
					branch = True
 | 
				
			||||||
source =
 | 
					source = searx
 | 
				
			||||||
  searx/engines
 | 
					 | 
				
			||||||
  searx/__init__.py
 | 
					 | 
				
			||||||
  searx/autocomplete.py
 | 
					 | 
				
			||||||
  searx/https_rewrite.py
 | 
					 | 
				
			||||||
  searx/languages.py
 | 
					 | 
				
			||||||
  searx/search.py
 | 
					 | 
				
			||||||
  searx/testing.py
 | 
					 | 
				
			||||||
  searx/utils.py
 | 
					 | 
				
			||||||
  searx/webapp.py
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[report]
 | 
					[report]
 | 
				
			||||||
show_missing = True
 | 
					show_missing = True
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										110
									
								
								.github/workflows/integration.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								.github/workflows/integration.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,110 @@
 | 
				
			|||||||
 | 
					name: Integration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on: [push, pull_request]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  python:
 | 
				
			||||||
 | 
					    name: Python ${{ matrix.python-version }}
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    strategy:
 | 
				
			||||||
 | 
					      matrix:
 | 
				
			||||||
 | 
					        os: [ubuntu-latest]
 | 
				
			||||||
 | 
					        python-version: [3.5, 3.6, 3.7, 3.8]
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Checkout 🛎️
 | 
				
			||||||
 | 
					      uses: actions/checkout@v2
 | 
				
			||||||
 | 
					    - name: Install Ubuntu packages 🧰
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        sudo ./utils/searx.sh install packages
 | 
				
			||||||
 | 
					        sudo apt install firefox
 | 
				
			||||||
 | 
					    - name: Set up Python 🧰
 | 
				
			||||||
 | 
					      uses: actions/setup-python@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        python-version: ${{ matrix.python-version }}
 | 
				
			||||||
 | 
					        architecture: 'x64'
 | 
				
			||||||
 | 
					    - name: Install Python dependencies 🧰
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        make V=1 install
 | 
				
			||||||
 | 
					        make V=1 gecko.driver
 | 
				
			||||||
 | 
					    - name: Run tests 🏗️
 | 
				
			||||||
 | 
					      run: make V=1 test
 | 
				
			||||||
 | 
					    - name: Test coverage 🗺️
 | 
				
			||||||
 | 
					      run: make V=1 test.coverage
 | 
				
			||||||
 | 
					    - name: Store coverage result 🗺️
 | 
				
			||||||
 | 
					      uses: actions/upload-artifact@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        name: coverage-${{ matrix.python-version }}
 | 
				
			||||||
 | 
					        path: coverage/
 | 
				
			||||||
 | 
					        retention-days: 60
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  themes:
 | 
				
			||||||
 | 
					    name: Themes
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Checkout 🛎️
 | 
				
			||||||
 | 
					      uses: actions/checkout@v2
 | 
				
			||||||
 | 
					    - name: Install Ubuntu packages 🧰
 | 
				
			||||||
 | 
					      run: sudo ./utils/searx.sh install packages
 | 
				
			||||||
 | 
					    - name: Install node dependencies 🧰
 | 
				
			||||||
 | 
					      run: make V=1 node.env
 | 
				
			||||||
 | 
					    - name: Build themes 🏗️
 | 
				
			||||||
 | 
					      run: make V=1 themes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  documentation:
 | 
				
			||||||
 | 
					    name: Documentation
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Checkout 🛎️
 | 
				
			||||||
 | 
					      uses: actions/checkout@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        persist-credentials: false
 | 
				
			||||||
 | 
					    - name: Install Ubuntu packages 🧰
 | 
				
			||||||
 | 
					      run: sudo ./utils/searx.sh install buildhost
 | 
				
			||||||
 | 
					    - name: Set up Python 🧰
 | 
				
			||||||
 | 
					      uses: actions/setup-python@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        python-version: '3.9'
 | 
				
			||||||
 | 
					        architecture: 'x64'
 | 
				
			||||||
 | 
					    - name: Build documentation 🏗️
 | 
				
			||||||
 | 
					      run: SEARX_DEBUG=1 make V=1 travis-gh-pages
 | 
				
			||||||
 | 
					    - name: Deploy 🚀
 | 
				
			||||||
 | 
					      if:  github.ref == 'ref/head/master'
 | 
				
			||||||
 | 
					      uses: JamesIves/github-pages-deploy-action@e774cc50ed6e8e667bca6a331d2a3ba80c79debc
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        GITHUB_TOKEN: ${{ github.token }}
 | 
				
			||||||
 | 
					        BRANCH: gh-pages
 | 
				
			||||||
 | 
					        FOLDER: gh-pages
 | 
				
			||||||
 | 
					        CLEAN: true # Automatically remove deleted files from the deploy branch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  dockers:
 | 
				
			||||||
 | 
					    name: Docker
 | 
				
			||||||
 | 
					    if: github.ref == 'ref/head/master'
 | 
				
			||||||
 | 
					    needs:
 | 
				
			||||||
 | 
					      - python
 | 
				
			||||||
 | 
					      - themes
 | 
				
			||||||
 | 
					      - documentation
 | 
				
			||||||
 | 
					    env:
 | 
				
			||||||
 | 
					      DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout 🛎️
 | 
				
			||||||
 | 
					        if: env.DOCKERHUB_USERNAME != null
 | 
				
			||||||
 | 
					        uses: actions/checkout@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          # make sure "make docker.push" can get the git history
 | 
				
			||||||
 | 
					          fetch-depth: '0'
 | 
				
			||||||
 | 
					      - name: Set up QEMU 🧰
 | 
				
			||||||
 | 
					        if: env.DOCKERHUB_USERNAME != null
 | 
				
			||||||
 | 
					        uses: docker/setup-qemu-action@v1
 | 
				
			||||||
 | 
					      - name: Set up Docker Buildx 🧰
 | 
				
			||||||
 | 
					        if: env.DOCKERHUB_USERNAME != null
 | 
				
			||||||
 | 
					        uses: docker/setup-buildx-action@v1
 | 
				
			||||||
 | 
					      - name: Login to DockerHub 🔒
 | 
				
			||||||
 | 
					        if: env.DOCKERHUB_USERNAME != null
 | 
				
			||||||
 | 
					        uses: docker/login-action@v1
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          username: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
				
			||||||
 | 
					          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
				
			||||||
 | 
					      - name: Build and push 🐳
 | 
				
			||||||
 | 
					        if: env.DOCKERHUB_USERNAME != null
 | 
				
			||||||
 | 
					        run: make -e GIT_URL=$(git remote get-url origin) docker.push
 | 
				
			||||||
							
								
								
									
										77
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										77
									
								
								.travis.yml
									
									
									
									
									
								
							@ -1,77 +0,0 @@
 | 
				
			|||||||
os: linux
 | 
					 | 
				
			||||||
dist: bionic
 | 
					 | 
				
			||||||
language: python
 | 
					 | 
				
			||||||
cache:
 | 
					 | 
				
			||||||
  - directories:
 | 
					 | 
				
			||||||
    - $HOME/.cache/pip
 | 
					 | 
				
			||||||
addons:
 | 
					 | 
				
			||||||
  firefox: "latest"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install:
 | 
					 | 
				
			||||||
  - env
 | 
					 | 
				
			||||||
  - which python; python --version
 | 
					 | 
				
			||||||
  - make V=1 install
 | 
					 | 
				
			||||||
  - make V=1 gecko.driver
 | 
					 | 
				
			||||||
  - make V=1 node.env
 | 
					 | 
				
			||||||
  - make V=1 travis.codecov
 | 
					 | 
				
			||||||
script:
 | 
					 | 
				
			||||||
  - make V=1 themes
 | 
					 | 
				
			||||||
  - make V=1 test
 | 
					 | 
				
			||||||
after_success:
 | 
					 | 
				
			||||||
  - make V=1 test.coverage
 | 
					 | 
				
			||||||
  - codecov
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
stages:
 | 
					 | 
				
			||||||
  - test
 | 
					 | 
				
			||||||
  - name: documentation
 | 
					 | 
				
			||||||
    if: env(GITHUB_TOKEN) IS present
 | 
					 | 
				
			||||||
  - name: docker
 | 
					 | 
				
			||||||
    if: branch = master AND type != pull_request AND env(DOCKER_USERNAME) IS present
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  include:
 | 
					 | 
				
			||||||
    - python: "3.5"
 | 
					 | 
				
			||||||
    - python: "3.6"
 | 
					 | 
				
			||||||
    - python: "3.7"
 | 
					 | 
				
			||||||
    - python: "3.8"
 | 
					 | 
				
			||||||
    - stage: documentation
 | 
					 | 
				
			||||||
      python: "3.8"
 | 
					 | 
				
			||||||
      addons: []
 | 
					 | 
				
			||||||
      before_install:
 | 
					 | 
				
			||||||
        - sudo ./utils/searx.sh install buildhost
 | 
					 | 
				
			||||||
      install: true
 | 
					 | 
				
			||||||
      script:
 | 
					 | 
				
			||||||
        - SEARX_DEBUG=1 make travis-gh-pages
 | 
					 | 
				
			||||||
      after_success: true
 | 
					 | 
				
			||||||
      deploy:
 | 
					 | 
				
			||||||
        provider: pages
 | 
					 | 
				
			||||||
        edge: false
 | 
					 | 
				
			||||||
        token: $GITHUB_TOKEN  # Set in the settings page of your repository, as a secure variable
 | 
					 | 
				
			||||||
        strategy: git
 | 
					 | 
				
			||||||
        skip_cleanup: true
 | 
					 | 
				
			||||||
        keep_history: true
 | 
					 | 
				
			||||||
        local_dir: gh-pages
 | 
					 | 
				
			||||||
        target_branch: gh-pages
 | 
					 | 
				
			||||||
        on:
 | 
					 | 
				
			||||||
          branch: master
 | 
					 | 
				
			||||||
    - stage: docker
 | 
					 | 
				
			||||||
      python: "3.8"
 | 
					 | 
				
			||||||
      git:
 | 
					 | 
				
			||||||
        depth: false
 | 
					 | 
				
			||||||
      services:
 | 
					 | 
				
			||||||
        - docker
 | 
					 | 
				
			||||||
      addons: []
 | 
					 | 
				
			||||||
      before_install: true
 | 
					 | 
				
			||||||
      install: true
 | 
					 | 
				
			||||||
      script:
 | 
					 | 
				
			||||||
        - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
 | 
					 | 
				
			||||||
        - make -e GIT_URL=$(git remote get-url origin) docker.push
 | 
					 | 
				
			||||||
      after_success: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
notifications:
 | 
					 | 
				
			||||||
  irc:
 | 
					 | 
				
			||||||
    channels:
 | 
					 | 
				
			||||||
      - "irc.freenode.org#searx"
 | 
					 | 
				
			||||||
    template:
 | 
					 | 
				
			||||||
      - "%{repository}/#%{build_number}/%{branch} (%{author}): %{message} %{build_url}"
 | 
					 | 
				
			||||||
    on_success: change
 | 
					 | 
				
			||||||
@ -4,7 +4,7 @@ flask-babel==1.0.0
 | 
				
			|||||||
flask==1.1.2
 | 
					flask==1.1.2
 | 
				
			||||||
idna==2.10
 | 
					idna==2.10
 | 
				
			||||||
jinja2==2.11.1
 | 
					jinja2==2.11.1
 | 
				
			||||||
lxml==4.5.0
 | 
					lxml==4.6.1
 | 
				
			||||||
pygments==2.1.3
 | 
					pygments==2.1.3
 | 
				
			||||||
pyopenssl==19.1.0
 | 
					pyopenssl==19.1.0
 | 
				
			||||||
python-dateutil==2.8.0
 | 
					python-dateutil==2.8.0
 | 
				
			||||||
 | 
				
			|||||||
@ -28,8 +28,7 @@ class StandaloneSearx(SearxTestCase):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
    def setUpClass(cls):
 | 
					    def setUpClass(cls):
 | 
				
			||||||
        engine_list = [{'engine': 'dummy', 'name': 'engine1', 'shortcut': 'e1'},
 | 
					        engine_list = [{'engine': 'dummy', 'name': 'engine1', 'shortcut': 'e1'}]
 | 
				
			||||||
                       {'engine': 'dummy', 'name': 'engine2', 'shortcut': 'e2'}]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        initialize_engines(engine_list)
 | 
					        initialize_engines(engine_list)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -103,8 +102,7 @@ class StandaloneSearx(SearxTestCase):
 | 
				
			|||||||
        args = sas.parse_argument(['rain', ])
 | 
					        args = sas.parse_argument(['rain', ])
 | 
				
			||||||
        search_q = sas.get_search_query(args)
 | 
					        search_q = sas.get_search_query(args)
 | 
				
			||||||
        self.assertTrue(search_q)
 | 
					        self.assertTrue(search_q)
 | 
				
			||||||
        self.assertEqual(search_q, SearchQuery('rain', [EngineRef('engine1', 'general', False),
 | 
					        self.assertEqual(search_q, SearchQuery('rain', [EngineRef('engine1', 'general', False)],
 | 
				
			||||||
                                                        EngineRef('engine2', 'general', False)],
 | 
					 | 
				
			||||||
                         ['general'], 'all', 0, 1, None, None, None))
 | 
					                         ['general'], 'all', 0, 1, None, None, None))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_no_parsed_url(self):
 | 
					    def test_no_parsed_url(self):
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user