Bump library/alpine from 3.19.4 to 3.21.1 #343
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
pull_request: | |
push: | |
workflow_dispatch: | |
jobs: | |
build_bases: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
version: ["latest", "stable", "legacy"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: FranzDiebold/[email protected] | |
- name: Set Humhub version | |
run: | | |
HUMHUB_VERSION="$(awk -e '$0 ~ /^([0-9\.]+) [0-9\.]+ ${{ matrix.version }}/ {print $1}' versions.txt)" | |
export HUMHUB_VERSION | |
echo "HUMHUB_VERSION=$HUMHUB_VERSION" >> "$GITHUB_ENV" | |
- name: Build and push docker image | |
run: | | |
docker build \ | |
--build-arg HUMHUB_VERSION="${HUMHUB_VERSION}" \ | |
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \ | |
--build-arg BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \ | |
--target base \ | |
-t "ghcr.io/${CI_REPOSITORY_OWNER_SLUG}/humhub:${CI_REF_NAME_SLUG}-${HUMHUB_VERSION}-base" \ | |
. | |
docker save "ghcr.io/${CI_REPOSITORY_OWNER_SLUG}/humhub:${CI_REF_NAME_SLUG}-${HUMHUB_VERSION}-base" | gzip > build-${{ matrix.version }}.tar.gz | |
- name: Upload image archive | |
uses: actions/[email protected] | |
with: | |
name: build-${{ matrix.version }} | |
path: build-${{ matrix.version }}.tar.gz | |
build_variants: | |
needs: build_bases | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
version: ["latest", "stable", "legacy"] | |
target: ["allinone", "nginx", "phponly"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: FranzDiebold/[email protected] | |
- name: Set Humhub version | |
run: | | |
HUMHUB_VERSION=$(awk -e '$0 ~ /^([0-9\.]+) [0-9\.]+ ${{ matrix.version }}/ {print $1}' versions.txt) | |
export HUMHUB_VERSION | |
echo "HUMHUB_VERSION=$HUMHUB_VERSION" >> "$GITHUB_ENV" | |
- name: Download image archive | |
uses: actions/[email protected] | |
with: | |
name: build-${{ matrix.version }} | |
- name: Build and push docker image | |
run: | | |
docker load --input build-${{ matrix.version }}.tar.gz | |
docker build \ | |
--build-arg HUMHUB_VERSION="${HUMHUB_VERSION}" \ | |
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \ | |
--target "humhub_${{ matrix.target }}" \ | |
-t "ghcr.io/${CI_REPOSITORY_OWNER_SLUG}/humhub:${CI_REF_NAME_SLUG}-${HUMHUB_VERSION}-${{ matrix.target }}" \ | |
. | |
docker save "ghcr.io/${CI_REPOSITORY_OWNER_SLUG}/humhub:${CI_REF_NAME_SLUG}-${HUMHUB_VERSION}-${{ matrix.target }}" | gzip > "build-${{ matrix.version }}-${{ matrix.target }}.tar.gz" | |
- name: Upload image archive | |
uses: actions/[email protected] | |
with: | |
name: build-${{ matrix.version }}-${{ matrix.target }} | |
path: build-${{ matrix.version }}-${{ matrix.target }}.tar.gz | |
test_aio: | |
needs: build_variants | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
version: ["latest", "stable", "legacy"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: FranzDiebold/[email protected] | |
- name: Set Humhub version | |
run: | | |
HUMHUB_VERSION=$(awk -e '$0 ~ /^([0-9\.]+) [0-9\.]+ ${{ matrix.version }}/ {print $1}' versions.txt) | |
export HUMHUB_VERSION | |
echo "HUMHUB_VERSION=$HUMHUB_VERSION" >> "$GITHUB_ENV" | |
- name: Download image archive | |
uses: actions/[email protected] | |
with: | |
name: build-${{ matrix.version }}-allinone | |
- name: Load images | |
run: | | |
docker load --input build-${{ matrix.version }}-allinone.tar.gz | |
- name: replace image | |
run: sed -i "s/docker.io\/mriedmann\/humhub:latest/ghcr.io\/${CI_REPOSITORY_OWNER_SLUG}\/humhub:${CI_REF_NAME_SLUG}-${HUMHUB_VERSION}-allinone/g" docker-compose.yml | |
- name: Spin up services | |
run: docker compose -f docker-compose.yml up -d | |
- name: Wait | |
run: sleep 60 | |
- name: Check status | |
run: docker ps -a | |
- name: Logs | |
run: docker compose logs | |
- name: Test | |
run: curl http://localhost:8080/ -L --fail && curl http://localhost:8080/ -L --fail -s | grep 'Sign in</button>' -q | |
- name: Test Email | |
run: docker compose exec -T humhub php /var/www/localhost/htdocs/protected/yii test/email '[email protected]' | grep 'Message successfully sent!' -q | |
test_prod: | |
needs: build_variants | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
version: ["latest", "stable", "legacy"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: FranzDiebold/[email protected] | |
- name: Set Humhub version | |
run: | | |
HUMHUB_VERSION=$(awk -e '$0 ~ /^([0-9\.]+) [0-9\.]+ ${{ matrix.version }}/ {print $1}' versions.txt) | |
export HUMHUB_VERSION | |
echo "HUMHUB_VERSION=$HUMHUB_VERSION" >> "$GITHUB_ENV" | |
- name: Download image archive (phponly) | |
uses: actions/[email protected] | |
with: | |
name: build-${{ matrix.version }}-phponly | |
- name: Download image archive (nginx) | |
uses: actions/[email protected] | |
with: | |
name: build-${{ matrix.version }}-nginx | |
- name: Load images | |
run: | | |
docker load --input build-${{ matrix.version }}-phponly.tar.gz | |
docker load --input build-${{ matrix.version }}-nginx.tar.gz | |
- name: replace image | |
run: | | |
sed -i "s/docker.io\/mriedmann\/humhub:stable-nginx/ghcr.io\/${CI_REPOSITORY_OWNER_SLUG}\/humhub:${CI_REF_NAME_SLUG}-${HUMHUB_VERSION}-nginx/g" docker-compose.prod.yml | |
sed -i "s/docker.io\/mriedmann\/humhub:stable-phponly/ghcr.io\/${CI_REPOSITORY_OWNER_SLUG}\/humhub:${CI_REF_NAME_SLUG}-${HUMHUB_VERSION}-phponly/g" docker-compose.prod.yml | |
- name: Spin up services | |
run: docker compose -f docker-compose.prod.yml up -d | |
- name: Wait | |
run: sleep 60 | |
- name: Check status | |
run: docker ps -a | |
- name: Logs | |
run: docker compose logs | |
- name: Test | |
run: curl http://localhost:8080/ -L --fail && curl http://localhost:8080/ -L --fail -s | grep 'Sign in</button>' -q | |
- name: Test Email | |
run: docker compose exec -T humhub php /var/www/localhost/htdocs/protected/yii test/email '[email protected]' | grep 'Message successfully sent!' -q | |
push_ghcr: | |
needs: ["test_aio", "test_prod"] | |
runs-on: ubuntu-latest | |
if: ${{ github.ref == 'refs/heads/master' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: ["latest", "stable", "legacy"] | |
target: ["allinone", "nginx", "phponly"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: FranzDiebold/[email protected] | |
- name: Login to registry | |
run: echo "${{ secrets.PAT }}" | docker login ghcr.io --username "${CI_REPOSITORY_OWNER_SLUG}" --password-stdin | |
- name: Set Humhub version | |
run: | | |
HUMHUB_VERSION=$(awk -e '$0 ~ /^([0-9\.]+) [0-9\.]+ ${{ matrix.version }}/ {print $1}' versions.txt) | |
export HUMHUB_VERSION | |
echo "HUMHUB_VERSION=$HUMHUB_VERSION" >> "$GITHUB_ENV" | |
- name: Download image archive | |
uses: actions/[email protected] | |
with: | |
name: build-${{ matrix.version }}-${{ matrix.target }} | |
- name: Load, retag and Push images | |
run: | | |
docker load --input build-${{ matrix.version }}-${{ matrix.target }}.tar.gz | |
docker tag "ghcr.io/${CI_REPOSITORY_OWNER_SLUG}/humhub:${CI_REF_NAME_SLUG}-${HUMHUB_VERSION}-${{ matrix.target }}" "ghcr.io/${CI_REPOSITORY_OWNER_SLUG}/humhub-${{ matrix.target }}:${HUMHUB_VERSION}" | |
docker push "ghcr.io/${CI_REPOSITORY_OWNER_SLUG}/humhub-${{ matrix.target }}:${HUMHUB_VERSION}" | |