update to write-freely v0.15.0
Build Container Image / build_amd64 (push) Successful in 2m22s Details
Build Container Image / build_i386 (push) Successful in 2m23s Details
Build Container Image / build_arm64 (push) Successful in 10m10s Details
Build Container Image / build_armhf (push) Successful in 49m48s Details
Build Container Image / build_manifest (push) Successful in 51s Details

This commit is contained in:
Daniel Wolf 2024-03-08 17:01:31 -05:00
parent 7e52a15c6c
commit b20c85f16a
Signed by: nephatrine
GPG Key ID: 59D70EC2E4AAB4D0
3 changed files with 120 additions and 109 deletions

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2023 Daniel Wolf <nephatrine@gmail.com>
# SPDX-FileCopyrightText: 2023 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
@ -14,14 +14,9 @@ jobs:
runs-on: nephnet-amd64
steps:
- name: Checkout Repository
uses: https://gitea.com/actions/checkout@v3
- name: Docker Build
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-master}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-amd64-gocache --target builder1 ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-amd64-jscache --target builder2 ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-amd64 ${{ gitea.workspace }}
uses: https://gitea.com/actions/checkout@v4
- name: BuildX Setup
uses: https://github.com/docker/setup-buildx-action@v3
- name: Docker Login
uses: https://github.com/docker/login-action@v3
if: gitea.ref_name == 'master' || gitea.ref_name == ''
@ -29,12 +24,27 @@ jobs:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
- name: Build & Push (Master)
uses: https://github.com/docker/build-push-action@v5
if: gitea.ref_name == 'master' || gitea.ref_name == ''
run: docker push code.nephatrine.net/nephnet/write-freely:master-amd64
with:
context: .
platforms: linux/amd64
provenance: false
pull: true
push: true
tags: code.nephatrine.net/nephnet/write-freely:latest-amd64
cache-from: type=registry,ref=code.nephatrine.net/nephnet/write-freely-cache:latest-amd64
cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=code.nephatrine.net/nephnet/write-freely-cache:latest-amd64,mode=max
- name: Build & Push (Branch)
if: gitea.ref_name != 'master' && gitea.ref_name != ''
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-unknown}
docker buildx build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-latest-amd64 --platform linux/amd64 ${{ gitea.workspace }}
- name: Notify Discord
uses: https://github.com/sarisia/actions-status-discord@v1
if: failure()
if: failure() || gitea.event_name != 'schedule'
with:
title: "Container Build (X86_64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
@ -43,14 +53,9 @@ jobs:
runs-on: nephnet-i386
steps:
- name: Checkout Repository
uses: https://gitea.com/actions/checkout@v3
- name: Docker Build
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-master}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-i386-gocache --target builder1 --platform linux/386 ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-i386-jscache --target builder2 --platform linux/386 ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-i386 --platform linux/386 ${{ gitea.workspace }}
uses: https://gitea.com/actions/checkout@v4
- name: BuildX Setup
uses: https://github.com/docker/setup-buildx-action@v3
- name: Docker Login
uses: https://github.com/docker/login-action@v3
if: gitea.ref_name == 'master' || gitea.ref_name == ''
@ -58,12 +63,27 @@ jobs:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
- name: Build & Push (Master)
uses: https://github.com/docker/build-push-action@v5
if: gitea.ref_name == 'master' || gitea.ref_name == ''
run: docker push code.nephatrine.net/nephnet/write-freely:master-i386
with:
context: .
platforms: linux/386
provenance: false
pull: true
push: true
tags: code.nephatrine.net/nephnet/write-freely:latest-i386
cache-from: type=registry,ref=code.nephatrine.net/nephnet/write-freely-cache:latest-i386
cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=code.nephatrine.net/nephnet/write-freely-cache:latest-i386,mode=max
- name: Build & Push (Branch)
if: gitea.ref_name != 'master' && gitea.ref_name != ''
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-unknown}
docker buildx build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-latest-i386 --platform linux/386 ${{ gitea.workspace }}
- name: Notify Discord
uses: https://github.com/sarisia/actions-status-discord@v1
if: failure()
if: failure() || gitea.event_name != 'schedule'
with:
title: "Container Build (I686)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
@ -72,14 +92,9 @@ jobs:
runs-on: nephnet-arm64
steps:
- name: Checkout Repository
uses: https://gitea.com/actions/checkout@v3
- name: Docker Build
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-master}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-arm64v8-gocache --target builder1 ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-arm64v8-jscache --target builder2 ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-arm64v8 ${{ gitea.workspace }}
uses: https://gitea.com/actions/checkout@v4
- name: BuildX Setup
uses: https://github.com/docker/setup-buildx-action@v3
- name: Docker Login
uses: https://github.com/docker/login-action@v3
if: gitea.ref_name == 'master' || gitea.ref_name == ''
@ -87,81 +102,73 @@ jobs:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
- name: Build & Push (Master)
uses: https://github.com/docker/build-push-action@v5
if: gitea.ref_name == 'master' || gitea.ref_name == ''
run: docker push code.nephatrine.net/nephnet/write-freely:master-arm64v8
with:
context: .
platforms: linux/arm64/v8
provenance: false
pull: true
push: true
tags: code.nephatrine.net/nephnet/write-freely:latest-arm64
cache-from: type=registry,ref=code.nephatrine.net/nephnet/write-freely-cache:latest-arm64
cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=code.nephatrine.net/nephnet/write-freely-cache:latest-arm64,mode=max
- name: Build & Push (Branch)
if: gitea.ref_name != 'master' && gitea.ref_name != ''
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-unknown}
docker buildx build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-latest-arm64 --platform linux/arm64/v8 ${{ gitea.workspace }}
- name: Notify Discord
uses: https://github.com/sarisia/actions-status-discord@v1
if: failure()
if: failure() || gitea.event_name != 'schedule'
with:
title: "Container Build (AARCH64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
build_manifest:
if: gitea.ref_name == 'master' || gitea.ref_name == ''
needs: [build_amd64, build_i386, build_arm64]
runs-on: nephnet
build_armhf:
if: gitea.repository_owner == 'NephNET' && (!contains(gitea.event.head_commit.message, '#noci') || gitea.event_name == 'schedule')
runs-on: nephnet-armhf
steps:
- name: Checkout Repository
uses: https://gitea.com/actions/checkout@v4
- name: BuildX Setup
uses: https://github.com/docker/setup-buildx-action@v3
- name: Docker Login
uses: https://github.com/docker/login-action@v3
if: gitea.ref_name == 'master' || gitea.ref_name == ''
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Manifest
- name: Build & Push (Master)
uses: https://github.com/docker/build-push-action@v5
if: gitea.ref_name == 'master' || gitea.ref_name == ''
with:
context: .
platforms: linux/arm/v7
provenance: false
pull: true
push: true
tags: code.nephatrine.net/nephnet/write-freely:latest-armv7
cache-from: type=registry,ref=code.nephatrine.net/nephnet/write-freely-cache:latest-armv7
cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=code.nephatrine.net/nephnet/write-freely-cache:latest-armv7,mode=max
- name: Build & Push (Branch)
if: gitea.ref_name != 'master' && gitea.ref_name != ''
run: |
docker manifest create code.nephatrine.net/nephnet/write-freely:latest --amend code.nephatrine.net/nephnet/write-freely:master-amd64 --amend code.nephatrine.net/nephnet/write-freely:master-i386 --amend code.nephatrine.net/nephnet/write-freely:master-arm64v8
docker manifest push --purge code.nephatrine.net/nephnet/write-freely:latest
publish_amd64:
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-unknown}
docker buildx build --pull -t code.nephatrine.net/nephnet/write-freely:${BRANCH}-latest-armv7 --platform linux/arm/v7 ${{ gitea.workspace }}
- name: Notify Discord
uses: https://github.com/sarisia/actions-status-discord@v1
if: failure() || gitea.event_name != 'schedule'
with:
title: "Container Build (ARMV7L)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
build_manifest:
if: gitea.ref_name == 'master' || gitea.ref_name == ''
needs: [build_amd64]
needs: [build_amd64, build_i386, build_arm64, build_armhf]
runs-on: nephnet-amd64
steps:
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Push
run: |
docker pull code.nephatrine.net/nephnet/write-freely:master-amd64
docker tag code.nephatrine.net/nephnet/write-freely:master-amd64 nephatrine/write-freely:latest-amd64
docker push nephatrine/write-freely:latest-amd64
docker rmi nephatrine/write-freely:latest-amd64
publish_i386:
if: gitea.ref_name == 'master' || gitea.ref_name == ''
needs: [build_i386]
runs-on: nephnet-i386
steps:
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Push
run: |
docker pull code.nephatrine.net/nephnet/write-freely:master-i386
docker tag code.nephatrine.net/nephnet/write-freely:master-i386 nephatrine/write-freely:latest-i386
docker push nephatrine/write-freely:latest-i386
docker rmi nephatrine/write-freely:latest-i386
publish_arm64:
if: gitea.ref_name == 'master' || gitea.ref_name == ''
needs: [build_arm64]
runs-on: nephnet-arm64
steps:
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Push
run: |
docker pull code.nephatrine.net/nephnet/write-freely:master-arm64v8
docker tag code.nephatrine.net/nephnet/write-freely:master-arm64v8 nephatrine/write-freely:latest-arm64v8
docker push nephatrine/write-freely:latest-arm64v8
docker rmi nephatrine/write-freely:latest-arm64v8
publish_manifest:
needs: [publish_amd64, publish_i386, publish_arm64]
runs-on: nephnet
steps:
- name: Check Base Image
if: gitea.event_name == 'schedule'
@ -171,21 +178,19 @@ jobs:
base-image: nephatrine/alpine-s6:latest
image: nephatrine/write-freely:latest
platforms: linux/amd64
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Manifest
run: |
docker manifest create nephatrine/write-freely:0.14.0 --amend nephatrine/write-freely:latest-amd64 --amend nephatrine/write-freely:latest-i386 --amend nephatrine/write-freely:latest-arm64v8
docker manifest create nephatrine/write-freely:0.14 --amend nephatrine/write-freely:latest-amd64 --amend nephatrine/write-freely:latest-i386 --amend nephatrine/write-freely:latest-arm64v8
docker manifest create nephatrine/write-freely:0 --amend nephatrine/write-freely:latest-amd64 --amend nephatrine/write-freely:latest-i386 --amend nephatrine/write-freely:latest-arm64v8
docker manifest create nephatrine/write-freely:latest --amend nephatrine/write-freely:latest-amd64 --amend nephatrine/write-freely:latest-i386 --amend nephatrine/write-freely:latest-arm64v8
docker manifest push --purge nephatrine/write-freely:0.14.0
docker manifest push --purge nephatrine/write-freely:0.14
docker manifest push --purge nephatrine/write-freely:0
docker manifest push --purge nephatrine/write-freely:latest
run: docker buildx imagetools create -t code.nephatrine.net/nephnet/write-freely:latest -t nephatrine/write-freely:latest -t nephatrine/write-freely:0.15.0 -t nephatrine/write-freely:0.15 -t nephatrine/write-freely:0 code.nephatrine.net/nephnet/write-freely:latest-amd64 code.nephatrine.net/nephnet/write-freely:latest-i386 code.nephatrine.net/nephnet/write-freely:latest-arm64 code.nephatrine.net/nephnet/write-freely:latest-armv7
- name: Notify Discord
if: gitea.event_name != 'schedule' || steps.checkbase.outputs.needs-updating == 'true'
uses: https://github.com/sarisia/actions-status-discord@v1
@ -195,10 +200,16 @@ jobs:
nodetail: true
webhook: ${{ secrets.DISCORD_WEBHOOK_PACKAGE }}
- name: Checkout Repository
uses: https://gitea.com/actions/checkout@v3
uses: https://gitea.com/actions/checkout@v4
- name: Docker Describe
uses: https://github.com/peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
repository: nephatrine/write-freely
- name: Notify Discord
uses: https://github.com/sarisia/actions-status-discord@v1
if: failure()
with:
title: "Container Publish"
webhook: ${{ secrets.DISCORD_WEBHOOK_PACKAGE }}

