Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .github/workflows/_build-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,19 @@ on:
required: false
type: boolean
default: false
push-images:
description: "Push images to registries"
required: false
type: boolean
default: true
secrets:
DOCKERHUB_USERNAME:
required: true
DOCKERHUB_TOKEN:
required: true

jobs:
build-and-push-app:
build:
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down Expand Up @@ -61,7 +66,7 @@ jobs:
with:
context: .
file: ./Dockerfile
push: true
push: ${{ inputs.push-images }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: ${{ inputs.enable-cache && 'type=gha' || '' }}
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/_build-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,19 @@ on:
required: false
type: boolean
default: false
push-images:
description: "Push images to registries"
required: false
type: boolean
default: true
secrets:
DOCKERHUB_USERNAME:
required: true
DOCKERHUB_TOKEN:
required: true

jobs:
build-and-push-builder:
build:
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down Expand Up @@ -61,7 +66,7 @@ jobs:
with:
context: ./plugins/builder
file: ./plugins/builder/Dockerfile
push: true
push: ${{ inputs.push-images }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: ${{ inputs.enable-cache && 'type=gha' || '' }}
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/_upload-scripts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Upload Scripts (Reusable)

on:
workflow_call:
secrets:
SCRIPTS_BUCKET_ACCOUNT_ID:
required: true
SCRIPTS_BUCKET_ACCESS_KEY_ID:
required: true
SCRIPTS_BUCKET_SECRET_ACCESS_KEY:
required: true
SCRIPTS_BUCKET_NAME:
required: true

jobs:
upload:
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Extract version from tag
id: version
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
else
VERSION="latest"
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT

- name: Replace version placeholder in YAML files
run: |
sed -i "s|{{.App.Version}}|${{ steps.version.outputs.version }}|g" ./scripts/install/cloudness-app.yaml

- name: Upload Script files
uses: ryand56/r2-upload-action@latest
with:
r2-account-id: ${{ secrets.SCRIPTS_BUCKET_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.SCRIPTS_BUCKET_ACCESS_KEY_ID }}
r2-secret-access-key: ${{ secrets.SCRIPTS_BUCKET_SECRET_ACCESS_KEY }}
r2-bucket: ${{ secrets.SCRIPTS_BUCKET_NAME }}
source-dir: ./scripts/install
destination-dir: ./
3 changes: 2 additions & 1 deletion .github/workflows/cloudness-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ env:
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-app:
build-cloudness-app:
name: Cloudness App
permissions:
contents: read
packages: write
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/cloudness-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ env:
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-builder:
build-cloudness-builder:
name: Builder Plugin
permissions:
contents: read
packages: write
Expand Down
44 changes: 12 additions & 32 deletions .github/workflows/cloudness-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ env:
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-app:
build-cloudness-app:
name: Cloudness App
permissions:
contents: read
packages: write
Expand All @@ -23,7 +24,8 @@ jobs:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

build-and-push-builder:
build-cloudness-builder:
name: Builder Plugin
permissions:
contents: read
packages: write
Expand All @@ -35,35 +37,13 @@ jobs:
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

upload-scripts:
runs-on: ubuntu-latest
needs: [build-and-push-app, build-and-push-builder]
name: Upload Scripts
needs: [build-cloudness-app, build-cloudness-builder]
permissions:
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Extract version from tag
id: version
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
else
VERSION="latest"
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT

- name: Replace version placeholder in YAML files
run: |
sed -i "s|{{.App.Version}}|${{ steps.version.outputs.version }}|g" ./scripts/install/cloudness-app.yaml

- name: Upload Script files
uses: ryand56/r2-upload-action@latest
with:
r2-account-id: ${{ secrets.SCRIPTS_BUCKET_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.SCRIPTS_BUCKET_ACCESS_KEY_ID }}
r2-secret-access-key: ${{ secrets.SCRIPTS_BUCKET_SECRET_ACCESS_KEY }}
r2-bucket: ${{ secrets.SCRIPTS_BUCKET_NAME }}
source-dir: ./scripts/install
destination-dir: ./
uses: ./.github/workflows/_upload-scripts.yml
secrets:
SCRIPTS_BUCKET_ACCOUNT_ID: ${{ secrets.SCRIPTS_BUCKET_ACCOUNT_ID }}
SCRIPTS_BUCKET_ACCESS_KEY_ID: ${{ secrets.SCRIPTS_BUCKET_ACCESS_KEY_ID }}
SCRIPTS_BUCKET_SECRET_ACCESS_KEY: ${{ secrets.SCRIPTS_BUCKET_SECRET_ACCESS_KEY }}
SCRIPTS_BUCKET_NAME: ${{ secrets.SCRIPTS_BUCKET_NAME }}
33 changes: 33 additions & 0 deletions .github/workflows/pr-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: PR Validation

on:
pull_request:
branches:
- main

jobs:
validate-app:
name: Validate App
permissions:
contents: read
packages: read
uses: ./.github/workflows/_build-app.yml
with:
enable-cache: true
push-images: false
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

validate-builder:
name: Validate Builder
permissions:
contents: read
packages: read
uses: ./.github/workflows/_build-builder.yml
with:
enable-cache: true
push-images: false
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}