Skip to content

fix build number assignments #39

fix build number assignments

fix build number assignments #39

Workflow file for this run

name: Logstash
# Only on Development we build snapshots
on:
push:
branches:
- development
- main
env:
MODULE_ID: logstash
jobs:
tests:
uses: ./.github/workflows/tests.yml
secrets:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
#############################################
# Build Logstash
#############################################
build:
name: Build & Publish
runs-on: ubuntu-20.04
needs: tests
steps:
- name: Checkout Repository
uses: actions/[email protected]
with:
fetch-depth: 0
- name: Setup Java
uses: actions/[email protected]
with:
distribution: "temurin"
java-version: "11"
- name: Setup CommandBox
uses: Ortus-Solutions/[email protected]
with:
forgeboxAPIKey: ${{ secrets.FORGEBOX_TOKEN }}
- name: Setup Environment Variables For Build Process
id: current_version
run: |
echo "VERSION=`cat box.json | jq '.version' -r`" >> $GITHUB_ENV
box package set [email protected]@[email protected]@
# main or snapshot
echo "Github Ref is $GITHUB_REF"
echo "BRANCH=main" >> $GITHUB_ENV
if [ $GITHUB_REF == 'refs/heads/development' ]
then
echo "BRANCH=development" >> $GITHUB_ENV
fi
- name: Update changelog [unreleased] with latest version
uses: thomaseizinger/[email protected]
if: github.ref == 'refs/heads/main'
with:
changelogPath: ./changelog.md
tag: v${{ env.VERSION }}
- name: Build ${{ env.MODULE_ID }}
run: |
cd test-harness && box install && cd ../
box install commandbox-docbox
box task run taskfile=build/Build target=run :version=${{ env.VERSION }} :projectName=${{ env.MODULE_ID }} :buildID=${{ github.run_number }} :branch=${{ env.BRANCH }}
- name: Commit Changelog To Master
uses: EndBug/[email protected]
if: github.ref == 'refs/heads/main'
with:
author_name: Github Actions
author_email: [email protected]
message: 'Finalized changelog for v${{ env.VERSION }}'
add: changelog.md
- name: Tag Version
uses: rickstaa/[email protected]
if: github.ref == 'refs/heads/main'
with:
tag: "v${{ env.VERSION }}"
force_push_tag: true
message: "Latest Release v${{ env.VERSION }}"
- name: Upload Build Artifacts
if: success()
uses: actions/upload-artifact@v4
with:
name: ${{ env.MODULE_ID }}
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/${{ env.MODULE_ID }}"
DEST_DIR: "ortussolutions/coldbox-modules/${{ env.MODULE_ID }}"
- 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: "coldbox-modules/${{ env.MODULE_ID }}/${{ env.VERSION }}"
- name: Publish To ForgeBox
run: |
cd ${GITHUB_WORKSPACE}/.tmp/${{ env.MODULE_ID }}
cat box.json
box forgebox publish
- 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: '${{ env.MODULE_ID }} Built with ${{ job.status }}!'
SLACK_TITLE: "${{ env.MODULE_ID }} 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/main'
runs-on: ubuntu-20.04
needs: [ build ]
steps:
# Checkout development
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: development
- name: Setup CommandBox
uses: Ortus-Solutions/[email protected]
with:
forgeboxAPIKey: ${{ secrets.FORGEBOX_TOKEN }}
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: ${{ env.MODULE_ID }}
path: .tmp
# Copy the changelog to the development branch
- name: Copy Changelog
run: |
cp .tmp/changelog.md changelog.md
# Bump to next version
- name: Bump Version
run: |
box bump --patch --!TagVersion
# Commit it back to development
- name: Commit Version Bump
uses: EndBug/[email protected]
with:
author_name: Github Actions
author_email: [email protected]
message: 'Version bump [ci skip]'
add: |
box.json
changelog.md