View File

@ -1,19 +1,19 @@
# SPDX-FileCopyrightText: 2023 Daniel Wolf <nephatrine@gmail.com>
# SPDX-FileCopyrightText: 2023 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
FROM nephatrine/nxbuilder:golang AS builder1
FROM code.nephatrine.net/nephnet/nxb-golang:latest AS builder1
ARG WRITEFREELY_VERSION=v0.14.0
ARG WRITEFREELY_VERSION=v0.15.0
RUN git -C /root clone -b "$WRITEFREELY_VERSION" --single-branch --depth=1 https://github.com/writefreely/writefreely.git
RUN echo "====== COMPILE WRITEFREELY BACKEND ======" \
&& cd /root/writefreely \
&& make -j$(( $(getconf _NPROCESSORS_ONLN) / 2 + 1 )) build \
&& cmd/writefreely/writefreely config generate
FROM nephatrine/nxbuilder:alpine AS builder2
FROM code.nephatrine.net/nephnet/nxb-alpine:latest AS builder2
ARG WRITEFREELY_VERSION=v0.14.0
ARG WRITEFREELY_VERSION=v0.15.0
COPY --from=builder1 /root/writefreely/ /root/writefreely/
ARG NODE_OPTIONS=--openssl-legacy-provider
@ -22,13 +22,13 @@ RUN echo "====== COMPILE WRITEFREELY FRONTEND ======" \
&& sed -i 's/sudo //g' less/install-less.sh && less/install-less.sh \
&& make -j$(( $(getconf _NPROCESSORS_ONLN) / 2 + 1 )) ui
FROM nephatrine/alpine-s6:latest
FROM code.nephatrine.net/nephnet/alpine-s6:latest
LABEL maintainer="Daniel Wolf <nephatrine@gmail.com>"
RUN echo "====== INSTALL PACKAGES ======" \
&& apk add --no-cache sqlite
ENV WRITEFREELY_VERSION=1400
ENV WRITEFREELY_VERSION=1500
COPY --from=builder2 /root/writefreely/cmd/writefreely/writefreely /usr/bin/
COPY --from=builder2 /root/writefreely/config.ini /etc/writefreely.ini.sample
COPY --from=builder2 /root/writefreely/static/ /var/www/writefreely/static/

View File

@ -1,5 +1,5 @@
<!--
SPDX-FileCopyrightText: 2023 Daniel Wolf <nephatrine@gmail.com>
SPDX-FileCopyrightText: 2023 - 2024 Daniel Wolf <nephatrine@gmail.com>
SPDX-License-Identifier: ISC
-->
@ -12,7 +12,7 @@ SPDX-License-Identifier: ISC
This docker image contains a WriteFreely server to self-host your own blog(s).
The `latest` tag points to version `0.14.0` and this is the only image actively
The `latest` tag points to version `0.15.0` and this is the only image actively
being updated. There are tags for older versions, but these may no longer be
using the latest Alpine version and packages.