Skip to content

Commit

Permalink
Merge pull request #243 from linuxserver/monthly-local
Browse files Browse the repository at this point in the history
run jenkins-builder as local only, fix deprecation, hardcode for s6v3, restructure templating
  • Loading branch information
aptalca authored Mar 6, 2024
2 parents b9a7bf9 + 0719f3e commit cc47dc8
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 108 deletions.
112 changes: 22 additions & 90 deletions roles/generate-jenkins/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,30 +122,10 @@
owner: "abc"
group: "abc"

- name: detect whether image is v2 or v3
when:
- lookup('env', 'LOCAL') == "true"
stat:
path: "/tmp/root/etc/s6-overlay"
register: s6v3image

- name: detect whether image is v2 or v3
when:
- lookup('env', 'LOCAL') != "true"
stat:
path: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay"
register: s6v3imageremote

- name: Print a debug message
debug:
msg: "S6v3 image detected"
when: (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)

- name: create destination dir for generated 99-deprecation
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- s6v3image.stat.isdir is not defined and s6v3imageremote.stat.isdir is not defined
file:
path: "/tmp/root/etc/cont-init.d"
state: directory
Expand All @@ -156,201 +136,182 @@
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- s6v3image.stat.isdir is not defined and s6v3imageremote.stat.isdir is not defined
file:
path: "jenkins/{{ project_repo_name }}/root/etc/cont-init.d"
state: directory
owner: "abc"
group: "abc"

- name: v3 deprecate - create dir for init-services/dependencies.d
- name: deprecate - create dir for init-services/dependencies.d
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "/tmp/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d"
state: directory
owner: "abc"
group: "abc"

- name: v3 deprecate - create file for init-services/dependencies.d/init-deprecate
- name: deprecate - create file for init-services/dependencies.d/init-deprecate
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "/tmp/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - create dir for init-deprecate/dependencies.d
- name: deprecate - create dir for init-deprecate/dependencies.d
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "/tmp/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d"
state: directory
owner: "abc"
group: "abc"

- name: v3 deprecate - create file for init-deprecate/dependencies.d/init-config-end
- name: deprecate - create file for init-deprecate/dependencies.d/init-config-end
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "/tmp/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - create file for init-deprecate/type
- name: deprecate - create file for init-deprecate/type
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "/tmp/root/etc/s6-overlay/s6-rc.d/init-deprecate/type"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - populate file for init-deprecate/type
- name: deprecate - populate file for init-deprecate/type
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
copy:
dest: "/tmp/root/etc/s6-overlay/s6-rc.d/init-deprecate/type"
content: |
oneshot
- name: v3 deprecate - create file for init-deprecate/up
- name: deprecate - create file for init-deprecate/up
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "/tmp/root/etc/s6-overlay/s6-rc.d/init-deprecate/up"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - populate file for init-deprecate/up
- name: deprecate - populate file for init-deprecate/up
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
copy:
dest: "/tmp/root/etc/s6-overlay/s6-rc.d/init-deprecate/up"
content: |
/etc/s6-overlay/s6-rc.d/init-deprecate/run
- name: v3 deprecate - create file for user/contents.d/init-deprecate
- name: deprecate - create file for user/contents.d/init-deprecate
when:
- lookup('env', 'LOCAL') == "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "/tmp/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - create dir for init-services/dependencies.d
- name: deprecate - create dir for init-services/dependencies.d
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d"
state: directory
owner: "abc"
group: "abc"

- name: v3 deprecate - create file for init-services/dependencies.d/init-deprecate
- name: deprecate - create file for init-services/dependencies.d/init-deprecate
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - create dir for init-deprecate/dependencies.d
- name: deprecate - create dir for init-deprecate/dependencies.d
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d"
state: directory
owner: "abc"
group: "abc"

