mirror of
				https://github.com/searxng/searxng
				synced 2024-01-01 19:24:07 +01:00 
			
		
		
		
	Merge pull request #2322 from dalf/github-actions
[mod] use github actions instead of travis
This commit is contained in:
		
						commit
						2fc7273141
					
				
					 5 changed files with 114 additions and 92 deletions
				
			
		
							
								
								
									
										11
									
								
								.coveragerc
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								.coveragerc
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,15 +1,6 @@
 | 
			
		|||
[run]
 | 
			
		||||
branch = True
 | 
			
		||||
source =
 | 
			
		||||
  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
 | 
			
		||||
source = searx
 | 
			
		||||
 | 
			
		||||
[report]
 | 
			
		||||
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
 | 
			
		||||
idna==2.10
 | 
			
		||||
jinja2==2.11.1
 | 
			
		||||
lxml==4.5.0
 | 
			
		||||
lxml==4.6.1
 | 
			
		||||
pygments==2.1.3
 | 
			
		||||
pyopenssl==19.1.0
 | 
			
		||||
python-dateutil==2.8.0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,8 +28,7 @@ class StandaloneSearx(SearxTestCase):
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def setUpClass(cls):
 | 
			
		||||
        engine_list = [{'engine': 'dummy', 'name': 'engine1', 'shortcut': 'e1'},
 | 
			
		||||
                       {'engine': 'dummy', 'name': 'engine2', 'shortcut': 'e2'}]
 | 
			
		||||
        engine_list = [{'engine': 'dummy', 'name': 'engine1', 'shortcut': 'e1'}]
 | 
			
		||||
 | 
			
		||||
        initialize_engines(engine_list)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -103,8 +102,7 @@ class StandaloneSearx(SearxTestCase):
 | 
			
		|||
        args = sas.parse_argument(['rain', ])
 | 
			
		||||
        search_q = sas.get_search_query(args)
 | 
			
		||||
        self.assertTrue(search_q)
 | 
			
		||||
        self.assertEqual(search_q, SearchQuery('rain', [EngineRef('engine1', 'general', False),
 | 
			
		||||
                                                        EngineRef('engine2', 'general', False)],
 | 
			
		||||
        self.assertEqual(search_q, SearchQuery('rain', [EngineRef('engine1', 'general', False)],
 | 
			
		||||
                         ['general'], 'all', 0, 1, None, None, None))
 | 
			
		||||
 | 
			
		||||
    def test_no_parsed_url(self):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue