diff options
author | Alexandre Flament <alex@al-f.net> | 2020-11-16 15:01:34 +0100 |
---|---|---|
committer | Alexandre Flament <alex@al-f.net> | 2020-11-17 15:09:06 +0100 |
commit | 9c25cd99c4b2bbeeb96f0a4efc3b2c21b06e1881 (patch) | |
tree | 835c15bac5747abab8e5b8c98a15329dd81bc818 /.github | |
parent | a30d9f26556b9445ecb909ea2f3d88aebd6c44e7 (diff) | |
download | searxng-9c25cd99c4b2bbeeb96f0a4efc3b2c21b06e1881.tar.gz searxng-9c25cd99c4b2bbeeb96f0a4efc3b2c21b06e1881.zip |
[mod] use github actions instead of travis
fix https://github.com/searx/searx/issues/2279
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/integration.yml | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml new file mode 100644 index 000000000..c61385a09 --- /dev/null +++ b/.github/workflows/integration.yml @@ -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 |