- name: v3 deprecate - create file for init-deprecate/dependencies.d/init-config-end
- name: deprecate - create file for init-deprecate/dependencies.d/init-config-end
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - create file for init-deprecate/type
- name: deprecate - create file for init-deprecate/type
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/init-deprecate/type"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - populate file for init-deprecate/type
- name: deprecate - populate file for init-deprecate/type
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
copy:
dest: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/init-deprecate/type"
content: |
oneshot
- name: v3 deprecate - create file for init-deprecate/up
- name: deprecate - create file for init-deprecate/up
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/init-deprecate/up"
state: touch
owner: "abc"
group: "abc"

- name: v3 deprecate - populate file for init-deprecate/up
- name: deprecate - populate file for init-deprecate/up
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
copy:
dest: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/init-deprecate/up"
content: |
/etc/s6-overlay/s6-rc.d/init-deprecate/run
- name: v3 deprecate - create file for user/contents.d/init-deprecate
- name: deprecate - create file for user/contents.d/init-deprecate
when:
- lookup('env', 'LOCAL') != "true"
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
file:
path: "jenkins/{{ project_repo_name }}/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate"
state: touch
Expand Down Expand Up @@ -555,12 +516,11 @@

# Deprecation init script templating

- name: write deprecation init script v3
- name: write deprecation init script
when:
- lookup('env', 'LOCAL') != "true"
- item.deprecation is defined and item.deprecation == "v3"
- item.deprecation is defined
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
template:
src: "../templates/{{ item.src }}"
dest: "jenkins/{{ project_repo_name }}/{{ item.dest }}"
Expand All @@ -570,12 +530,11 @@
delegate_to: localhost
loop: "{{ templated_files }}"

- name: write deprecation init script local v3
- name: write deprecation init script local
when:
- lookup('env', 'LOCAL') == "true"
- item.deprecation is defined and item.deprecation == "v3"
- item.deprecation is defined
- project_deprecation_status == true
- (s6v3image.stat.isdir is defined and s6v3image.stat.isdir) or (s6v3imageremote.stat.isdir is defined and s6v3imageremote.stat.isdir)
template:
src: "../templates/{{ item.src }}"
dest: "/tmp/{{ item.dest }}"
Expand All @@ -585,33 +544,6 @@
delegate_to: localhost
loop: "{{ templated_files }}"

- name: write deprecation init script v2
when:
- lookup('env', 'LOCAL') != "true"
- item.deprecation is defined and item.deprecation == "v2"
- project_deprecation_status == true
- s6v3image.stat.isdir is not defined and s6v3imageremote.stat.isdir is not defined
template:
src: "../templates/{{ item.src }}"
dest: "jenkins/{{ project_repo_name }}/{{ item.dest }}"
owner: "abc"
group: "abc"
delegate_to: localhost
loop: "{{ templated_files }}"

- name: write deprecation init script local v2
when:
- lookup('env', 'LOCAL') == "true"
- item.deprecation is defined and item.deprecation == "v2"
- project_deprecation_status == true
- s6v3image.stat.isdir is not defined and s6v3imageremote.stat.isdir is not defined
template:
src: "../templates/{{ item.src }}"
dest: "/tmp/{{ item.dest }}"
owner: "abc"
group: "abc"
delegate_to: localhost
loop: "{{ templated_files }}"

# Unraid template templating

Expand Down
3 changes: 1 addition & 2 deletions roles/generate-jenkins/templates.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
templated_files:
- { src: '.editorconfig.j2', dest: '.editorconfig' }
- { src: '99-deprecation.j2', dest: 'root/etc/cont-init.d/99-deprecation', deprecation: 'v2' }
- { src: '99-deprecation.j2', dest: 'root/etc/s6-overlay/s6-rc.d/init-deprecate/run', deprecation: 'v3' }
- { src: '99-deprecation.j2', dest: 'root/etc/s6-overlay/s6-rc.d/init-deprecate/run', deprecation: 'true' }
- { src: 'CONTRIBUTING.j2', dest: '.github/CONTRIBUTING.md' }
- { src: 'DOCUMENTATION.j2', dest: '.jenkins-external/{{ project_repo_name }}.md' , readme: 'true' }
- { src: 'DONATE.j2', dest: 'root/donate.txt' , donate: 'true' }
Expand Down
Loading

0 comments on commit cc47dc8

Please sign in to comment.