@@ -0,0 +1,110 @@
3+on: [push, pull_request]
7+ name: Python ${{ matrix.python-version }}
8+ runs-on: ubuntu-latest
12+ python-version: [3.5, 3.6, 3.7, 3.8]
15+ uses: actions/checkout@v2
16+ - name: Install Ubuntu packages 🧰
18+ sudo ./utils/searx.sh install packages
19+ sudo apt install firefox
20+ - name: Set up Python 🧰
21+ uses: actions/setup-python@v2
23+ python-version: ${{ matrix.python-version }}
25+ - name: Install Python dependencies 🧰
28+ make V=1 gecko.driver
31+ - name: Test coverage 🗺️
32+ run: make V=1 test.coverage
33+ - name: Store coverage result 🗺️
34+ uses: actions/upload-artifact@v2
36+ name: coverage-${{ matrix.python-version }}
42+ runs-on: ubuntu-latest
45+ uses: actions/checkout@v2
46+ - name: Install Ubuntu packages 🧰
47+ run: sudo ./utils/searx.sh install packages
48+ - name: Install node dependencies 🧰
49+ run: make V=1 node.env
50+ - name: Build themes 🏗️
55+ runs-on: ubuntu-latest
58+ uses: actions/checkout@v2
60+ persist-credentials: false
61+ - name: Install Ubuntu packages 🧰
62+ run: sudo ./utils/searx.sh install buildhost
63+ - name: Set up Python 🧰
64+ uses: actions/setup-python@v2
66+ python-version: '3.9'
68+ - name: Build documentation 🏗️
69+ run: SEARX_DEBUG=1 make V=1 travis-gh-pages
71+ if: github.ref == 'ref/head/master'
72+ uses: JamesIves/github-pages-deploy-action@e774cc50ed6e8e667bca6a331d2a3ba80c79debc
74+ GITHUB_TOKEN: ${{ github.token }}
77+ CLEAN: true # Automatically remove deleted files from the deploy branch
81+ if: github.ref == 'ref/head/master'
87+ DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
88+ runs-on: ubuntu-latest
91+ if: env.DOCKERHUB_USERNAME != null
92+ uses: actions/checkout@v2
94+ # make sure "make docker.push" can get the git history
96+ - name: Set up QEMU 🧰
97+ if: env.DOCKERHUB_USERNAME != null
98+ uses: docker/setup-qemu-action@v1
99+ - name: Set up Docker Buildx 🧰
100+ if: env.DOCKERHUB_USERNAME != null
101+ uses: docker/setup-buildx-action@v1
102+ - name: Login to DockerHub 🔒
103+ if: env.DOCKERHUB_USERNAME != null
104+ uses: docker/login-action@v1
106+ username: ${{ secrets.DOCKERHUB_USERNAME }}
107+ password: ${{ secrets.DOCKERHUB_TOKEN }}
108+ - name: Build and push 🐳
109+ if: env.DOCKERHUB_USERNAME != null
110+ run: make -e GIT_URL=$(git remote get-url origin) docker.push