Skip to content

chore: sync CHANGELOG.md + VERSION (v3.9.1) from FileRise #405

chore: sync CHANGELOG.md + VERSION (v3.9.1) from FileRise

chore: sync CHANGELOG.md + VERSION (v3.9.1) from FileRise #405

Workflow file for this run

---
name: CI/CD Pipeline
on:
push:
branches: [main]
paths:
- 'VERSION'
- 'CHANGELOG.md'
- '.github/workflows/main.yml'
- 'Dockerfile'
- 'app/**'
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout filerise-docker
uses: actions/checkout@v4
- name: Read version
id: ver
shell: bash
run: |
set -euo pipefail
if [[ -f VERSION ]]; then
V="$(tr -d '[:space:]' < VERSION)"
if [[ -n "$V" ]]; then
echo "version=$V" >> "$GITHUB_OUTPUT"
else
echo "VERSION file is empty"; exit 1
fi
else
echo "VERSION file not found"; exit 1
fi
- name: Checkout FileRise code
uses: actions/checkout@v4
with:
repository: error311/FileRise
token: ${{ secrets.GITHUB_TOKEN }}
path: app
- name: Ensure stamper is executable
shell: bash
run: |
set -euo pipefail
test -f app/scripts/stamp-assets.sh || { echo "stamper missing at app/scripts/stamp-assets.sh"; exit 1; }
# Normalize CRLF if present (e.g. edited on Windows)
sed -i 's/\r$//' app/scripts/stamp-assets.sh || true
chmod +x app/scripts/stamp-assets.sh
- name: Stamp app assets inside build context
shell: bash
run: |
set -euo pipefail
VER="${{ steps.ver.outputs.version }}"
# Call via bash to avoid relying on exec bit
bash app/scripts/stamp-assets.sh "${VER}" "$(pwd)/app"
- name: Verify placeholders are gone (app/)
shell: bash
run: |
set -euo pipefail
if grep -R -n "{{APP_QVER}}\|{{APP_VER}}" app \
--include='*.html' --include='*.php' --include='*.css' --include='*.js' 2>/dev/null; then
echo "ERROR: Found unreplaced placeholders above in app/."
exit 1
fi
echo "OK: No unreplaced placeholders in app/."
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./app
file: ./app/Dockerfile
push: true
platforms: linux/amd64,linux/arm64
tags: |
error311/filerise-docker:latest
error311/filerise-docker:${{ steps.ver.outputs.version }}
labels: |
org.opencontainers.image.title=FileRise
org.opencontainers.image.version=${{ steps.ver.outputs.version }}
cache-from: type=gha
cache-to: type=gha,mode=max
provenance: false
sbom: false