repositoryUrl: "https://github.com/apricote/Listory" branches: - "main" - { name: "beta", prerelease: true } - { name: "alpha", prerelease: true } plugins: - "@semantic-release/commit-analyzer" - "@semantic-release/release-notes-generator" - "@semantic-release/changelog" - - "@semantic-release/npm" - npmPublish: false - - "@semantic-release/exec" - prepareCmd: | # Build Docker Container # Build now but dont push; this validates that the image builds # successfully and we can later re-use the cached build results to # push in "publish" stage docker buildx build \ -t apricote/listory \ --build-arg VERSION=${nextRelease.version} \ --build-arg GIT_COMMIT=`git rev-parse HEAD` \ --platform=linux/amd64,linux/arm64 \ . # Update version in Helm Chart CHART_FILE=charts/listory/Chart.yaml sed -i \ -e "s/version: .*/version: ${nextRelease.version}/g" \ -e "s/appVersion: .*/appVersion: ${nextRelease.version}/g" \ $CHART_FILE # Package Helm Chart mkdir .helm-chart helm package charts/listory --destination .helm-charts # Update version in prod docker compose sed -i \ -e "s/apricote\/listory:.*/apricote\/listory:${nextRelease.version}/g" \ docker-compose.prod.yml publishCmd: | # Build (with cache) & push Docker Images docker buildx build \ -t apricote/listory:${nextRelease.version} \ -t apricote/listory:latest \ --build-arg VERSION=${nextRelease.version} \ --build-arg GIT_COMMIT=`git rev-parse HEAD` \ --platform=linux/amd64,linux/arm64 \ --push \ - - "@semantic-release/git" - assets: - CHANGELOG.md - package.json - package-lock.json - charts/listory/Chart.yaml - docker-compose.prod.yml - - "@semantic-release/github" - assets: - path: .helm-charts/listory-*.tgz label: Helm Chart