Files
docker-minidlna/.github/workflows/build.yml
2025-08-24 12:36:01 +07:00

76 lines
3.2 KiB
YAML

# This is a basic workflow to help you get started with Actions
name: Auto-CI
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "master" branch
# push:
# branches:
# - '**' # every branch
# - '!stayactive' # except stayactive
# pull_request:
# branches: [ "master" ]
# schedule:
# UTC time 3:00 = 5:00 CET
# - cron: '30 3 * * 6'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
stayactive:
runs-on: ubuntu-latest
steps:
- name: clone-update-push-delete
env:
PRIVKEY: ${{ secrets.PRIVKEY }}
run: |
# convert privkey to valid openssh privkey
echo "$PRIVKEY" | tr ' ' '\n' > $GITHUB_WORKSPACE/customkey.orig
echo -n > $GITHUB_WORKSPACE/customkey
# first line
cat $GITHUB_WORKSPACE/customkey.orig | head -n4 | tr '\n' ' ' | sed 's@ $@\n@g' >> $GITHUB_WORKSPACE/customkey
# key content
cat $GITHUB_WORKSPACE/customkey.orig | egrep -iv '(----|end|begin|openssh|private)' >> $GITHUB_WORKSPACE/customkey
# last line
cat $GITHUB_WORKSPACE/customkey.orig | tail -n-4 | tr '\n' ' ' | sed 's@ $@\n@g' >> $GITHUB_WORKSPACE/customkey
# permission fix
chmod 600 $GITHUB_WORKSPACE/customkey
# git ssh param export
export GIT_SSH_COMMAND="ssh -i $GITHUB_WORKSPACE/customkey -o StrictHostKeyChecking=no"
# debug
#cat $GITHUB_WORKSPACE/customkey | base64
echo "Github repo: $GITHUB_REPOSITORY"
git clone git@github.com:$GITHUB_REPOSITORY.git $GITHUB_WORKSPACE/code || { echo "git clone error"; exit 1; }
cd $GITHUB_WORKSPACE/code || { echo "folder change problem"; exit 1; }
git branch stayactive
git checkout stayactive
date >> status.txt
git config user.name $GITHUB_REPOSITORY_OWNER
git config user.email automation@dummy
git add status.txt
git commit -m "stay active"
git push origin stayactive:stayactive || { echo "Stayactive branch push error"; exit 1; }
git push origin -d stayactive || { echo "Stayactive branch delete error"; exit 1; }
build-amd64:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- name: build image - AMD64
run: |
docker build --rm -t croc/minidlna . || { echo "docker image build failed - amd64"; exit 1; }
docker images croc/minidlna
- name: push container
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }}
run: |
echo "$DOCKERHUB_PASS" | docker login --username=$DOCKERHUB_USER --password-stdin
docker images | grep -iw minidlna
# push latest images
docker push croc/minidlna