653 строки
31 KiB
YAML
653 строки
31 KiB
YAML
# These environment variables must be set in CircleCI UI
|
|
#
|
|
# DOCKERHUB_REPO - docker hub repo, format: <username>/<repo>
|
|
# DOCKER_USER - Login user for docker hub
|
|
# DOCKER_PASS - Login password for docker hub user
|
|
version: 2.1
|
|
|
|
references:
|
|
# We declare the autograph configuration here to be able to fully leverage
|
|
# Docker executors. This configuration should be kept in sync with the
|
|
# content of `scripts/autograph_localdev_config.yaml`, which is used for
|
|
# local dev. Sadly, we cannot "include" this file here.
|
|
autograph_config: &autograph_config |
|
|
# Note: Most of the configuration here got copied from
|
|
# https://github.com/mozilla-services/autograph/blob/master/autograph.yaml
|
|
server:
|
|
# This port should be perfectly free, the upstream default of 8000 is
|
|
# used by django sometimes so let's not do that.
|
|
listen: "0.0.0.0:5500"
|
|
# cache 500k nonces to protect from authorization replay attacks
|
|
noncecachesize: 10
|
|
|
|
# The keys below are testing keys that do not grant any power
|
|
signers:
|
|
- id: webextensions-rsa
|
|
type: xpi
|
|
# The signing parameters for each type of add-on are 'add-on' are
|
|
# signed with the OU 'Production' and the provided ID 'extension' are
|
|
# signed with the OU 'Mozilla Extensions' and the provided ID 'system
|
|
# add-on' are signed with the OU 'Mozilla Components' and the
|
|
# provided ID
|
|
mode: add-on
|
|
recommendation:
|
|
path: "mozilla-recommendation.json"
|
|
certificate: |
|
|
-----BEGIN CERTIFICATE-----
|
|
MIIH0zCCBbugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBvDELMAkGA1UEBhMCVVMx
|
|
CzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRwwGgYDVQQKExNB
|
|
bGxpem9tIENvcnBvcmF0aW9uMSAwHgYDVQQLExdBbGxpem9tIEFNTyBEZXZlbG9w
|
|
bWVudDEYMBYGA1UEAxMPZGV2LmFtby5yb290LmNhMS4wLAYJKoZIhvcNAQkBFh9m
|
|
b3hzZWMrZGV2YW1vcm9vdGNhQG1vemlsbGEuY29tMB4XDTE3MDMyMTIzNDQwNFoX
|
|
DTI3MDMxOTIzNDQwNFowgbwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQG
|
|
A1UEBxMNTW91bnRhaW4gVmlldzEcMBoGA1UEChMTQWxsaXpvbSBDb3Jwb3JhdGlv
|
|
bjEgMB4GA1UECxMXQWxsaXpvbSBBTU8gRGV2ZWxvcG1lbnQxGDAWBgNVBAMTD2Rl
|
|
di5hbW8ucm9vdC5jYTEuMCwGCSqGSIb3DQEJARYfZm94c2VjK2RldmFtb3Jvb3Rj
|
|
YUBtb3ppbGxhLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMdX
|
|
5soUuvWnkVHRHN5BKByrgpuU3QioE8SNT7BwRFeqbOySdvu5ecQAdNUoRbRyFmNB
|
|
ety2rQM9qw6y8eSe9fufIgrv1sg/xj7vweLmuC8Ob+zo5/iwRQw4JUdXnDjwX3W0
|
|
auh0QRYfxWGK3hVrP9j1zIJk/yRBornCvXTtn8C/hVSE/PWc6CuV8vTcpyj+TPni
|
|
Lvulq17NdlX5qgUdn1yougJxnznkwnoIaBYLdAyZJJIUEomiEIxfabjnh8rfSMIw
|
|
AqmslrC8F73yo4JrCqJPt1ipggfpO3ZAjlEoTMcTUgyqR8B35GyuywWR0XrkJV7N
|
|
A7BM1qNjLb2to0XQSrGyWA7uPw88LuVk2aUPDE5uNK5Kv//+SGChUn2fDZTsjj3J
|
|
KY7f39JVwh/nk8ZkApplne8fKPoknW7er2R+rejyBx1+fJjLegKQsATpgKz4LRf4
|
|
ct34oWSV6QXrZ/KKW+frWoHncy8C+UnCC3cDBKs272yqOvBoGMQTrF5oMn8i/Rap
|
|
gBbBdwysdJXb+buf/+ZS0PUt7avKFIlXqCNZjG3xotBsTuCL5zAoVKoXJW1FwrcZ
|
|
pveQuishKWNf9Id+0HaBdDp/vlbrTwXD1zsxfYvYw8wI7NkNO3TQBni5iyG4B1wh
|
|
oR+Z5AebWuJqVnsJyjPakNiuhKNsO/xTa4TF/ymfAgMBAAGjggHcMIIB2DAPBgNV
|
|
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAWBgNVHSUBAf8EDDAKBggrBgEF
|
|
BQcDAzAdBgNVHQ4EFgQU2LRpqTdeQ1QlBWNA6fYAqHdpSaUwgekGA1UdIwSB4TCB
|
|
3oAU2LRpqTdeQ1QlBWNA6fYAqHdpSaWhgcKkgb8wgbwxCzAJBgNVBAYTAlVTMQsw
|
|
CQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEcMBoGA1UEChMTQWxs
|
|
aXpvbSBDb3Jwb3JhdGlvbjEgMB4GA1UECxMXQWxsaXpvbSBBTU8gRGV2ZWxvcG1l
|
|
bnQxGDAWBgNVBAMTD2Rldi5hbW8ucm9vdC5jYTEuMCwGCSqGSIb3DQEJARYfZm94
|
|
c2VjK2RldmFtb3Jvb3RjYUBtb3ppbGxhLmNvbYIBATBCBglghkgBhvhCAQQENRYz
|
|
aHR0cHM6Ly9jb250ZW50LXNpZ25hdHVyZS5kZXYubW96YXdzLm5ldC9jYS9jcmwu
|
|
cGVtME4GCCsGAQUFBwEBBEIwQDA+BggrBgEFBQcwAoYyaHR0cHM6Ly9jb250ZW50
|
|
LXNpZ25hdHVyZS5kZXYubW96YXdzLm5ldC9jYS9jYS5wZW0wDQYJKoZIhvcNAQEL
|
|
BQADggIBALqVt54WTkxD5U5fHPRUSZA9rFigoIcrHNrq+gTDd057cBDUWNc0cEHV
|
|
qaP0zgzqD2bIhV/WWlfMDY3VnB8L2+Vjvu2CEt8/9Kh5x9IgBmZt5VUMuEdmQOyH
|
|
vA7lz3UI+jmUGcojtLsi+sf4kxDZh3QB3T/wGiHg+K7vXnY7GWEy1Cjfwk/dvbT2
|
|
ODTb5B3SPGsh75VmfzFGgerzsS71LN4FYBRUklLe8ozqKF8r/jGE2vfDR1Cy09pN
|
|
oR9ti+zaBiEtMlWJjxYrv7HvuoDR9xLmPxyV6gQbo6NnbudkpNdg5LhbY3WV1IgL
|
|
TnwJ7aHXgzOZ3w/VsSctg4beZZgYnr81vLKyefWJH1VzCe5XTgwXC1R/afGiVJ0P
|
|
hA1+T4My9oTaQBsiNYA2keXKJbTKerMTupoLgV/lJjxfF5BfQiy9NL18/bzxqf+J
|
|
7w4P/4oHt3QCdISAIhlG4ttXfRR8oz6obAb6QYdCf3x9b2/3UXKd3UJ+gwchPjj6
|
|
InnLK8ig9scn4opVNkBkjlMRsq1yd017eQzLSirpKj3br69qyLoyb/nPNJi7bL1K
|
|
bf6m5mF5GmKR+Glvq74O8rLQZ3a75v6H+NwOqAlZnWSJmC84R2HHsHPBw+2pExJT
|
|
E5bRcttRlhEdN4NJ2vWJnOH0DENHy6TEwACINJVx6ftucfPfvOxI
|
|
-----END CERTIFICATE-----
|
|
privatekey: |
|
|
-----BEGIN PRIVATE KEY-----
|
|
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
|
|
PIDNiTxNecePOmrD+1ivAEXcoL+e1w==
|
|
-----END PRIVATE KEY-----
|
|
|
|
- id: webextensions-rsa-with-recommendation
|
|
type: xpi
|
|
# The signing parameters for each type of add-on are 'add-on' are
|
|
# signed with the OU 'Production' and the provided ID
|
|
# 'add-on-with-recommendation' are signed with the OU 'Production'
|
|
# and the provided ID and add a recommendation file 'extension' are
|
|
# signed with the OU 'Mozilla Extensions' and the provided ID 'system
|
|
# add-on' are signed with the OU 'Mozilla Components' and the
|
|
# provided ID 'hotfix' are signed with the OU 'Production' and the ID
|
|
# 'firefox-hotfix@mozilla.org'
|
|
mode: add-on-with-recommendation
|
|
recommendation:
|
|
path: "mozilla-recommendation.json"
|
|
states:
|
|
recommended: true
|
|
recommended-android: true
|
|
verified: true
|
|
line: true
|
|
relative_start: 0h
|
|
duration: 26298h
|
|
# RSA key gen is slow and CPU intensive, so we can optionally
|
|
# pregenerate and cache keys with a worker pool
|
|
rsacacheconfig:
|
|
numkeys: 25
|
|
numgenerators: 2
|
|
generatorsleepduration: 1m
|
|
fetchtimeout: 100ms
|
|
statssamplerate: 1m
|
|
certificate: |
|
|
-----BEGIN CERTIFICATE-----
|
|
MIIH0zCCBbugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBvDELMAkGA1UEBhMCVVMx
|
|
CzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRwwGgYDVQQKExNB
|
|
bGxpem9tIENvcnBvcmF0aW9uMSAwHgYDVQQLExdBbGxpem9tIEFNTyBEZXZlbG9w
|
|
bWVudDEYMBYGA1UEAxMPZGV2LmFtby5yb290LmNhMS4wLAYJKoZIhvcNAQkBFh9m
|
|
b3hzZWMrZGV2YW1vcm9vdGNhQG1vemlsbGEuY29tMB4XDTE3MDMyMTIzNDQwNFoX
|
|
DTI3MDMxOTIzNDQwNFowgbwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQG
|
|
A1UEBxMNTW91bnRhaW4gVmlldzEcMBoGA1UEChMTQWxsaXpvbSBDb3Jwb3JhdGlv
|
|
bjEgMB4GA1UECxMXQWxsaXpvbSBBTU8gRGV2ZWxvcG1lbnQxGDAWBgNVBAMTD2Rl
|
|
di5hbW8ucm9vdC5jYTEuMCwGCSqGSIb3DQEJARYfZm94c2VjK2RldmFtb3Jvb3Rj
|
|
YUBtb3ppbGxhLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMdX
|
|
5soUuvWnkVHRHN5BKByrgpuU3QioE8SNT7BwRFeqbOySdvu5ecQAdNUoRbRyFmNB
|
|
ety2rQM9qw6y8eSe9fufIgrv1sg/xj7vweLmuC8Ob+zo5/iwRQw4JUdXnDjwX3W0
|
|
auh0QRYfxWGK3hVrP9j1zIJk/yRBornCvXTtn8C/hVSE/PWc6CuV8vTcpyj+TPni
|
|
Lvulq17NdlX5qgUdn1yougJxnznkwnoIaBYLdAyZJJIUEomiEIxfabjnh8rfSMIw
|
|
AqmslrC8F73yo4JrCqJPt1ipggfpO3ZAjlEoTMcTUgyqR8B35GyuywWR0XrkJV7N
|
|
A7BM1qNjLb2to0XQSrGyWA7uPw88LuVk2aUPDE5uNK5Kv//+SGChUn2fDZTsjj3J
|
|
KY7f39JVwh/nk8ZkApplne8fKPoknW7er2R+rejyBx1+fJjLegKQsATpgKz4LRf4
|
|
ct34oWSV6QXrZ/KKW+frWoHncy8C+UnCC3cDBKs272yqOvBoGMQTrF5oMn8i/Rap
|
|
gBbBdwysdJXb+buf/+ZS0PUt7avKFIlXqCNZjG3xotBsTuCL5zAoVKoXJW1FwrcZ
|
|
pveQuishKWNf9Id+0HaBdDp/vlbrTwXD1zsxfYvYw8wI7NkNO3TQBni5iyG4B1wh
|
|
oR+Z5AebWuJqVnsJyjPakNiuhKNsO/xTa4TF/ymfAgMBAAGjggHcMIIB2DAPBgNV
|
|
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAWBgNVHSUBAf8EDDAKBggrBgEF
|
|
BQcDAzAdBgNVHQ4EFgQU2LRpqTdeQ1QlBWNA6fYAqHdpSaUwgekGA1UdIwSB4TCB
|
|
3oAU2LRpqTdeQ1QlBWNA6fYAqHdpSaWhgcKkgb8wgbwxCzAJBgNVBAYTAlVTMQsw
|
|
CQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEcMBoGA1UEChMTQWxs
|
|
aXpvbSBDb3Jwb3JhdGlvbjEgMB4GA1UECxMXQWxsaXpvbSBBTU8gRGV2ZWxvcG1l
|
|
bnQxGDAWBgNVBAMTD2Rldi5hbW8ucm9vdC5jYTEuMCwGCSqGSIb3DQEJARYfZm94
|
|
c2VjK2RldmFtb3Jvb3RjYUBtb3ppbGxhLmNvbYIBATBCBglghkgBhvhCAQQENRYz
|
|
aHR0cHM6Ly9jb250ZW50LXNpZ25hdHVyZS5kZXYubW96YXdzLm5ldC9jYS9jcmwu
|
|
cGVtME4GCCsGAQUFBwEBBEIwQDA+BggrBgEFBQcwAoYyaHR0cHM6Ly9jb250ZW50
|
|
LXNpZ25hdHVyZS5kZXYubW96YXdzLm5ldC9jYS9jYS5wZW0wDQYJKoZIhvcNAQEL
|
|
BQADggIBALqVt54WTkxD5U5fHPRUSZA9rFigoIcrHNrq+gTDd057cBDUWNc0cEHV
|
|
qaP0zgzqD2bIhV/WWlfMDY3VnB8L2+Vjvu2CEt8/9Kh5x9IgBmZt5VUMuEdmQOyH
|
|
vA7lz3UI+jmUGcojtLsi+sf4kxDZh3QB3T/wGiHg+K7vXnY7GWEy1Cjfwk/dvbT2
|
|
ODTb5B3SPGsh75VmfzFGgerzsS71LN4FYBRUklLe8ozqKF8r/jGE2vfDR1Cy09pN
|
|
oR9ti+zaBiEtMlWJjxYrv7HvuoDR9xLmPxyV6gQbo6NnbudkpNdg5LhbY3WV1IgL
|
|
TnwJ7aHXgzOZ3w/VsSctg4beZZgYnr81vLKyefWJH1VzCe5XTgwXC1R/afGiVJ0P
|
|
hA1+T4My9oTaQBsiNYA2keXKJbTKerMTupoLgV/lJjxfF5BfQiy9NL18/bzxqf+J
|
|
7w4P/4oHt3QCdISAIhlG4ttXfRR8oz6obAb6QYdCf3x9b2/3UXKd3UJ+gwchPjj6
|
|
InnLK8ig9scn4opVNkBkjlMRsq1yd017eQzLSirpKj3br69qyLoyb/nPNJi7bL1K
|
|
bf6m5mF5GmKR+Glvq74O8rLQZ3a75v6H+NwOqAlZnWSJmC84R2HHsHPBw+2pExJT
|
|
E5bRcttRlhEdN4NJ2vWJnOH0DENHy6TEwACINJVx6ftucfPfvOxI
|
|
-----END CERTIFICATE-----
|
|
privatekey: |
|
|
-----BEGIN PRIVATE KEY-----
|
|
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
|
|
PIDNiTxNecePOmrD+1ivAEXcoL+e1w==
|
|
-----END PRIVATE KEY-----
|
|
authorizations:
|
|
- id: alice
|
|
key: fs5wgcer9qj819kfptdlp8gm227ewxnzvsuj9ztycsx08hfhzu
|
|
signers:
|
|
- webextensions-rsa
|
|
- id: bob
|
|
key: 9vh6bhlc10y63ow2k4zke7k0c3l9hpr8mo96p92jmbfqngs9e7d
|
|
signers:
|
|
- webextensions-rsa-with-recommendation
|
|
###########################################################################
|
|
#
|
|
# The autograph configuration ends here.
|
|
#
|
|
###########################################################################
|
|
|
|
variables:
|
|
- &working-directory "~/addons-server"
|
|
|
|
docker-images:
|
|
# These versions should try to match what we run in production.
|
|
# Note that the cimg/python:3.10-node convenience image provides
|
|
# nodejs latest lts, which we need to build assets and run the linter.
|
|
- &python "cimg/python:3.10-node"
|
|
- &redis "redis:6.2"
|
|
- &memcached "memcached:1.4"
|
|
- &mysql "mysql:8.0.28"
|
|
|
|
mysql-config: &mysql-config
|
|
environment:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: true
|
|
MYSQL_DATABASE: olympia
|
|
|
|
defaults: &defaults
|
|
working_directory: &working-directory
|
|
docker:
|
|
- image: *python
|
|
|
|
defaults-with-services: &defaults-with-services
|
|
<<: *defaults
|
|
docker:
|
|
- image: *python
|
|
# Below are services this project depends on. In addition to these
|
|
# services, we also need autograph and elasticsearch but not all the
|
|
# time, hence the presence of other `defaults-with-*` references.
|
|
#
|
|
# Most settings below should be kept in sync with `docker-compose.yml`.
|
|
- image: *redis
|
|
- image: *memcached
|
|
- image: *mysql
|
|
<<: *mysql-config
|
|
|
|
defaults-with-elasticsearch: &defaults-with-elasticsearch
|
|
<<: *defaults
|
|
docker:
|
|
- image: *python
|
|
- image: *redis
|
|
- image: *memcached
|
|
- image: *mysql
|
|
<<: *mysql-config
|
|
- image: docker.elastic.co/elasticsearch/elasticsearch:7.17.3
|
|
environment:
|
|
# Disable all xpack related features to avoid unrelated logging in
|
|
# docker logs. https://github.com/mozilla/addons-server/issues/8887
|
|
xpack.security.enabled: false
|
|
xpack.monitoring.enabled: false
|
|
xpack.graph.enabled: false
|
|
xpack.watcher.enabled: false
|
|
discovery.type: single-node
|
|
cluster.name: default-cluster
|
|
ES_JAVA_OPTS: -Xms256m -Xmx256m
|
|
|
|
defaults-with-autograph: &defaults-with-autograph
|
|
<<: *defaults
|
|
docker:
|
|
- image: *python
|
|
- image: *redis
|
|
- image: *memcached
|
|
- image: *mysql
|
|
<<: *mysql-config
|
|
- image: mozilla/autograph:3.3.2
|
|
command: bash -c 'echo -e "$AUTOGRAPH_CONFIG" > amo_config.yaml && cat amo_config.yaml && /go/bin/autograph -c amo_config.yaml'
|
|
environment:
|
|
AUTOGRAPH_CONFIG: *autograph_config
|
|
|
|
defaults-release: &defaults-release
|
|
machine:
|
|
image: ubuntu-2004:202201-02
|
|
working_directory: &working-directory
|
|
|
|
commands:
|
|
make_release:
|
|
description: "Builds and pushes a Docker image"
|
|
parameters:
|
|
image_tag:
|
|
type: string
|
|
default: "latest"
|
|
steps:
|
|
- run: >
|
|
printf '{"commit":"%s","version":"%s","source":"https://github.com/%s/%s","build":"%s"}\n'
|
|
"$CIRCLE_SHA1"
|
|
"$CIRCLE_TAG"
|
|
"$CIRCLE_PROJECT_USERNAME"
|
|
"$CIRCLE_PROJECT_REPONAME"
|
|
"$CIRCLE_BUILD_URL"
|
|
> version.json
|
|
- run:
|
|
name: Build docker image and push to repo
|
|
command: |
|
|
docker version
|
|
docker login -u "${DOCKERHUB_USER}" -p "${DOCKERHUB_PASS}"
|
|
docker build -t app:build --label git.commit="$CIRCLE_SHA1" .
|
|
docker tag app:build "${DOCKERHUB_REPO}":<< parameters.image_tag >>
|
|
docker push "${DOCKERHUB_REPO}":<< parameters.image_tag >>
|
|
|
|
better_checkout:
|
|
description: circle ci checkout step on steroids
|
|
parameters:
|
|
clone_options:
|
|
type: string
|
|
default: --depth=1
|
|
description: git clone options
|
|
fetch_options:
|
|
type: string
|
|
default: --depth=10
|
|
description: git fetch options
|
|
steps:
|
|
- run:
|
|
name: checkout
|
|
command: |
|
|
#!/bin/sh
|
|
set -e
|
|
|
|
# Workaround old docker images with incorrect $HOME
|
|
# check https://github.com/docker/docker/issues/2968 for details
|
|
if [ "${HOME}" = "/" ]
|
|
then
|
|
export HOME=$(getent passwd $(id -un) | cut -d: -f6)
|
|
fi
|
|
|
|
export SSH_CONFIG_DIR="$HOME/.ssh"
|
|
|
|
echo "Using SSH Config Dir $SSH_CONFIG_DIR"
|
|
|
|
mkdir -p "$SSH_CONFIG_DIR"
|
|
|
|
echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=' >> "$SSH_CONFIG_DIR/known_hosts"
|
|
|
|
(umask 077; touch "$SSH_CONFIG_DIR/id_rsa")
|
|
chmod 0600 "$SSH_CONFIG_DIR/id_rsa"
|
|
(cat $CHECKOUT_KEY > "$SSH_CONFIG_DIR/id_rsa")
|
|
|
|
export GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'
|
|
|
|
# use git+ssh instead of https
|
|
git config --global url."ssh://git@github.com".insteadOf "https://github.com" || true
|
|
git config --global gc.auto 0 || true
|
|
|
|
if [ -e .git ]
|
|
then
|
|
git remote set-url origin "$CIRCLE_REPOSITORY_URL" || true
|
|
else
|
|
git clone << parameters.clone_options >> "$CIRCLE_REPOSITORY_URL" .
|
|
fi
|
|
|
|
if [ -n "$CIRCLE_TAG" ]
|
|
then
|
|
git fetch << parameters.fetch_options >> --force origin "refs/tags/${CIRCLE_TAG}"
|
|
elif [[ "$CIRCLE_BRANCH" =~ ^pull\/* ]]
|
|
then
|
|
git fetch << parameters.fetch_options >> --force origin "${CIRCLE_BRANCH}/head:remotes/origin/${CIRCLE_BRANCH}"
|
|
else
|
|
git fetch << parameters.fetch_options >> --force origin "${CIRCLE_BRANCH}:remotes/origin/${CIRCLE_BRANCH}"
|
|
fi
|
|
|
|
|
|
if [ -n "$CIRCLE_TAG" ]
|
|
then
|
|
git reset --hard "$CIRCLE_SHA1"
|
|
git checkout -q "$CIRCLE_TAG"
|
|
elif [ -n "$CIRCLE_BRANCH" ]
|
|
then
|
|
git reset --hard "$CIRCLE_SHA1"
|
|
git checkout -q -B "$CIRCLE_BRANCH"
|
|
fi
|
|
|
|
git reset --hard "$CIRCLE_SHA1"
|
|
|
|
setup_container:
|
|
description: common setup for the primary container
|
|
parameters:
|
|
wait_services:
|
|
type: boolean
|
|
default: true
|
|
steps:
|
|
- better_checkout
|
|
- run:
|
|
name: Initial setup
|
|
command: |
|
|
curl -sL https://repo.mysql.com/mysql-apt-config_0.8.29-1_all.deb --output mysql-apt-config.deb
|
|
sudo dpkg -i mysql-apt-config.deb
|
|
sudo apt-get update -q
|
|
sudo apt-get install -y gettext pngcrush librsvg2-bin libmysqlclient-dev
|
|
sudo cp ./docker/etc/mime.types /etc/mime.types
|
|
sudo touch /addons-server-docker-container
|
|
- run:
|
|
name: Install dockerize
|
|
command: |
|
|
wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
|
|
sudo tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
|
|
rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
|
|
environment:
|
|
DOCKERIZE_VERSION: v0.6.1
|
|
- when:
|
|
condition: << parameters.wait_services >>
|
|
steps:
|
|
- run:
|
|
name: Wait for redis
|
|
command: dockerize -wait tcp://localhost:6379 -timeout 1m
|
|
- run:
|
|
name: Wait for mysql
|
|
command: dockerize -wait tcp://localhost:3306 -timeout 1m
|
|
- run:
|
|
name: Wait for memcached
|
|
command: dockerize -wait tcp://localhost:11211 -timeout 1m
|
|
- run:
|
|
name: Set environment variables
|
|
command: |
|
|
echo export CPUCOUNT=2 >> $BASH_ENV
|
|
echo export NPM_CONFIG_PREFIX=/deps/ >> $BASH_ENV
|
|
echo export CC=\"`python -c 'import sysconfig; print(sysconfig.get_config_var("CC"))'`\" >> $BASH_ENV
|
|
cat $BASH_ENV
|
|
- run:
|
|
name: Install Python and Node dependencies
|
|
command: |
|
|
sudo mkdir /deps
|
|
sudo chown circleci /deps
|
|
ACTUAL_CIRCLE_WORKING_DIRECTORY="${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}"
|
|
ln -s ${ACTUAL_CIRCLE_WORKING_DIRECTORY}/package.json /deps/package.json
|
|
ln -s ${ACTUAL_CIRCLE_WORKING_DIRECTORY}/package-lock.json /deps/package-lock.json
|
|
make update_deps
|
|
# should be executed after all python install commands
|
|
- run: pyenv rehash
|
|
|
|
jobs:
|
|
addons-versions-files-ratings:
|
|
<<: *defaults-with-services
|
|
steps:
|
|
- setup_container
|
|
- run:
|
|
command: pytest -n 2 -m 'not es_tests and not needs_locales_compilation and not static_assets' -v src/olympia/addons/ src/olympia/versions/ src/olympia/files/ src/olympia/ratings/
|
|
|
|
amo-lib-locales-and-signing:
|
|
<<: *defaults-with-autograph
|
|
steps:
|
|
- setup_container
|
|
- run:
|
|
command: pytest -n 2 -m 'not es_tests and not needs_locales_compilation and not static_assets' -v src/olympia/amo/ src/olympia/lib/ src/olympia/signing
|
|
environment:
|
|
AUTOGRAPH_SERVER_URL: http://127.0.0.1:5500
|
|
# After having removed `tox`, we noticed that this job was a lot slower.
|
|
# The reason seems to be related to pyenv shims, which add a huge
|
|
# overhead to CLIs like `dennis-cmd`. By updating the path below, we
|
|
# should use `dennis-cmd` directly instead of the pyenv shim.
|
|
- run: echo "export PATH=\"$(pyenv prefix)/bin:$PATH\"" >> $BASH_ENV
|
|
- run: bash ./locale/compile-mo.sh ./locale/
|
|
- run:
|
|
command: pytest -n 2 -m 'needs_locales_compilation' -v src/olympia/
|
|
|
|
assets:
|
|
<<: *defaults-with-services
|
|
steps:
|
|
- setup_container
|
|
- run: make update_assets
|
|
- run:
|
|
command: pytest -m "static_assets" -v src/olympia/
|
|
- run: make run_js_tests
|
|
|
|
codestyle:
|
|
<<: *defaults
|
|
steps:
|
|
- setup_container:
|
|
wait_services: false
|
|
- run: pyenv rehash
|
|
- run: make lint-codestyle
|
|
|
|
localization:
|
|
<<: *defaults
|
|
steps:
|
|
- setup_container:
|
|
wait_services: false
|
|
- run : make extract_locales
|
|
- run: git diff
|
|
|
|
devhub:
|
|
<<: *defaults-with-services
|
|
steps:
|
|
- setup_container
|
|
- run:
|
|
command: pytest -n 2 -m 'not es_tests and not needs_locales_compilation and not static_assets' -v src/olympia/devhub/
|
|
|
|
docs:
|
|
<<: *defaults
|
|
steps:
|
|
- setup_container:
|
|
wait_services: false
|
|
- run: make docs
|
|
|
|
main:
|
|
<<: *defaults-with-services
|
|
steps:
|
|
- setup_container
|
|
- run:
|
|
command: |
|
|
pytest -n 2 -m 'not es_tests and not needs_locales_compilation and not static_assets and not internal_routes_allowed' \
|
|
-v src/olympia/ \
|
|
--ignore src/olympia/addons/ \
|
|
--ignore src/olympia/devhub/ \
|
|
--ignore src/olympia/files/ \
|
|
--ignore src/olympia/reviewers/ \
|
|
--ignore src/olympia/ratings/ \
|
|
--ignore src/olympia/amo/ \
|
|
--ignore src/olympia/lib/ \
|
|
--ignore src/olympia/signing \
|
|
--ignore src/olympia/versions/ \
|
|
--ignore src/olympia/zadmin
|
|
|
|
reviewers-and-zadmin:
|
|
<<: *defaults-with-autograph
|
|
steps:
|
|
- setup_container
|
|
- run:
|
|
command: pytest -n 2 -m 'not es_tests and not needs_locales_compilation and not static_assets' -v src/olympia/reviewers/ src/olympia/zadmin/
|
|
environment:
|
|
AUTOGRAPH_SERVER_URL: http://127.0.0.1:5500
|
|
- run:
|
|
name: internal_routes_allowed
|
|
command: |
|
|
# We need to change the setting in the file because we can't
|
|
# override an env variable here, and the next command requires
|
|
# `INTERNAL_ROUTES_ALLOWED` to be set to `True`.
|
|
sed -i 's/^INTERNAL_ROUTES_ALLOWED.*/INTERNAL_ROUTES_ALLOWED=True/' settings_test.py
|
|
pytest -m 'internal_routes_allowed' -v src/olympia/
|
|
|
|
es-tests:
|
|
<<: *defaults-with-elasticsearch
|
|
steps:
|
|
- setup_container
|
|
- run:
|
|
name: Wait for elasticsearch
|
|
command: dockerize -wait tcp://localhost:9200 -timeout 1m
|
|
- run:
|
|
command: pytest -m "es_tests and not needs_locales_compilation and not static_assets" -v src/olympia/
|
|
|
|
release-master:
|
|
<<: *defaults-release
|
|
steps:
|
|
- checkout
|
|
- make_release:
|
|
image_tag: latest
|
|
|
|
release-tag:
|
|
<<: *defaults-release
|
|
steps:
|
|
- checkout
|
|
- make_release:
|
|
image_tag: "${CIRCLE_TAG}"
|
|
|
|
workflows:
|
|
version: 2
|
|
default-workflow:
|
|
jobs:
|
|
- addons-versions-files-ratings
|
|
- amo-lib-locales-and-signing
|
|
- assets
|
|
- codestyle
|
|
- devhub
|
|
- docs
|
|
- main
|
|
- reviewers-and-zadmin
|
|
- es-tests
|
|
- localization
|
|
- release-master:
|
|
filters:
|
|
branches:
|
|
only: master
|
|
tags:
|
|
ignore: /.*/
|
|
- release-tag:
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
branches:
|
|
ignore: /.*/
|