Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions ansible/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@
- common
- lxd_host

- hosts: dub-registry.ci.lxd
vars:
- dub_registry_http_port: 8080
roles:
- dub_registry_mirror

- hosts: jenkins.ci.lxd
vars:
- jenkins_http_port: 8080
Expand Down Expand Up @@ -76,3 +82,6 @@
ci2.dawg.eu: |
mode http
server s1 jenkins.ci.lxd:8080
code-mirror.dlang.io: |
mode http
server s1 dub-registry.ci.lxd:8005
1 change: 1 addition & 0 deletions ansible/inventory
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ci_containers
jenkins.ci.lxd
runner-01.ci.lxd
runner-02.ci.lxd
dub-registry.ci.lxd

[ci_containers:vars]
# ssh proxy into container (running ssh itself)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[Unit]
Description=dub-registry mirror
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
Group=dub-registry
User=dub-registry
ExecStart=/home/dub-registry/dub-registry/dub-registry --mirror=https://code.dlang.org
WorkingDirectory=/home/dub-registry/dub-registry
Restart=on-failure

[Install]
WantedBy=multi-user.target
13 changes: 13 additions & 0 deletions ansible/roles/dub_registry_mirror/files/dub-registry.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/source/app.d b/source/app.d
index f93da61..00e1e42 100644
--- a/source/app.d
+++ b/source/app.d
@@ -106,7 +106,7 @@ shared static this()
// start the web server
auto settings = new HTTPServerSettings;
settings.hostName = hostname;
- settings.bindAddresses = ["127.0.0.1"];
+ settings.bindAddresses = ["0.0.0.0"];
settings.port = 8005;
settings.sessionStore = new MemorySessionStore;

7 changes: 7 additions & 0 deletions ansible/roles/dub_registry_mirror/handlers/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
- name: systemctl daemon-reload
command: systemctl daemon-reload
- name: enable dub-registry-mirror
service: { name: dub-registry-mirror, enabled: yes }
- name: restart dub-registry-mirror
service: { name: dub-registry-mirror, enabled: yes, state: restarted }
35 changes: 35 additions & 0 deletions ansible/roles/dub_registry_mirror/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
- name: install dependencies
apt: { name: "{{ item }}", install_recommends: no, update_cache: yes, cache_valid_time: 3600 }
with_items: [mongodb-server, libevent-dev, libssl-dev, patch]
- name: install dmd
apt:
deb: 'http://downloads.dlang.org/releases/2.x/2.074.1/dmd_2.074.1-0_amd64.deb'
install_recommends: no
update_cache: yes
cache_valid_time: 3600
- name: create registry user
user: { name: dub-registry }
- name: get dub-registry
unarchive:
remote_src: yes
src: 'https://github.com/dlang/dub-registry/archive/v2.1.0.tar.gz'
dest: /home/dub-registry/
owner: dub-registry
group: dub-registry
- name: symlink dub-registry
file: { dest: /home/dub-registry/dub-registry, src: /home/dub-registry/dub-registry-2.1.0, state: link }
- name: patch dub-registry bind address
patch: { src: dub-registry.patch, dest: /home/dub-registry/dub-registry/source/app.d }
- name: build dub-registry
command: dub build
args:
chdir: /home/dub-registry/dub-registry
become_user: dub-registry
register: build
changed_when: not build.stdout | search('dub-registry.*up to date')
tags: rebuild
notify: restart dub-registry-mirror
- name: install service file
copy: { src: dub-registry-mirror.service, dest: /etc/systemd/system/ }
notify: [systemctl daemon-reload, enable dub-registry-mirror, restart dub-registry-mirror]
2 changes: 1 addition & 1 deletion ansible/roles/haproxy/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
http-request set-header X-Forwarded-Proto https
{% for domain in backends.keys() -%}
use_backend {{ domain }} if { ssl_fc_sni -i {{ domain }} }
{%- endfor %}
{% endfor %}

{% for domain, backend in backends.iteritems() -%}
backend {{ domain }}
Expand Down
12 changes: 9 additions & 3 deletions pipeline.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -162,15 +162,16 @@ def testDownstreamProject (name) {

case 'rejectedsoftware/vibe.d':
// use DC=dmd to workaround https://github.com/dlang/dub/pull/966
sh 'sed -i \'/# test building with Meson/,//d\' ./travis-ci.sh' // strip meson tests
sh 'sed -i \'/# test building with Meson/,//d\' travis-ci.sh' // strip meson tests
sh 'DC=dmd VIBED_DRIVER=libevent BUILD_EXAMPLE=1 RUN_TEST=1 ./travis-ci.sh'
sh 'DC=dmd VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0 ./travis-ci.sh'
break;

case 'dlang/dub':
sh '''
rm test/issue884-init-defer-file-creation.sh # FIXME
jq '.versions["vibe-d"]="0.7.31"' < dub.selections.json | sponge dub.selections.json
sed -i \'s| defaultRegistryURL = .*;| defaultRegistryURL = "https://code-mirror.dlang.io/";|\' source/dub/dub.d
jq \'.versions["vibe-d"]="0.7.31"\' < dub.selections.json | sponge dub.selections.json
dub fetch ddox --version=0.16.0
'''
sh 'DC=$DC ./travis-ci.sh'
Expand Down Expand Up @@ -260,7 +261,12 @@ def runPipeline() {
def repos = [
'dub': {
withEnv(["PATH=${env.WORKSPACE}/dmd/src:${env.PATH}"]) {
dir ('dub') { sh "./build.sh" }
dir ('dub') {
sh '''#!/usr/bin/env bash
sed -i \'s| defaultRegistryURL = .*;| defaultRegistryURL = "https://code-mirror.dlang.io/";|\' source/dub/dub.d
./build.sh
'''
}
}
},
'tools': {
Expand Down