mirror of
https://github.com/minoplhy/deployment.git
synced 2025-04-21 10:46:56 +00:00
88 lines
2.9 KiB
YAML
88 lines
2.9 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=${NGINX_TAG}"
|
|
shell: alpine.sh {0}
|
|
|
|
- name: Run nginx Builds
|
|
run: |
|
|
build_sh='echo "${NGINX_TAG}"
|
|
TAGS=("vanilla" "allstar" "lua" "modsecurity")
|
|
OPTIONS=(
|
|
"--type=nginx"
|
|
"--lua --modsecurity --type=nginx"
|
|
"--lua --type=nginx"
|
|
"--modsecurity --type=nginx"
|
|
)
|
|
|
|
RUNNING_PATH=$(pwd)
|
|
echo "RUNNING PATH: ${RUNNING_PATH}" # This output where in the system is running
|
|
echo "HOME PATH: ${HOME}"
|
|
|
|
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
|
|
case "${TAGS[$i]}" in
|
|
"allstar")
|
|
TAR_PATH="$TAR_PATH /opt/nginx-lua-module /usr/local/lua /usr/local/modsecurity"
|
|
;;
|
|
"lua")
|
|
TAR_PATH="$TAR_PATH /opt/nginx-lua-module /usr/local/lua"
|
|
;;
|
|
"modsecurity")
|
|
TAR_PATH="$TAR_PATH /usr/local/modsecurity"
|
|
;;
|
|
esac
|
|
|
|
# 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
|