mirror-deployment/.github/workflows/alpine-nginx-build.yaml
2025-01-12 11:46:41 +07:00

70 lines
2.2 KiB
YAML

name: nginx Mega Build
run-name: nginx Build
on:
push:
tags:
- alpine-nginx-*
workflow_dispatch:
jobs:
build_nginx:
runs-on: [ubuntu-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup latest Alpine Linux
uses: jirutka/setup-alpine@v1
- name: Run script inside Alpine chroot as root
run: |
apk add curl bash bash-completion
shell: alpine.sh --root {0}
- name: Set up environment variables
run: |
TAG_NAME=${GITHUB_REF##*/}
NGINX_TAG=${TAG_NAME#alpine-nginx-}
#echo "NGINX_TAG=${NGINX_TAG}" >> $GITHUB_ENV
echo "NGINX_TAG=release-1.27.3" >> $GITHUB_ENV
echo "NGINX_TAG=${NGINX_TAG}"
shell: alpine.sh {0}
- name: Run nginx Builds
run: |
build_sh='echo "${NGINX_TAG}"
TAGS="vanilla"
OPTIONS="--type=nginx"
for i in ${!TAGS[@]}; do
echo "This Task will be run using the following tag: ${NGINX_TAG}"
echo "This Task will be run using the following version: ${TAGS[$i]}"
echo "This Task will be run using the following options: ${OPTIONS[$i]}"
curl https://raw.githubusercontent.com/minoplhy/scriptbox/main/nginx_build_script/build.sh | bash -s -- --nginx-tag=${NGINX_TAG} ${OPTIONS[$i]}
# Prepare tar file paths
HOMEDIRECTORY=~/nginx_scriptbox
TAR_PATH="$HOMEDIRECTORY/nginx/objs" # Base Path
# Create the tarball
echo "pre-TARing infoiirmation:"
echo "TAR path: ${TAR_PATH}"
echo "TAR name: alpine-nginx-${NGINX_TAG}-${TAGS[$i]}.tar.gz"
tar czvf alpine-nginx-${NGINX_TAG}-${TAGS[$i]}.tar.gz $TAR_PATH
done'
echo "$build_sh" > build.sh
bash build.sh
shell: alpine.sh --root {0}
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
body: |
"nginx Successfully build on -> ${{ env.NGINX_TAG }}"
token: ${{ secrets.DEPLOYMENT_TOKEN }}
files: alpine-nginx-*.tar.gz