Skip to content

Commit ba977cc

Browse files
authored
Merge pull request #16 from thelamer/master
Switching to new Base images, shift to arm32v7 tag.
2 parents 9a849d2 + 8046d7e commit ba977cc

File tree

5 files changed

+67
-43
lines changed

5 files changed

+67
-43
lines changed

Dockerfile.aarch64

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
FROM lsiobase/alpine.arm64:3.8
2-
3-
# Add qemu to build on x86_64 systems
4-
COPY qemu-aarch64-static /usr/bin
1+
FROM lsiobase/alpine:arm64v8-3.8
52

63
# set version label
74
ARG BUILD_DATE

Dockerfile.armhf

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
FROM lsiobase/alpine.armhf:3.8
2-
3-
# Add qemu to build on x86_64 systems
4-
COPY qemu-arm-static /usr/bin
1+
FROM lsiobase/alpine:arm32v7-3.8
52

63
# set version label
74
ARG BUILD_DATE

Jenkinsfile

Lines changed: 61 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ pipeline {
120120
script{
121121
env.IMAGE = env.DOCKERHUB_IMAGE
122122
if (env.MULTIARCH == 'true') {
123-
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v6-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
123+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
124124
} else {
125125
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
126126
}
@@ -138,7 +138,7 @@ pipeline {
138138
script{
139139
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
140140
if (env.MULTIARCH == 'true') {
141-
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v6-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
141+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
142142
} else {
143143
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
144144
}
@@ -156,7 +156,7 @@ pipeline {
156156
script{
157157
env.IMAGE = env.PR_DOCKERHUB_IMAGE
158158
if (env.MULTIARCH == 'true') {
159-
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v6-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
159+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
160160
} else {
161161
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
162162
}
@@ -166,6 +166,35 @@ pipeline {
166166
}
167167
}
168168
}
169+
// Run ShellCheck
170+
stage('ShellCheck') {
171+
when {
172+
environment name: 'CI', value: 'true'
173+
}
174+
steps {
175+
withCredentials([
176+
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
177+
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
178+
]) {
179+
script{
180+
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
181+
}
182+
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
183+
sh '''#! /bin/bash
184+
set -e
185+
docker pull lsiodev/spaces-file-upload:latest
186+
docker run --rm \
187+
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
188+
-e FILE_NAME="shellcheck-result.xml" \
189+
-e MIMETYPE="text/xml" \
190+
-v ${WORKSPACE}:/mnt \
191+
-e SECRET_KEY=\"${DO_SECRET}\" \
192+
-e ACCESS_KEY=\"${DO_KEY}\" \
193+
-t lsiodev/spaces-file-upload:latest \
194+
python /upload.py'''
195+
}
196+
}
197+
}
169198
// Use helper containers to render templated files
170199
stage('Update-Templates') {
171200
when {
@@ -240,7 +269,7 @@ pipeline {
240269
environment name: 'EXIT_STATUS', value: ''
241270
}
242271
steps {
243-
sh "docker build --no-cache -t ${IMAGE}:${META_TAG} \
272+
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
244273
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
245274
}
246275
}
@@ -253,7 +282,7 @@ pipeline {
253282
parallel {
254283
stage('Build X86') {
255284
steps {
256-
sh "docker build --no-cache -t ${IMAGE}:amd64-${META_TAG} \
285+
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
257286
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
258287
}
259288
}
@@ -276,13 +305,13 @@ pipeline {
276305
'''
277306
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static"
278307
sh "chmod +x qemu-*"
279-
sh "docker build --no-cache -f Dockerfile.armhf -t ${IMAGE}:arm32v6-${META_TAG} \
308+
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
280309
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
281-
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
282-
sh "docker push lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
310+
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
311+
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
283312
sh '''docker rmi \
284-
${IMAGE}:arm32v6-${META_TAG} \
285-
lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} '''
313+
${IMAGE}:arm32v7-${META_TAG} \
314+
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} '''
286315
}
287316
}
288317
}
@@ -305,7 +334,7 @@ pipeline {
305334
'''
306335
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static"
307336
sh "chmod +x qemu-*"
308-
sh "docker build --no-cache -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
337+
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
309338
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
310339
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
311340
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
@@ -335,13 +364,13 @@ pipeline {
335364
fi
336365
if [ "${DIST_IMAGE}" == "alpine" ]; then
337366
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
338-
apk info > packages && \
339-
apk info -v > versions && \
340-
paste -d " " packages versions > /tmp/package_versions.txt && \
367+
apk info -v > /tmp/package_versions.txt && \
368+
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
341369
chmod 777 /tmp/package_versions.txt'
342370
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
343371
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
344-
apt list -qq --installed | cut -d" " -f1-2 > /tmp/package_versions.txt && \
372+
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
373+
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
345374
chmod 777 /tmp/package_versions.txt'
346375
fi
347376
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
@@ -421,9 +450,9 @@ pipeline {
421450
set -e
422451
docker pull lsiodev/ci:latest
423452
if [ "${MULTIARCH}" == "true" ]; then
424-
docker pull lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}
453+
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
425454
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
426-
docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG}
455+
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
427456
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
428457
fi
429458
docker run --rm \
@@ -500,38 +529,38 @@ pipeline {
500529
'''
501530
sh '''#! /bin/bash
502531
if [ "${CI}" == "false" ]; then
503-
docker pull lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}
532+
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
504533
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
505-
docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG}
534+
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
506535
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
507536
fi'''
508537
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
509-
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm32v6-latest"
538+
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
510539
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
511540
sh "docker push ${IMAGE}:amd64-${META_TAG}"
512-
sh "docker push ${IMAGE}:arm32v6-${META_TAG}"
541+
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
513542
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
514543
sh "docker push ${IMAGE}:amd64-latest"
515-
sh "docker push ${IMAGE}:arm32v6-latest"
544+
sh "docker push ${IMAGE}:arm32v7-latest"
516545
sh "docker push ${IMAGE}:arm64v8-latest"
517546
sh "docker manifest push --purge ${IMAGE}:latest || :"
518-
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v6-latest ${IMAGE}:arm64v8-latest"
519-
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v6-latest --os linux --arch arm"
547+
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
548+
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm"
520549
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
521550
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
522-
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
523-
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v6-${META_TAG} --os linux --arch arm"
551+
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
552+
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
524553
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
525554
sh "docker manifest push --purge ${IMAGE}:latest"
526555
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
527556
sh '''docker rmi \
528557
${IMAGE}:amd64-${META_TAG} \
529558
${IMAGE}:amd64-latest \
530-
${IMAGE}:arm32v6-${META_TAG} \
531-
${IMAGE}:arm32v6-latest \
559+
${IMAGE}:arm32v7-${META_TAG} \
560+
${IMAGE}:arm32v7-latest \
532561
${IMAGE}:arm64v8-${META_TAG} \
533562
${IMAGE}:arm64v8-latest \
534-
lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} \
563+
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
535564
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
536565
}
537566
}
@@ -602,7 +631,7 @@ pipeline {
602631
}
603632
steps {
604633
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
605-
-d '{"body": "I am a bot, here are the test results for this PR '${CI_URL}'"}' '''
634+
-d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' '''
606635
}
607636
}
608637
}
@@ -617,12 +646,12 @@ pipeline {
617646
}
618647
else if (currentBuild.currentResult == "SUCCESS"){
619648
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
620-
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
649+
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
621650
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
622651
}
623652
else {
624653
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
625-
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
654+
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
626655
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
627656
}
628657
}

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ Find us at:
1212
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
1313
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
1414
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
15-
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
1615

1716
# [linuxserver/oscam](https://github.com/linuxserver/docker-oscam)
1817
[![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
@@ -39,7 +38,7 @@ The architectures supported by this image are:
3938
| :----: | --- |
4039
| x86-64 | amd64-latest |
4140
| arm64 | arm64v8-latest |
42-
| armhf | arm32v6-latest |
41+
| armhf | arm32v7-latest |
4342

4443

4544
## Usage
@@ -183,6 +182,7 @@ Below are the instructions for updating containers:
183182

184183
## Versions
185184

185+
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
186186
* **19.02.19:** - Add pipeline logic and multi arch, rebase to Alpine 3.8.
187187
* **03.01.18:** - Deprecate cpu_core routine lack of scaling.
188188
* **13.12.17:** - Rebase to alpine 3.7.

readme-vars.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ project_blurb_optional_extras_enabled: false
1212
available_architectures:
1313
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
1414
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
15-
- { arch: "{{ arch_armhf }}", tag: "arm32v6-latest"}
15+
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
1616

1717
# development version
1818
development_versions: false
@@ -73,6 +73,7 @@ app_setup_block: |
7373
7474
# changelog
7575
changelogs:
76+
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
7677
- { date: "19.02.19:", desc: "Add pipeline logic and multi arch, rebase to Alpine 3.8." }
7778
- { date: "03.01.18:", desc: "Deprecate cpu_core routine lack of scaling." }
7879
- { date: "13.12.17:", desc: "Rebase to alpine 3.7." }

0 commit comments

Comments
 (0)