name: freenginx Mega Build run-name: freenginx Build on: push: tags: - freenginx-* jobs: build_nginx: runs-on: [ubuntu-latest] steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up environment variables run: | TAG_NAME=${GITHUB_REF##*/} NGINX_TAG=${TAG_NAME#freenginx-} echo "NGINX_TAG=${NGINX_TAG}" >> $GITHUB_ENV echo "NGINX_TAG=${NGINX_TAG}" TAGS=("vanilla" "allstar" "lua" "modsecurity") OPTIONS=( "--type=freenginx" "--lua --modsecurity --type=freenginx" "--lua --type=freenginx" "--modsecurity --type=freenginx" ) echo "TAGS=${TAGS[*]}" >> $GITHUB_ENV echo "OPTIONS=${OPTIONS[*]}" >> $GITHUB_ENV - name: Run freenginx Builds run: | #!/bin/bash echo "This Task will be run using the following tag: ${NGINX_TAG}" for i in ${!TAGS[@]}; do 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 tar czvf freenginx-${NGINX_TAG}-${TAGS[$i]}.tar.gz $TAR_PATH done - name: Release uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: body: | "freenginx Successfully build on -> ${{ env.NGINX_TAG }}" token: ${{ secrets.DEPLOYMENT_TOKEN }} files: freenginx-*.tar.gz