File: test_linux.yml

package info (click to toggle)
browser-cookie3 0.20.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 188 kB
  • sloc: python: 1,595; makefile: 4
file content (70 lines) | stat: -rw-r--r-- 3,336 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
name: 'Test on Linux'

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

jobs:
  test-on-linux:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: 3.11
      - name: Install Browsers
        run: |
          sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
          echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list > /dev/null

          curl -fsSL https://deb.opera.com/archive.key | gpg --dearmor | sudo tee /usr/share/keyrings/opera-archive-keyring.gpg > /dev/null
          echo "deb [signed-by=/usr/share/keyrings/opera-archive-keyring.gpg] https://deb.opera.com/opera-stable/ stable non-free" | sudo tee /etc/apt/sources.list.d/opera.list > /dev/null

          curl -fsSL https://repo.vivaldi.com/archive/linux_signing_key.pub | gpg --dearmor | sudo tee /usr/share/keyrings/vivaldi-archive-keyring.gpg > /dev/null
          echo "deb [signed-by=/usr/share/keyrings/vivaldi-archive-keyring.gpg] https://repo.vivaldi.com/archive/deb/ stable main" | sudo tee /etc/apt/sources.list.d/vivaldi.list > /dev/null

          distro=$(if echo " una vanessa focal jammy bullseye vera uma" | grep -q " $(lsb_release -sc) "; then echo $(lsb_release -sc); else echo focal; fi)
          curl -fsSL https://deb.librewolf.net/keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/librewolf.gpg

          sudo tee /etc/apt/sources.list.d/librewolf.sources << EOF > /dev/null
          Types: deb
          URIs: https://deb.librewolf.net
          Suites: $distro
          Components: main
          Architectures: amd64
          Signed-By: /usr/share/keyrings/librewolf.gpg
          EOF

          sudo apt update
          sudo apt install -y opera-stable brave-browser vivaldi-stable librewolf
          
          # chrome, chromium, edge, and firefox are already installed
          # See: https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md
        
      - name: Install patched geckodriver
        run: |
          tag=$(curl -fsSL 'https://api.github.com/repos/rafiibrahim8/geckodriver-unchained/releases/latest' | jq -r '.tag_name')
          mkdir -p ~/.local/bin
          curl -Lo ~/.local/bin/geckodriver "https://github.com/rafiibrahim8/geckodriver-unchained/releases/download/$tag/geckodriver-unchained-linux-$tag"
          chmod +x ~/.local/bin/geckodriver
          echo "GECKOWEBDRIVER=$HOME/.local/bin/geckodriver" >> "$GITHUB_ENV"

      - name: Install Python Dependencies
        run: |
          pip install -r tests/test-requirements.txt
      - name: Set Environment Variables
        run: |
          echo "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus" >> "$GITHUB_ENV"
      - name: Run Browser Tests
        env:
          DBUS_SESSION_BUS_ADDRESS: "${{ env.DBUS_SESSION_BUS_ADDRESS }}"
        run: |
          python -m unittest -v
      - name: Test Build
        run: |
          pip install build
          python -m build