Compare commits

...

10 Commits

Author SHA1 Message Date
felegy
62c899cf30 Update php => 8.1
Some checks failed
Docker image build / Pack Build and Publish! (push) Has been cancelled
2024-08-01 10:59:09 +00:00
felegy
e46679dc00 Fix Build 2024-08-01 10:47:22 +00:00
felegy
3a9afdfb61 ALLOW_EOL_SHIMMED_BUILDER 2024-08-01 10:41:25 +00:00
felegy
f269d0a667 Update builder and stack heroku-22 2024-08-01 10:38:35 +00:00
felegy
30a7228a1b Upgrade 2024-08-01 10:09:12 +00:00
felegy
20ad4c8ede + ADD s3 sync 2022-08-30 08:29:50 +02:00
Gabor FELEGYHAZI
4ec8bdc471 Update docker-publish.yml 2022-06-29 15:00:36 +02:00
Gabor FELEGYHAZI
3dfc077095 Update docker-publish.yml 2022-06-29 14:56:46 +02:00
Gabor FELEGYHAZI
03a937b7a2 Update Procfile 2022-06-29 14:14:24 +02:00
Gabor FELEGYHAZI
278d120310 Update docker-publish.yml 2022-06-29 13:54:13 +02:00
8 changed files with 1641 additions and 1076 deletions

View File

59
.dev/ops/s3-sync.sh Executable file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env bash
set -e
USAGE="sync-s3-uploads.sh <source env> <target env>"
MY_PATH="`dirname \"$0\"`"
UPLOADS_DIR="$(cd "$MY_PATH" && cd "../../web/app/uploads" && pwd)"
AWS_ACCESS_KEY_ID=$(heroku config:get AWS_ACCESS_KEY_ID)
export AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=$(heroku config:get AWS_SECRET_ACCESS_KEY)
export AWS_SECRET_ACCESS_KEY
AWS_REGION=$(heroku config:get AWS_REGION)
export AWS_REGION
USE_CDN=$(heroku config:get USE_CDN)
USE_CDN=${USE_CDN-false}
BLOG_SLUG=$(heroku config:get BLOG_SLUG)
BLOG_SLUG=${BLOG_SLUG-hvg-blog}
if [[ $USE_CDN == true ]]; then
FOLDER="$BLOG_SLUG/uploads"
else
FOLDER="uploads"
fi
# Check args
if [ -z "$1" ] || [ -z "$2" ]; then
echo $USAGE >&2;
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1;
fi
# Get bucket urls
if [[ $1 == 'local' ]]; then
SOURCE_URL=$UPLOADS_DIR
else
SOURCE_URL=s3://`heroku config:get BUCKET_NAME -r $1`/$FOLDER;
fi;
if [[ $2 == 'local' ]]; then
TARGET_URL=$UPLOADS_DIR
else
TARGET_URL=s3://`heroku config:get BUCKET_NAME -r $2`/$FOLDER;
fi;
echo "You are about to copy all files from $SOURCE_URL to $TARGET_URL";
read -p "Are you sure you want to do this? (y/n)
";
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1;
fi
# Use aws-cli to synchronize buckets
aws s3 sync $SOURCE_URL $TARGET_URL
echo "Success!"
exit 0

View File

