Cache policies LRU error (#590) #14
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
# This workflow is used to build releases | |
# It can also be called by other workflows to reuse the release flow. | |
name: ColdBox Release | |
on: | |
# If you push to master|main this will trigger a stable release | |
push: | |
branches: | |
- master | |
- main | |
# Reusable workflow : Usually called by a `snapshot` workflow | |
workflow_call: | |
inputs: | |
snapshot: | |
description: 'Is this a snapshot build?' | |
required: false | |
default: false | |
type: boolean | |
# Manual Trigger for LTS Releases | |
workflow_dispatch: | |
inputs: | |
lts: | |
description: 'The LTS marker' | |
required: false | |
default: true | |
type: boolean | |
env: | |
SNAPSHOT: ${{ inputs.snapshot || false }} | |
LTS: ${{ inputs.lts || false }} | |
jobs: | |
############################################# | |
# Build Snapshot or Final Release | |
############################################# | |
build: | |
name: Build & Publish Release | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: "11" | |
- name: Setup CommandBox | |
uses: Ortus-Solutions/setup-commandbox@v2.0.1 | |
with: | |
forgeboxAPIKey: ${{ secrets.FORGEBOX_API_TOKEN }} | |
- name: Setup Environment Variables For Build Process | |
id: current_version | |
run: | | |
echo "COLDBOX_VERSION=`cat box.json | jq '.version' -r`" >> $GITHUB_ENV | |
box package set version=@build.version@+@build.number@ | |
# master or snapshot | |
echo "Github Ref is $GITHUB_REF" | |
echo "BRANCH=master" >> $GITHUB_ENV | |
if [ $GITHUB_REF == 'refs/heads/development' ] | |
then | |
echo "BRANCH=development" >> $GITHUB_ENV | |
fi | |
- name: Install Dependencies | |
run: | | |
cd apidocs && box install | |
- name: Update changelog [unreleased] with latest version | |
uses: thomaseizinger/keep-a-changelog-new-release@1.3.0 | |
if: env.SNAPSHOT == 'false' | |
with: | |
changelogPath: ./changelog.md | |
tag: v${{ env.COLDBOX_VERSION }} | |
- name: Build ColdBox Variants for ${{ env.BRANCH }} v${{ env.COLDBOX_VERSION }} | |
run: | | |
# Fix changelog markdown | |
npm install -g markdownlint-cli | |
markdownlint changelog.md --fix | |
# Startup the server for API Docs mostly. | |
box server start serverConfigFile="server-lucee@5.json" --debug | |
# Run the task | |
box task run build/Build.cfc run ${{ env.COLDBOX_VERSION }} ${{ github.run_number }} ${{ env.BRANCH }} | |
- name: Commit Changelog [unreleased] with latest version | |
uses: EndBug/add-and-commit@v9.1.1 | |
if: env.SNAPSHOT == 'false' | |
with: | |
author_name: Github Actions | |
author_email: info@ortussolutions.com | |
message: 'Finalized changelog for v${{ env.COLDBOX_VERSION }}' | |
add: changelog.md | |
- name: Tag Version | |
uses: rickstaa/action-create-tag@v1.6.1 | |
if: env.SNAPSHOT == 'false' | |
with: | |
tag: "v${{ env.COLDBOX_VERSION }}" | |
force_push_tag: true | |
message: "Latest Release v${{ env.COLDBOX_VERSION }}" | |
- name: Upload Build Artifacts | |
if: success() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: coldbox-variants | |
path: | | |
.artifacts/**/* | |
changelog.md | |
- name: Upload Binaries to S3 | |
uses: jakejarvis/s3-sync-action@master | |
with: | |
args: --acl public-read | |
env: | |
AWS_S3_BUCKET: "downloads.ortussolutions.com" | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_ACCESS_SECRET }} | |
SOURCE_DIR: ".artifacts" | |
DEST_DIR: "ortussolutions" | |
- name: Upload API Docs to S3 | |
uses: jakejarvis/s3-sync-action@master | |
with: | |
args: --acl public-read | |
env: | |
AWS_S3_BUCKET: "apidocs.ortussolutions.com" | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_ACCESS_SECRET }} | |
SOURCE_DIR: ".tmp/apidocs" | |
DEST_DIR: "" | |
- name: Publish | |
run: | | |
ROOT_DIR=`pwd` | |
cd $ROOT_DIR/.artifacts/coldbox/${{ env.COLDBOX_VERSION }} && box forgebox publish | |
cd $ROOT_DIR/.artifacts/cachebox/${{ env.COLDBOX_VERSION }} && box forgebox publish | |
cd $ROOT_DIR/.artifacts/wirebox/${{ env.COLDBOX_VERSION }} && box forgebox publish | |
cd $ROOT_DIR/.artifacts/logbox/${{ env.COLDBOX_VERSION }} && box forgebox publish | |
- name: Create Github Release | |
uses: taiki-e/create-gh-release-action@v1.6.2 | |
continue-on-error: true | |
if: env.SNAPSHOT == 'false' | |
with: | |
title: ${{ env.COLDBOX_VERSION }} | |
changelog: changelog.md | |
token: ${{ secrets.GITHUB_TOKEN }} | |
ref: refs/tags/v${{ env.COLDBOX_VERSION }} | |
- name: Inform Slack | |
if: ${{ always() }} | |
uses: rtCamp/action-slack-notify@v2 | |
env: | |
SLACK_CHANNEL: coding | |
SLACK_COLOR: ${{ job.status }} # or a specific color like 'green' or '#ff00ff' | |
SLACK_ICON_EMOJI: ":bell:" | |
SLACK_MESSAGE: 'ColdBox ${{ env.COLDBOX_VERSION }} Built with ${{ job.status }}!' | |
SLACK_TITLE: "ColdBox Build" | |
SLACK_USERNAME: CI | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} | |
########################################################################################## | |
# Prep Next Release | |
########################################################################################## | |
prep_next_release: | |
name: Prep Next Release | |
if: github.ref != 'refs/heads/development' | |
runs-on: ubuntu-20.04 | |
needs: [ build ] | |
steps: | |
- name: Checkout Development Repository | |
uses: actions/checkout@v3 | |
if: env.LTS == 'false' | |
with: | |
ref: development | |
- name: Checkout LTS Repository | |
uses: actions/checkout@v3 | |
if: env.LTS == 'true' | |
- name: Setup CommandBox | |
uses: Ortus-Solutions/setup-commandbox@v2.0.1 | |
with: | |
forgeboxAPIKey: ${{ secrets.FORGEBOX_TOKEN }} | |
- name: Download build artifacts | |
uses: actions/download-artifact@v2 | |
with: | |
name: coldbox-variants | |
path: .tmp | |
- name: Copy Changelog | |
run: | | |
cp .tmp/changelog.md changelog.md | |
- name: Bump Version | |
run: | | |
if [ $LTS == 'true' ] | |
then | |
box bump --patch --!TagVersion | |
else | |
box bump --minor --!TagVersion | |
fi | |
git pull | |
- name: Commit Version Bump | |
uses: EndBug/add-and-commit@v9.1.1 | |
with: | |
author_name: Github Actions | |
author_email: info@ortussolutions.com | |
message: 'Version bump' | |
add: | | |
box.json | |
changelog.md |