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
1 change: 1 addition & 0 deletions readme-vars.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
# project information
project_name: jenkins-builder
project_categories: "Internal"
full_custom_readme: |
{% raw -%}
# linuxserver/jenkins-builder
Expand Down
1 change: 1 addition & 0 deletions roles/generate-jenkins/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,4 @@ build_armhf: false
image_provenance: true
image_sbom: true
image_builder: 'container'
project_categories: ""
7 changes: 7 additions & 0 deletions roles/generate-jenkins/templates/DOCUMENTATION.j2
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@
{%- set has_latest= true if (development_versions == true and 'latest' in (development_versions_items | map(attribute="tag"))) or (development_versions == false) else false -%}
---
title: {{ project_name }}
{% if project_categories %}
tags:
{% for tag in project_categories.split(",") %}
- {{ tag | title }}
{% endfor %}
{% endif %}
description: "{{ noter(project_blurb) | trim }}"
---
{% include "README_SNIPPETS/DO_NOT_EDIT.j2" | trim %}
{% if project_deprecation_status %}
Expand Down
9 changes: 9 additions & 0 deletions roles/generate-jenkins/templates/DOCUMENTATION.j2-CUSTOM
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@
{% from 'common_macros.j2' import noter with context %}
---
title: {{ project_name }}
{% if project_categories is defined and project_blurb is defined %}
{% if project_categories and project_blurb %}
tags:
{% for tag in project_categories.split(",") %}
- {{ tag | title }}
{% endfor %}
description: "{{ noter(project_blurb) | trim }}"
{% endif %}
{% endif %}
---
{% include "README_SNIPPETS/DO_NOT_EDIT.j2" | trim %}

Expand Down
10 changes: 9 additions & 1 deletion roles/generate-jenkins/templates/EXTERNAL_TRIGGER.j2
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ jobs:
run: |
printf "# External trigger for {{ project_repo_name }}\n\n" >> $GITHUB_STEP_SUMMARY
{% if custom_version_command is defined or external_type != "os" %}
if grep -q "^{{ project_name }}_{{ ls_branch }}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
if grep -q "^{{ project_name }}_{{ ls_branch }}_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`{{ project_name }}_{{ ls_branch }}_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^{{ project_name }}_{{ ls_branch }}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`{{ project_name }}_{{ ls_branch }}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
Expand Down Expand Up @@ -88,6 +91,11 @@ jobs:
echo "No external release, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
{% endif %}
if grep -q "^{{ project_name }}_{{ ls_branch }}_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
{% if custom_version_command is defined or external_type != "os" %}
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
Expand Down
33 changes: 26 additions & 7 deletions roles/generate-jenkins/templates/Jenkinsfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,21 @@ pipeline {
steps{
echo "Running on node: ${NODE_NAME}"
sh '''#! /bin/bash
containers=$(docker ps -aq)
echo "Pruning builder"
docker builder prune -f --builder container || :
containers=$(docker ps -q)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit')
for container in ${containers}; do
if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then
echo "skipping buildx container in docker stop"
else
echo "Stopping container ${container}"
docker stop ${container}
fi
done
fi
docker system prune -af --volumes || : '''
docker system prune -f --volumes || : '''
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
Expand Down Expand Up @@ -1447,12 +1457,21 @@ EOF
}
cleanup {
sh '''#! /bin/bash
echo "Performing docker system prune!!"
containers=$(docker ps -aq)
echo "Pruning builder!!"
docker builder prune -f --builder container || :
containers=$(docker ps -q)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit')
for container in ${containers}; do
if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then
echo "skipping buildx container in docker stop"
else
echo "Stopping container ${container}"
docker stop ${container}
fi
done
fi
docker system prune -af --volumes || :
docker system prune -f --volumes || :
'''
cleanWs()
}
Expand Down
8 changes: 1 addition & 7 deletions vars/common
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,17 @@ lsio_short_url: "{{ lsio_project_name }}"
lsio_full_url: "https://{{ lsio_project_name }}"
lsio_blog_url: "https://blog.{{ lsio_short_url }}"
lsio_ci_url: "https://ci.{{ lsio_short_url }}"
lsio_discord_url: "https://discord.gg/YWrKVTn"
lsio_discord_url: "https://linuxserver.io/discord"
lsio_discourse_url: "https://discourse.{{ lsio_short_url }}"
lsio_docker_hub_url: "https://hub.docker.com/r/{{ lsio_project_name_short }}"
lsio_docs_url: "https://docs.{{ lsio_short_url }}"
lsio_fleet_url: "https://fleet.{{ lsio_short_url }}"
lsio_github_url: "https://github.com/{{ lsio_project_name_short }}"
lsio_gitlab_url: "https://gitlab.com/{{ lsio_project_name }}"
lsio_irc_url: "https://irc.{{ lsio_short_url }}"
lsio_microbadger_url: "https://microbadger.com/images/{{ lsio_project_name_short }}"
lsio_mods_url: "https://mods.{{ lsio_short_url }}/?mod={{ project_name }}"
lsio_universal_mods_url: "https://mods.{{ lsio_short_url }}/?mod=universal"
lsio_object_url: "https://ci-tests.{{ lsio_short_url }}"
lsio_opencollective_url: "https://opencollective.com/{{ lsio_project_name_short }}"
lsio_podcast_url: "https://anchor.fm/linuxserverio"

# project defaults
project_deprecation_status: false
Expand All @@ -43,12 +40,9 @@ lsio_discord_desc: "realtime support / chat with the community and the team."
lsio_discourse_desc: "post on our community forum."
lsio_fleet_desc: "an online web interface which displays all of our maintained images."
lsio_github_desc: "view the source for all of our repositories."
lsio_irc_desc: "on freenode at `#{{ lsio_project_name }}`. Our primary support channel is Discord."
lsio_microbadger_desc: "Get your own version badge on microbadger.com"
lsio_mods_desc: "view available mods for this container."
lsio_universal_mods_desc: "view available universal mods."
lsio_opencollective_desc: "please consider helping us by either donating or contributing to our budget"
lsio_podcast_desc: "on hiatus. Coming back soon (late 2018)."

# asset urls
lsio_primary_logo_url: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png
Expand Down