@@ -15,9 +15,7 @@ on:
branches: [ "main" ]
env:
PACK_VERSION: "0.27.0"
YQ_VERSION: "4.25.3"
JQ_VERSION: "1.6"
DESCRIPTION: "HVG Blog Wordpress Heroku App Image https://hvgblog.hu"
COMPOSER_AUTH: "{\"github-oauth\":{\"github.com\":\"${{ secrets.HVG_DEV_GH_TOKEN }}\"}}"
jobs:
@@ -27,7 +25,7 @@ jobs:
steps:
- uses: actions/checkout@v1
- uses: andrioid/setup-pack@v1.0.1
- uses: buildpacks/github-actions/setup-pack@v4.8.0
- name: Docker registry login
uses: docker/login-action@v1
with:
@@ -43,57 +41,16 @@ jobs:
tag="${GITHUB_REF#tags/*/}";
[[ $tag == '' ]] || tag="${year}.${day}.${{ github.run_number }}";
echo "TAG=$tag" >> $GITHUB_ENV;
- name: Setup Pack
run: |
echo "Installing pack ${PACK_VERSION}"
mkdir -p "${PWD}/bin"
curl \
--show-error \
--silent \
--location \
--fail \
--retry 3 \
--connect-timeout 5 \
--max-time 60 \
"https://github.com/buildpacks/pack/releases/download/v${PACK_VERSION}/pack-v${PACK_VERSION}-linux.tgz" \
| tar -C "${PWD}/bin" -xz pack
- name: Setup YQ
run: |
echo "Installing yq ${YQ_VERSION}"
curl \
--show-error \
--silent \
--location \
--fail \
--retry 3 \
--connect-timeout 5 \
--max-time 60 \
"https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64.tar.gz" \
| tar -C "${PWD}/bin" --transform='flags=r;s|yq_linux_amd64|yq|' -xz --wildcards 'yq'
- name: Setup JQ
run: |
echo "Installing jq ${JQ_VERSION}"
mkdir -p "${PWD}/bin"
curl \
--show-error \
--silent \
--location \
--fail \
--retry 3 \
--connect-timeout 5 \
--max-time 60 \
-o "${PWD}/bin/jq"
"https://github.com/stedolan/jq/releases/download/jq-${JQ_VERSION}/jq-${JQ_VERSION}.tar.gz"
chmod +x "${PWD}/bin/jq"
- name: Build Image with pack
run: |
[[ ! -z $(bin/yq e '. | keys' Procfile | cut -c 3- | grep bash) ]] \
[[ ! -z $(yq e '. | keys' Procfile | cut -c 3- | grep bash) ]] \
|| echo 'bash: bash -l' >> Procfile
bin/pack build "ghcr.io/hvg/blog:$TAG" \
--builder heroku/buildpacks:20 \
pack build "ghcr.io/hvg/blog:$TAG" \
--builder heroku/builder-classic:22 \
--descriptor project.toml \
--workspace /app \
--env COMPOSER_AUTH=$COMPOSER_AUTH;
--env COMPOSER_AUTH=$COMPOSER_AUTH \
--env ALLOW_EOL_SHIMMED_BUILDER=1;
- name: Tag Docker image to ref
run: |
docker tag ghcr.io/hvg/blog:$TAG ghcr.io/hvg/blog:$REF

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash
alias d-composer="docker-compose run --rm wordpress composer"
alias d-wp="docker-compose run --rm wordpress wp"
alias d-s3-sync="docker-compose run --rm wordpress .dev/ops/s3-sync.sh"
alias d-heroku="docker-compose run --rm --entrypoint=heroku wordpress"
alias d-bash="docker-compose run --rm --entrypoint=bash wordpress -l"
alias dc-build="docker-compose build --pull --no-cache"

View File

@@ -10,6 +10,10 @@ function d-wp {
dc run --rm wordpress wp $args
}
function d-s3-sync {
dc run --rm wordpress .dev/ops/s3-sync.sh $args
}
function d-heroku {
dc run --rm --entrypoint=heroku wordpress $args
}

View File

@@ -1,2 +1 @@
web: PHP_INI_SCAN_DIR=${PHP_INI_SCAN_DIR-:/app/config/php.d} heroku-php-nginx -C config/nginx.conf web
bash: bash -l

View File

@@ -39,7 +39,7 @@
}
],
"require": {
"php": ">=7.4 <8.1",
"php": ">=7.4 <8.2",
"ext-gd": "*",
"ext-redis": "*",
"ext-mbstring": "*",

2593
composer.lock generated

File diff suppressed because it is too large Load Diff