GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

.gitlab-ci.yml 3.61 KB
Newer Older
juga  's avatar
juga committed
1 2 3 4 5 6 7
# core/tor releases:
# https://gitlab.torproject.org/tpo/core/team/-/wikis/NetworkTeam/CoreTorReleases
# As of 2021.03.02 all dirauths are running with version greater or equal to
# 0.4.5.
# 0.4.6 stable by Jun 15, 2021
# 0.4.5 (LTS) EOL Feb 15, 2023
# 0.3.5 (LTS) EOL Feb 1, 2022
juga  's avatar
juga committed
8 9 10 11 12 13 14
# Python releases:
# 3.10 stable by 2021-10-04: https://www.python.org/dev/peps/pep-0619/
# Python stable releases: https://www.python.org/downloads/
# 3.9 EOL 2025-10 PEP 596
# 3.8 EOL 2024-10 PEP 569, newest major release
# 3.7 EOL 2023-06-27 PEP 537, included in Debian buster
# 3.6 EOL 2021-12-23 PEP 494
juga  's avatar
juga committed
15

16
variables:
juga  's avatar
juga committed
17
    BASE_IMAGE: python:3.8
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
    RELEASE: tor-nightly-master-buster
    # Without version, the default available in the Debian repository will be
    # installed.
    # Specifying which version starts with will install the highest that start
    # with that version.
    TOR: tor=*
    PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"

cache:
  paths:
    - .cache/pip

image: $BASE_IMAGE

before_script:
  - "wget https://deb.torproject.org/torproject.org/\
    A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc"
  - cat A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc  | apt-key add -
  - echo deb [signed-by=A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89]
    http://deb.torproject.org/torproject.org $RELEASE
    main >> /etc/apt/sources.list
  - apt update -yqq
  - apt install -yqq $TOR
  - pip install tox
  - python --version
  - tor --version

after_script:
  - tox -e stats

juga  's avatar
juga committed
48
python36:
49 50
  variables:
    BASE_IMAGE: python:3.6
juga  's avatar
juga committed
51 52 53 54 55 56 57 58
  image: $BASE_IMAGE
  script:
  - tox -e py36
  - tox -e integration

python37tor035:
  variables:
    BASE_IMAGE: python:3.7
59 60 61 62
    RELEASE: tor-nightly-0.3.5.x-buster
    TOR: tor=0.3.5*
  image: $BASE_IMAGE
  script:
juga  's avatar
juga committed
63
    - tox -e py37
64 65
    - tox -e integration

juga  's avatar
juga committed
66
python37tor045:
67
  variables:
juga  's avatar
juga committed
68
    BASE_IMAGE: python:3.7
juga  's avatar
juga committed
69 70
    RELEASE: tor-nightly-0.4.5.x-buster
    TOR: tor=0.4.5*
71 72
  image: $BASE_IMAGE
  script:
juga  's avatar
juga committed
73
  - tox -e py37
74 75
  - tox -e integration

juga  's avatar
juga committed
76
python37tormaster:
77
  variables:
juga  's avatar
juga committed
78
    BASE_IMAGE: python:3.7
juga  's avatar
juga committed
79
    RELEASE: tor-nightly-master-buster
juga  's avatar
juga committed
80
    TOR: tor=0.4.7*
81 82
  image: $BASE_IMAGE
  script:
juga  's avatar
juga committed
83
  - tox -e py37
84 85
  - tox -e integration

juga  's avatar
juga committed
86
python37torstable:
87
  variables:
juga  's avatar
juga committed
88
    BASE_IMAGE: python:3.7
89 90 91 92
    RELEASE: buster
    TOR: tor
  image: $BASE_IMAGE
  script:
juga  's avatar
juga committed
93
  - tox -e py37
94 95
  - tox -e integration

juga  's avatar
juga committed
96
python38:
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
  # This will overwrite the default before_script, so need to repeat the
  # commands
  before_script:
    - "wget https://deb.torproject.org/torproject.org/\
      A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc"
    - cat A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc  | apt-key add -
    - echo deb [signed-by=A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89]
      http://deb.torproject.org/torproject.org $RELEASE
      main >> /etc/apt/sources.list
    - apt update -yqq
    - apt install -yqq $TOR
    - pip install tox
    - python --version
    - tor --version
    # To build the docs
    - apt install -yqq texlive-latex-extra
    - apt install -yqq dvipng
  image: $BASE_IMAGE
  script:
116
  - tox
117

juga  's avatar
juga committed
118
python39:
119
  variables:
juga  's avatar
juga committed
120
    BASE_IMAGE: python:3.9
121 122
  image: $BASE_IMAGE
  script:
juga  's avatar
juga committed
123
  - tox -e py39
124 125
  - tox -e integration

juga  's avatar
juga committed
126
python310:
127
  variables:
juga  's avatar
juga committed
128
    BASE_IMAGE: python:3.10-rc-buster
129 130
  image: $BASE_IMAGE
  script:
juga  's avatar
juga committed
131
  - tox -e py310
132 133
  - tox -e integration
  allow_failure: true
juga  's avatar
juga committed
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

release_job:
  before_script:
    - echo "Nothing"
  after_script:
    - echo "Nothing"
  image: registry.gitlab.com/gitlab-org/release-cli:latest
  only: [tags]
  script:
    - echo "Running release job."
  release:
    name: "Release $CI_COMMIT_TAG"
    description: "Created using release-cli"
    tag_name: "$CI_COMMIT_TAG"
    ref: "$CI_COMMIT_TAG"
    milestones:
      - "sbws: 1.1.x-final"