17 Commits
Author SHA1 Message Date
wayfinderak 7024630106 Add Portainer deployment files
Build and Push Container / docker (push) Successful in 27m36s
2026-05-07 13:55:20 -08:00
wayfinderak 3b0bf0866a Migrate deployment to Gitea Actions and Portainer
Build and Push Container / docker (push) Successful in 24m19s
2026-03-22 11:43:22 -08:00
Dustin Pianalto c611065fde Update registry
CI / build (push) Has been cancelled
2021-10-05 23:47:29 -08:00
Dustin Pianalto abd16f30cf Import os
CI / build (push) Has been cancelled
2021-10-02 18:34:18 -08:00
Dustin Pianalto edf3126f84 Update deployment and action
CI / build (push) Has been cancelled
2021-10-02 18:28:05 -08:00
Dustin Pianalto 68055b45ce Update actions
CI / build (push) Has been cancelled
2021-02-18 23:30:10 -09:00
Dustin Pianalto fabddd00a2 Add member join and remove logging
CI / build (push) Has been cancelled
2021-02-18 23:18:20 -09:00
Dustin Pianalto 33e1552ce1 Initial DO workflow test
CI / build (push) Has been cancelled
2021-01-13 01:02:53 -09:00
Dustin Pianalto d81af99e36 Add method to move links to link channel
CI / build (push) Has been cancelled
2020-12-12 00:43:23 -09:00
Dustin Pianalto 70cf457e6f Add method to move links to link channel
CI / build (push) Has been cancelled
2020-12-12 00:35:27 -09:00
Dustin Pianalto 311497086e Change name of event handler
CI / build (push) Has been cancelled
2020-11-18 23:05:05 -09:00
Dustin Pianalto f41bd63fcd Add case where there is a / after ref 2020-11-18 21:11:44 -09:00
Dustin Pianalto d3388aadc7 Fix bug related to www
CI / build (push) Has been cancelled
2020-11-14 01:24:28 -09:00
Dustin Pianalto 7e39589e09 Use user's nick if exists
CI / build (push) Has been cancelled
2020-11-14 01:14:34 -09:00
Dustin Pianalto 9a1f56b2f0 Add github actions
CI / build (push) Has been cancelled
2020-11-14 00:46:51 -09:00
Dustin Pianalto 7b63fbeaf6 Add base structure and url webhook logic 2020-11-14 00:42:37 -09:00
Dusty.P 98dfe5455a Initial commit 2020-11-13 15:00:42 -09:00
7 changed files with 14 additions and 100 deletions
-5
View File
@@ -1,5 +0,0 @@
# Service release contract
Butler resolves this repository's protected source revision to verified immutable images. The platform updates only image references in the existing production Compose file and restarts only the already running application services. It preserves current environment, storage, routes, and provider configuration. It retains previous application images and restores them if readiness fails.
Migration and maintenance images are pinned when declared, but this release operation does not run database migrations or maintenance jobs. A release requiring a schema change needs the corresponding explicit platform migration first. No homelab image-pin commit is required for an ordinary compatible application release.
-12
View File
@@ -1,12 +0,0 @@
{
"version": 1,
"deployment": "prepbot-release",
"environment": "production",
"images": {
"prepbot_release_prepbot_image": {
"name": "prepbot",
"tag": "sha-{revision}"
}
},
"revision_variable": "prepbot_release_revision"
}
+9 -37
View File
@@ -3,66 +3,42 @@ name: Build and Push Container
on:
push:
branches:
- master
- main
tags:
- v*
workflow_dispatch: null
pull_request:
branches:
- main
workflow_dispatch:
env:
REGISTRY: gitea.wayfinderak.com
IMAGE_NAME: wayfinderak/prepbot
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number
|| github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
docker:
runs-on: butler-ci
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
- name: Select relevant delivery work
id: delivery
env:
DELIVERY_EVENT: ${{ github.event_name }}
DELIVERY_REF: ${{ github.ref }}
DELIVERY_SHA: ${{ github.sha }}
DELIVERY_BASE: ${{ github.event.pull_request.base.sha || github.event.before }}
run: |
cd .
bash scripts/ci-select.sh
- name: Set up QEMU
if: ${{ steps.delivery.outputs.run == 'true' }}
uses: https://github.com/docker/setup-qemu-action@v3
with:
cache-image: "false"
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
if: ${{ steps.delivery.outputs.run == 'true' }}
uses: https://github.com/docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v3
- name: Log in to Gitea registry
if: ${{ (steps.delivery.outputs.run == 'true') && github.event_name != 'pull_request' }}
uses: https://github.com/docker/login-action@v3
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Prepare image tags
if: ${{ steps.delivery.outputs.run == 'true' }}
id: prep
shell: bash
run: |
short_sha="${GITHUB_SHA::7}"
tags="${REGISTRY}/${IMAGE_NAME}:sha-${short_sha}"
tags+=$'\n'"${REGISTRY}/${IMAGE_NAME}:sha-${GITHUB_SHA}"
if [[ "${GITHUB_REF_TYPE}" == "branch" && ("${GITHUB_REF_NAME}" == "master" || "${GITHUB_REF_NAME}" == "main") ]]; then
tags+=$'\n'"${REGISTRY}/${IMAGE_NAME}:latest"
@@ -80,13 +56,9 @@ jobs:
} >> "$GITHUB_OUTPUT"
- name: Build and push image
if: ${{ steps.delivery.outputs.run == 'true' }}
uses: https://github.com/docker/build-push-action@v6
env:
DOCKER_BUILD_RECORD_UPLOAD: "false"
uses: docker/build-push-action@v6
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.prep.outputs.tags }}
labels: org.opencontainers.image.revision=${{ github.sha }}
-2
View File
@@ -15,5 +15,3 @@
# vendor/
.env
portainer-app.env
+3
View File
@@ -0,0 +1,3 @@
DISCORD_TOKEN=Nzc2OTU2MjM0OTg0OTgwNTAw.X68a4Q.G-Wjgmq7fFk61Stq_lVPb73ULyU
LINK_CHANNEL=784855106239332352
CHAT_CHANNEL=777679317878177804
-3
View File
@@ -1,3 +0,0 @@
DISCORD_TOKEN=replace-me
LINK_CHANNEL=replace-me
CHAT_CHANNEL=replace-me
-39
View File
@@ -1,39 +0,0 @@
#!/usr/bin/env bash
# Keep required jobs alive; only skip reviewed non-runtime documentation paths.
set -euo pipefail
base="${DELIVERY_BASE:-}"
head="$(git rev-parse HEAD)"
run=true
if [[ "${DELIVERY_REF:-}" != refs/tags/* && "$head" == "${DELIVERY_SHA:-}" && "${DELIVERY_EVENT:-}" =~ ^(push|pull_request)$ && "$base" =~ ^[0-9a-f]{40}$ && "$base" != 0000000000000000000000000000000000000000 ]]; then
if ! git cat-file -e "$base^{commit}" 2>/dev/null; then
if [[ -n "${DELIVERY_FETCH_TOKEN:-}" ]]; then
git -c "http.extraHeader=Authorization: token ${DELIVERY_FETCH_TOKEN}" fetch --quiet --depth=1 origin "$base" >/dev/null 2>&1 || true
else
git fetch --quiet --depth=1 origin "$base" >/dev/null 2>&1 || true
fi
fi
if git cat-file -e "$base^{commit}" 2>/dev/null; then
paths="$(mktemp)"
trap 'rm -f -- "$paths"' EXIT
# Snapshot comparison is conservative when main advanced during a PR.
# Both rename sides remain visible, including names containing newlines.
if git diff --no-renames --name-only -z "$base" "$head" > "$paths"; then
run=false
while IFS= read -r -d '' path; do
case "$path" in
README.md|CHANGELOG.md|LICENSE|LICENSE.md) ;;
*) run=true; break ;;
esac
done < "$paths"
fi
fi
fi
if [[ "$run" == false ]]; then
echo 'Only reviewed non-runtime documentation changed; build and validation are not applicable.'
else
echo 'Runtime, unknown inputs, or unavailable event history: run required validation.'
fi
if [[ -n "${GITHUB_OUTPUT:-}" ]]; then
echo "run=$run" >> "$GITHUB_OUTPUT"
fi
printf '%s\n' "$run"