Skip to content

chore(CI): Test more engines and ColdBox versions #23

chore(CI): Test more engines and ColdBox versions

chore(CI): Test more engines and ColdBox versions #23

Workflow file for this run

name: Release
on:
push:
branches:
- main
- master
jobs:
tests:
name: Tests
if: "!contains(github.event.head_commit.message, '__SEMANTIC RELEASE VERSION UPDATE__')"
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
cfengine: ["lucee@5", "adobe@2018", "adobe@2021", "adobe@2023"]
coldbox: ["coldbox@6", "coldbox@7"]
services:
postgres:
image: postgres:12
env:
POSTGRES_USER: cfmigrations_testing
POSTGRES_PASSWORD: cfmigrations_testing
POSTGRES_DB: cfmigrations_testing
ports:
- 5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Setup Java JDK
uses: actions/setup-java@v1.4.3
with:
java-version: 11
- name: Set Up CommandBox
uses: elpete/setup-commandbox@v1.0.0
- name: Initial Server Start (so lex extensions are picked up)
env:
DB_HOST: localhost
DB_PORT: ${{ job.services.postgres.ports[5432] }}
DB_NAME: cfmigrations_testing
DB_USER: cfmigrations_testing
DB_PASSWORD: cfmigrations_testing
run: |
box config set modules.commandbox-dotenv.checkEnvPreServerStart=false
box server start cfengine=${{ matrix.cfengine }}
sleep 30
- name: Install dependencies
run: |
box install
box install ${{ matrix.coldbox }} --noSave
- name: Restart server (so extensions are picked up)
env:
DB_HOST: localhost
DB_PORT: ${{ job.services.postgres.ports[5432] }}
DB_NAME: cfmigrations_testing
DB_USER: cfmigrations_testing
DB_PASSWORD: cfmigrations_testing
run: |
box server restart
sleep 30
- name: Run TestBox Tests
env:
DB_HOST: localhost
DB_PORT: ${{ job.services.postgres.ports[5432] }}
DB_NAME: cfmigrations_testing
DB_USER: cfmigrations_testing
DB_PASSWORD: cfmigrations_testing
run: box testbox run
release:
name: Semantic Release
if: "!contains(github.event.head_commit.message, '__SEMANTIC RELEASE VERSION UPDATE__')"
needs: tests
runs-on: ubuntu-latest
env:
GA_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Java JDK
uses: actions/setup-java@v1.4.3
with:
java-version: 11
- name: Set Up CommandBox
uses: elpete/setup-commandbox@v1.0.0
- name: Install and Configure Semantic Release
run: |
box install commandbox-semantic-release
box config set endpoints.forgebox.APIToken=${{ secrets.FORGEBOX_TOKEN }}
box config set modules.commandbox-semantic-release.targetBranch=main
box config set modules.commandbox-semantic-release.plugins='{ "VerifyConditions": "GitHubActionsConditionsVerifier@commandbox-semantic-release", "FetchLastRelease": "ForgeBoxReleaseFetcher@commandbox-semantic-release", "RetrieveCommits": "JGitCommitsRetriever@commandbox-semantic-release", "ParseCommit": "ConventionalChangelogParser@commandbox-semantic-release", "FilterCommits": "DefaultCommitFilterer@commandbox-semantic-release", "AnalyzeCommits": "DefaultCommitAnalyzer@commandbox-semantic-release", "VerifyRelease": "NullReleaseVerifier@commandbox-semantic-release", "GenerateNotes": "GitHubMarkdownNotesGenerator@commandbox-semantic-release", "UpdateChangelog": "FileAppendChangelogUpdater@commandbox-semantic-release", "CommitArtifacts": "NullArtifactsCommitter@commandbox-semantic-release", "PublishRelease": "ForgeBoxReleasePublisher@commandbox-semantic-release", "PublicizeRelease": "GitHubReleasePublicizer@commandbox-semantic-release" }'
- name: Run Semantic Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: box semantic-release